#At file:///G:/bzr/bug39194/
2815 Vladislav Vaintroub 2008-09-11 [merge]
merge
removed:
mysql-test/suite/falcon/r/falcon_select_excerpt.result
mysql-test/suite/falcon/t/falcon_select_excerpt.test
added:
mysql-test/suite/falcon/r/falcon_bug_22207-big.result
mysql-test/suite/falcon/r/falcon_index_datatypes.result
mysql-test/suite/falcon/r/falcon_online_index.result
mysql-test/suite/falcon/t/falcon_bug_22207-big.test
mysql-test/suite/falcon/t/falcon_index_datatypes.test
mysql-test/suite/falcon/t/falcon_online_index.test
renamed:
mysql-test/suite/falcon_team/r/falcon_bug_22189.result =>
mysql-test/suite/falcon/r/falcon_bug_22189.result
mysql-test/suite/falcon_team/r/falcon_bug_22207.result =>
mysql-test/suite/falcon/r/falcon_bug_22207.result
mysql-test/suite/falcon_team/r/falcon_bug_24024.result =>
mysql-test/suite/falcon/r/falcon_bug_24024.result
mysql-test/suite/falcon_team/t/falcon_bug_22189.test =>
mysql-test/suite/falcon/t/falcon_bug_22189.test
mysql-test/suite/falcon_team/t/falcon_bug_22207.test =>
mysql-test/suite/falcon/t/falcon_bug_22207.test
mysql-test/suite/falcon_team/t/falcon_bug_24024.test =>
mysql-test/suite/falcon/t/falcon_bug_24024.test
modified:
mysql-test/suite/falcon/r/falcon_bug_22972.result
mysql-test/suite/falcon/t/disabled.def
mysql-test/suite/falcon/t/falcon_bug_22972.test
mysql-test/suite/falcon_team/r/falcon_bug_23945.result
mysql-test/suite/falcon_team/t/disabled.def
mysql-test/suite/falcon_team/t/falcon_bug_23945.test
storage/falcon/Cache.cpp
storage/falcon/Configuration.cpp
storage/falcon/DeferredIndex.cpp
storage/falcon/DeferredIndexWalker.cpp
storage/falcon/StorageTable.cpp
storage/falcon/StorageTableShare.cpp
storage/falcon/StorageTableShare.h
storage/falcon/Transaction.cpp
storage/falcon/Transaction.h
storage/falcon/ha_falcon.cpp
storage/falcon/ha_falcon.h
mysql-test/suite/falcon/r/falcon_bug_22189.result
mysql-test/suite/falcon/r/falcon_bug_22207.result
mysql-test/suite/falcon/r/falcon_bug_24024.result
mysql-test/suite/falcon/t/falcon_bug_22189.test
mysql-test/suite/falcon/t/falcon_bug_22207.test
mysql-test/suite/falcon/t/falcon_bug_24024.test
=== renamed file 'mysql-test/suite/falcon_team/r/falcon_bug_22189.result' =>
'mysql-test/suite/falcon/r/falcon_bug_22189.result'
--- a/mysql-test/suite/falcon_team/r/falcon_bug_22189.result 2008-04-28 11:21:52 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_22189.result 2008-09-09 08:30:18 +0000
@@ -33,11 +33,12 @@ x1 x2
1 1
# Switch to connection conn1
UPDATE x1 SET x1 = 0, x2 = 5;
+ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
INSERT INTO x1 VALUES (0,6);
+ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
# Switch to connection default
ROLLBACK;
# Switch to connection conn1
-ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
INSERT INTO x1 VALUES (0,6);
ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
INSERT INTO x1 VALUES (0,6);
=== added file 'mysql-test/suite/falcon/r/falcon_bug_22207-big.result'
--- a/mysql-test/suite/falcon/r/falcon_bug_22207-big.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_22207-big.result 2008-09-09 08:30:18 +0000
@@ -0,0 +1,150 @@
+*** Bug #22207 ***
+SET @@storage_engine = 'Falcon';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (c1 varchar(50), c2 int, c3 char(1));
+INSERT INTO t1 VALUES (repeat('A', 50), 0, 'A');
+INSERT INTO t1 VALUES (repeat('B', 50), 0, 'B');
+INSERT INTO t1 VALUES (repeat('C', 50), 0, 'C');
+INSERT INTO t1 VALUES (repeat('D', 50), 0, 'D');
+INSERT INTO t1 VALUES (repeat('E', 50), 0, 'E');
+INSERT INTO t1 VALUES (repeat('F', 50), 0, 'F');
+INSERT INTO t1 VALUES (repeat('G', 50), 0, 'G');
+INSERT INTO t1 VALUES (repeat('H', 50), 0, 'H');
+INSERT INTO t1 VALUES (repeat('I', 50), 0, 'I');
+INSERT INTO t1 VALUES (repeat('J', 50), 0, 'J');
+INSERT INTO t1 VALUES (repeat('K', 50), 0, 'K');
+COMMIT;
+SELECT c1 from t1;
+c1
+150000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+150000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+150000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+150000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+150000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+150000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+150000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+150000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+150000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+150000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+150000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+300000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+300000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+300000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+300000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+300000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+300000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+300000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+300000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+300000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+300000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+300000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+450000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+450000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+450000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+450000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+450000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+450000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+450000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+450000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+450000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+450000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+450000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+600000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+600000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+600000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+600000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+600000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+600000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+600000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+600000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+600000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+600000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+600000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+750000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+750000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+750000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+750000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+750000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+750000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+750000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+750000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+750000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+750000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+750000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+900000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+900000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+900000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+900000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+900000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+900000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+900000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+900000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+900000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+900000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+900000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+1050000___AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+1050000___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+1050000___CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+1050000___DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+1050000___EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+1050000___FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+1050000___GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+1050000___HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+1050000___IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+1050000___JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+1050000___KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+1200000___AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+1200000___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+1200000___CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+1200000___DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+1200000___EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+1200000___FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+1200000___GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+1200000___HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+1200000___IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+1200000___JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+1200000___KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+1350000___AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+1350000___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+1350000___CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+1350000___DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+1350000___EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+1350000___FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+1350000___GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+1350000___HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+1350000___IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+1350000___JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+1350000___KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+1500000___AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+1500000___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+1500000___CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+1500000___DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+1500000___EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+1500000___FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+1500000___GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+1500000___HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+1500000___IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+1500000___JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+1500000___KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT count(*) FROM t1;
+count(*)
+11
+DROP TABLE t1;
=== renamed file 'mysql-test/suite/falcon_team/r/falcon_bug_22207.result' =>
'mysql-test/suite/falcon/r/falcon_bug_22207.result'
--- a/mysql-test/suite/falcon_team/r/falcon_bug_22207.result 2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_22207.result 2008-09-09 08:30:18 +0000
@@ -1,4 +1,5 @@
-SET STORAGE_ENGINE = 'Falcon';
+*** Bug #22207 ***
+SET @@storage_engine = 'Falcon';
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (c1 varchar(50), c2 int, c3 char(1));
INSERT INTO t1 VALUES (repeat('A', 50), 0, 'A');
@@ -7,52 +8,55 @@ INSERT INTO t1 VALUES (repeat('C', 50),
COMMIT;
SELECT c1 from t1;
c1
+2500______AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+2500______BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+2500______CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT c1 from t1;
+c1
5000______AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
5000______BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
5000______CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
SELECT c1 from t1;
c1
+7500______AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+7500______BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+7500______CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT c1 from t1;
+c1
10000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
10000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
10000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
SELECT c1 from t1;
c1
+12500_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+12500_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+12500_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT c1 from t1;
+c1
15000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
15000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
15000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
SELECT c1 from t1;
c1
+17500_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+17500_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+17500_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT c1 from t1;
+c1
20000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
20000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
20000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
SELECT c1 from t1;
c1
+22500_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+22500_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+22500_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT c1 from t1;
+c1
25000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
25000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
25000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
-SELECT c1 from t1;
-c1
-30000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-30000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-30000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
-SELECT c1 from t1;
-c1
-35000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-35000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-35000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
-SELECT c1 from t1;
-c1
-40000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-40000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-40000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
-SELECT c1 from t1;
-c1
-45000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-45000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-45000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
-SELECT c1 from t1;
-c1
-50000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-50000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-50000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT count(*) FROM t1;
+count(*)
+3
DROP TABLE t1;
=== modified file 'mysql-test/suite/falcon/r/falcon_bug_22972.result'
--- a/mysql-test/suite/falcon/r/falcon_bug_22972.result 2008-07-15 00:06:43 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_22972.result 2008-09-09 08:30:18 +0000
@@ -1,10 +1,21 @@
-CREATE TABLE t1(a INT) ENGINE=Falcon;
+*** Bug #22972 ***
+SET @@storage_engine = 'Falcon';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1(a int);
+# Establish connection conn1 (root)
+# Switch to connection conn1
START TRANSACTION;
INSERT INTO t1 VALUES(1);
+# Switch to connection default
DROP TABLE t1;
ERROR 42S02: Unknown table 't1'
SHOW WARNINGS;
Level Code Message
Warning 178 Can't execute the given command because you have active locked tables or an
active transaction
+# Switch to connection conn1
COMMIT;
+SELECT count(*) FROM t1;
+count(*)
+1
+# Switch to connection default
DROP TABLE t1;
=== renamed file 'mysql-test/suite/falcon_team/r/falcon_bug_24024.result' =>
'mysql-test/suite/falcon/r/falcon_bug_24024.result'
--- a/mysql-test/suite/falcon_team/r/falcon_bug_24024.result 2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_24024.result 2008-09-09 14:59:40 +0000
@@ -1,23 +1,31 @@
*** Bug #24024 ***
-SET SESSION STORAGE_ENGINE = Falcon;
+SET @@storage_engine = 'Falcon';
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1(a INT NOT NULL, b INT, primary key(a));
+CREATE TABLE t1(a int, b int, primary key(a));
INSERT INTO t1(a) VALUES (1);
COMMIT;
-SET AUTOCOMMIT = 0;
+# Establish connection conn1 (user=root)
+# Switch to connection default
+SET @@autocommit = 0;
UPDATE t1 SET b = 5 WHERE a = 1;
-# Establish session con1 (user=root)
+# Switch to connection conn1
INSERT INTO t1(a) VALUES(7);
COMMIT;
SELECT * FROM t1;
a b
1 NULL
7 NULL
+!!! Error message is total crap!
+!!! Something like "Cannot drop locked table" or similar would be fine,
+!!! But never the misleading ERROR 42S02: Unknown table 't1'.
DROP TABLE t1;
-!!! Error message has to be decided.
-!!! Something like "Cannot drop locked table" or similar would be fine.
-!!! But never the misleading ERROR 42S02: Unknown table 't1'
-COMMIT;
-# Switch to session default and disconnect session con1
+ERROR 42S02: Unknown table 't1'
+SHOW WARNINGS;
+Level Code Message
+Warning 178 Can't execute the given command because you have active locked tables or an
active transaction
+SELECT count(*) FROM t1;
+count(*)
+2
+# Switch to connection default
COMMIT;
DROP TABLE t1;
=== added file 'mysql-test/suite/falcon/r/falcon_index_datatypes.result'
--- a/mysql-test/suite/falcon/r/falcon_index_datatypes.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/r/falcon_index_datatypes.result 2008-09-04 18:38:48 +0000
@@ -0,0 +1,939 @@
+SET @@storage_engine = 'Falcon';
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+CREATE TABLE t1 (
+a_int INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+a_tinyint TINYINT,
+a_bigint BIGINT,
+a_float FLOAT,
+a_double DOUBLE,
+a_decimal DECIMAL(10,2),
+a_date DATE,
+a_time TIME,
+a_datetime DATETIME,
+a_timestamp TIMESTAMP NOT NULL DEFAULT 0,
+a_year YEAR,
+a_char CHAR(10),
+a_varchar VARCHAR(255),
+a_binary BINARY(8),
+a_varbinary VARBINARY(255),
+a_enum ENUM('enumValueOne', 'enumValueTwo', 'enumValueThree')
+);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a_int` int(11) NOT NULL AUTO_INCREMENT,
+ `a_tinyint` tinyint(4) DEFAULT NULL,
+ `a_bigint` bigint(20) DEFAULT NULL,
+ `a_float` float DEFAULT NULL,
+ `a_double` double DEFAULT NULL,
+ `a_decimal` decimal(10,2) DEFAULT NULL,
+ `a_date` date DEFAULT NULL,
+ `a_time` time DEFAULT NULL,
+ `a_datetime` datetime DEFAULT NULL,
+ `a_timestamp` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `a_year` year(4) DEFAULT NULL,
+ `a_char` char(10) DEFAULT NULL,
+ `a_varchar` varchar(255) DEFAULT NULL,
+ `a_binary` binary(8) DEFAULT NULL,
+ `a_varbinary` varbinary(255) DEFAULT NULL,
+ `a_enum` enum('enumValueOne','enumValueTwo','enumValueThree') DEFAULT NULL,
+ PRIMARY KEY (`a_int`)
+) ENGINE=Falcon DEFAULT CHARSET=latin1
+CREATE TABLE t2 (
+a_int INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+a_bit BIT(8));
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a_int` int(11) NOT NULL AUTO_INCREMENT,
+ `a_bit` bit(8) DEFAULT NULL,
+ PRIMARY KEY (`a_int`)
+) ENGINE=Falcon DEFAULT CHARSET=latin1
+INSERT INTO t1 (
+a_tinyint, a_bigint,
+a_float, a_double, a_decimal, a_date,
+a_time, a_datetime, a_timestamp, a_year,
+a_char, a_varchar, a_binary, a_varbinary,
+a_enum)
+VALUES
+(
+127, 9223372036854775807,
+999.99, 999.123456789, 111.99, '2008-07-09',
+'11:30:00', '2008-07-09 11:30:00', '2008-07-09 11:30:00', '2008',
+'aTestChar', 'aTestVarChar', 'aTestBin', 'aTestVarBinary',
+'enumValueOne'
+ ),
+(
+126, 9223372036854775806,
+998.88, 999.234567891, 112.00, '2008-07-10',
+'12:30:10', '2008-07-10 12:30:10', '2008-07-10 12:30:10', '2009',
+'bTestChar', 'bTestVarChar', 'bTestBin', 'bTestVarBinary',
+'enumValueTwo'
+ ),
+(
+125, 9223372036854775805,
+997.77, 999.345678912, 112.01, '2008-07-11',
+'13:30:20', '2008-07-11 13:30:20', '2008-07-11 13:30:20', '2010',
+'cTestChar', 'cTestVarChar', 'cTestBin', 'cTestVarBinary',
+'enumValueThree'
+ ),
+(
+124, 9223372036854775804,
+996.66, 999.456789123, 112.02, '2008-07-12',
+'14:30:30', '2008-07-12 14:30:30', '2008-07-12 14:30:30', '2011',
+'dTestChar', 'dTestVarChar', 'dTestBin', 'dTestVarBinary',
+'enumValueOne'
+ ),
+(
+123, 9223372036854775803,
+995.55, 999.567891234, 112.03, '2008-07-13',
+'15:30:40', '2008-07-13 15:30:40', '2008-07-13 15:30:40', '2012',
+'eTestChar', 'eTestVarChar', 'eTestBin', 'eTestVarBinary',
+'enumValueTwo'
+ );
+INSERT INTO t2 (a_bit) VALUES (b'0'), (b'1'), (b'10'), (b'11'), (b'100');
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 9223372036854775804 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+SELECT a_int, BIN(a_bit+0) FROM t2;
+a_int BIN(a_bit+0)
+1 0
+2 1
+3 10
+4 11
+5 100
+#-------- Test: BIT --------#
+ALTER TABLE t2 ADD INDEX index_bit (a_bit);
+SHOW INDEXES FROM t2;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t2 0 PRIMARY 1 a_int NULL 2 NULL NULL BTREE
+t2 1 index_bit 1 a_bit NULL 2 NULL NULL YES BTREE
+INSERT INTO t2 SET a_bit = b'11111';
+UPDATE t2 SET a_bit = b'101010' where a_int > b'101';
+SELECT a_int, BIN(a_bit+0) FROM t2;
+a_int BIN(a_bit+0)
+1 0
+2 1
+3 10
+4 11
+5 100
+6 101010
+SELECT a_int, BIN(a_bit+0) FROM t2 WHERE a_bit > b'1' LIMIT 1;
+a_int BIN(a_bit+0)
+3 10
+ALTER TABLE t2 DROP INDEX index_bit;
+SHOW INDEXES FROM t2;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t2 0 PRIMARY 1 a_int NULL 3 NULL NULL BTREE
+SELECT a_int, BIN(a_bit+0) FROM t2;
+a_int BIN(a_bit+0)
+1 0
+2 1
+3 10
+4 11
+5 100
+6 101010
+#-------- Test: TINYINT --------#
+ALTER TABLE t1 ADD INDEX index_tinyint (a_tinyint);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 2 NULL NULL BTREE
+t1 1 index_tinyint 1 a_tinyint NULL 2 NULL NULL YES BTREE
+INSERT INTO t1 SET a_tinyint = 99;
+UPDATE t1 SET a_tinyint = 88 where a_tinyint = 99;
+SELECT * FROM t1 ORDER BY a_tinyint;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+4 124 9223372036854775804 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+SELECT * FROM t1 WHERE a_tinyint > 1 LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+ALTER TABLE t1 DROP INDEX index_tinyint;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 3 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 9223372036854775804 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+#-------- Test: BIGINT --------#
+ALTER TABLE t1 ADD INDEX index_bigint (a_bigint);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 3 NULL NULL BTREE
+t1 1 index_bigint 1 a_bigint NULL 3 NULL NULL YES BTREE
+INSERT INTO t1 SET a_bigint = 9223372036854775804;
+UPDATE t1 SET a_bigint = 911111111111111111 where a_bigint = 9223372036854775804;
+SELECT * FROM t1 ORDER BY a_bigint;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+SELECT * FROM t1 WHERE a_bigint > 1 LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+ALTER TABLE t1 DROP INDEX index_bigint;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 3 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+#-------- Test: FLOAT --------#
+ALTER TABLE t1 ADD INDEX index_float (a_float);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 3 NULL NULL BTREE
+t1 1 index_float 1 a_float NULL 3 NULL NULL YES BTREE
+INSERT INTO t1 SET a_float = 994.44;
+UPDATE t1 SET a_float = 993.33 where a_float > 994 AND a_float < 994.5;
+SELECT * FROM t1 ORDER BY a_float;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+SELECT * FROM t1 WHERE a_float > 1 LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+ALTER TABLE t1 DROP INDEX index_float;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 4 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+#-------- Test: DOUBLE --------#
+ALTER TABLE t1 ADD INDEX index_double (a_double);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 4 NULL NULL BTREE
+t1 1 index_double 1 a_double NULL 4 NULL NULL YES BTREE
+INSERT INTO t1 SET a_double = 999.678912345;
+UPDATE t1 SET a_double = 999.998877665 where a_double = 999.678912345;
+SELECT * FROM t1 ORDER BY a_double;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+SELECT * FROM t1 WHERE a_double > 1 LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+ALTER TABLE t1 DROP INDEX index_double;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 4 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+#-------- Test: DECIMAL --------#
+ALTER TABLE t1 ADD INDEX index_decimal (a_decimal);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 4 NULL NULL BTREE
+t1 1 index_decimal 1 a_decimal NULL 4 NULL NULL YES BTREE
+INSERT INTO t1 SET a_decimal = 112.04;
+UPDATE t1 SET a_decimal = 112.05 where a_decimal = 112.04;
+SELECT * FROM t1 ORDER BY a_decimal;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+SELECT * FROM t1 WHERE a_decimal > 1 LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+ALTER TABLE t1 DROP INDEX index_decimal;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 5 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+#-------- Test: DATE --------#
+ALTER TABLE t1 ADD INDEX index_date (a_date);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 5 NULL NULL BTREE
+t1 1 index_date 1 a_date NULL 5 NULL NULL YES BTREE
+INSERT INTO t1 SET a_date = '2008-07-14';
+UPDATE t1 SET a_date = '2008-08-14' where a_date = '2008-07-14';
+SELECT * FROM t1 ORDER BY a_date;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+SELECT * FROM t1 WHERE a_date > '2008-01-01' LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+ALTER TABLE t1 DROP INDEX index_date;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 5 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+#-------- Test: TIME --------#
+ALTER TABLE t1 ADD INDEX index_time (a_time);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 5 NULL NULL BTREE
+t1 1 index_time 1 a_time NULL 5 NULL NULL YES BTREE
+INSERT INTO t1 SET a_time = '16:30:50';
+UPDATE t1 SET a_time = '17:31:00' where a_time = '16:30:50';
+SELECT * FROM t1 ORDER BY a_time;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+SELECT * FROM t1 WHERE a_time > '11:00:00' LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+ALTER TABLE t1 DROP INDEX index_time;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 6 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+#-------- Test: DATETIME --------#
+ALTER TABLE t1 ADD INDEX index_datetime (a_datetime);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 6 NULL NULL BTREE
+t1 1 index_datetime 1 a_datetime NULL 6 NULL NULL YES BTREE
+INSERT INTO t1 SET a_datetime = '2008-07-14 16:30:50';
+UPDATE t1 SET a_datetime = '2008-08-14 17:31:00' where a_datetime = '2008-07-14
16:30:50';
+SELECT * FROM t1 ORDER BY a_datetime;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+SELECT * FROM t1 WHERE a_datetime > '2008-07-10 00:00:00' LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+ALTER TABLE t1 DROP INDEX index_datetime;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 6 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+#-------- Test: TIMESTAMP --------#
+ALTER TABLE t1 ADD INDEX index_timestamp (a_timestamp);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 6 NULL NULL BTREE
+t1 1 index_timestamp 1 a_timestamp NULL 6 NULL NULL BTREE
+INSERT INTO t1 SET a_timestamp = '2008-07-14 16:30:50';
+UPDATE t1 SET a_timestamp = '2008-08-14 19:20:21' where a_timestamp = '2008-07-14
16:30:50';
+SELECT * FROM t1 ORDER BY a_timestamp;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+SELECT * FROM t1 WHERE a_timestamp > '2008-07-10 00:00:00' LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+ALTER TABLE t1 DROP INDEX index_timestamp;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 7 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+#-------- Test: YEAR --------#
+ALTER TABLE t1 ADD INDEX index_year (a_year);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 7 NULL NULL BTREE
+t1 1 index_year 1 a_year NULL 7 NULL NULL YES BTREE
+INSERT INTO t1 SET a_year = '2013';
+UPDATE t1 SET a_year = '2020' where a_year LIKE '2013';
+SELECT * FROM t1 ORDER BY a_year;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+SELECT * FROM t1 WHERE a_year > '1999' LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+ALTER TABLE t1 DROP INDEX index_year;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 7 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+#-------- Test: CHAR --------#
+ALTER TABLE t1 ADD INDEX index_char (a_char);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 7 NULL NULL BTREE
+t1 1 index_char 1 a_char NULL 7 NULL NULL YES BTREE
+INSERT INTO t1 SET a_char = 'fTestChar';
+UPDATE t1 SET a_char = 'gTestChar' where a_char = 'fTestChar';
+SELECT * FROM t1 ORDER BY a_char;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+SELECT * FROM t1 WHERE a_char > 'afalcon' LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+ALTER TABLE t1 DROP INDEX index_char;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 8 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+#-------- Test: VARCHAR --------#
+ALTER TABLE t1 ADD INDEX index_varchar (a_varchar);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 8 NULL NULL BTREE
+t1 1 index_varchar 1 a_varchar NULL 8 NULL NULL YES BTREE
+INSERT INTO t1 SET a_varchar = 'fTestVarChar';
+UPDATE t1 SET a_varchar = 'gTestVarChar' where a_varchar = 'fTestVarChar';
+SELECT * FROM t1 ORDER BY a_varchar;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+17 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL gTestVarChar NULL NULL NULL
+SELECT * FROM t1 WHERE a_varchar > 'afalcon' LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+ALTER TABLE t1 DROP INDEX index_varchar;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 8 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+17 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL gTestVarChar NULL NULL NULL
+#-------- Test: BINARY --------#
+ALTER TABLE t1 ADD INDEX index_binary (a_binary);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 8 NULL NULL BTREE
+t1 1 index_binary 1 a_binary NULL 8 NULL NULL YES BTREE
+INSERT INTO t1 SET a_binary = 'fTestBin';
+UPDATE t1 SET a_binary = 'gTestBin' where a_binary = 'fTestBin';
+SELECT * FROM t1 ORDER BY a_binary;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+17 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL gTestVarChar NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+18 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL gTestBin NULL NULL
+SELECT * FROM t1 WHERE a_binary > 'afalcon' LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+ALTER TABLE t1 DROP INDEX index_binary;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 9 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+17 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL gTestVarChar NULL NULL NULL
+18 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL gTestBin NULL NULL
+#-------- Test: VARBINARY --------#
+ALTER TABLE t1 ADD INDEX index_varbinary (a_varbinary);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 9 NULL NULL BTREE
+t1 1 index_varbinary 1 a_varbinary NULL 9 NULL NULL YES BTREE
+INSERT INTO t1 SET a_varbinary = 'fTestVarBinary';
+UPDATE t1 SET a_varbinary = 'gTestVarBinary' where a_varbinary = 'fTestVarBinary';
+SELECT * FROM t1 ORDER BY a_varbinary;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+17 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL gTestVarChar NULL NULL NULL
+18 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL gTestBin NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+19 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL gTestVarBinary NULL
+SELECT * FROM t1 WHERE a_varbinary > 'afalcon' LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+ALTER TABLE t1 DROP INDEX index_varbinary;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 9 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueThree
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+17 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL gTestVarChar NULL NULL NULL
+18 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL gTestBin NULL NULL
+19 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL gTestVarBinary NULL
+#-------- Test: ENUM --------#
+ALTER TABLE t1 ADD INDEX index_enum (a_binary);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 9 NULL NULL BTREE
+t1 1 index_enum 1 a_binary NULL 9 NULL NULL YES BTREE
+INSERT INTO t1 SET a_enum = 'enumValueThree';
+UPDATE t1 SET a_enum = 'enumValueOne' where a_enum = 'enumValueThree';
+SELECT * FROM t1 ORDER BY a_enum;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+17 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL gTestVarChar NULL NULL NULL
+18 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL gTestBin NULL NULL
+19 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL gTestVarBinary NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueOne
+20 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+SELECT * FROM t1 WHERE a_enum > 'afalcon' LIMIT 1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+ALTER TABLE t1 DROP INDEX index_enum;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 10 NULL NULL BTREE
+SELECT * FROM t1;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueOne
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+17 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL gTestVarChar NULL NULL NULL
+18 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL gTestBin NULL NULL
+19 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL gTestVarBinary NULL
+20 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL enumValueOne
+#-------- Test: Alternative CREATE INDEX --------#
+CREATE INDEX index_int on t1 (a_int);
+CREATE INDEX index_bit on t2 (a_bit);
+CREATE INDEX index_tinyint on t1 (a_tinyint);
+CREATE INDEX index_bigint on t1 (a_bigint);
+CREATE INDEX index_float on t1 (a_float);
+CREATE INDEX index_double on t1 (a_double);
+CREATE INDEX index_decimal on t1 (a_decimal);
+CREATE INDEX index_date on t1 (a_date);
+CREATE INDEX index_datetime on t1 (a_datetime);
+CREATE INDEX index_timestamp on t1 (a_timestamp);
+CREATE INDEX index_year on t1 (a_year);
+CREATE INDEX index_char on t1 (a_char);
+CREATE INDEX index_varchar on t1 (a_varchar);
+CREATE INDEX index_binary on t1 (a_binary);
+CREATE INDEX index_varbinary on t1 (a_varbinary);
+CREATE INDEX index_enum on t1 (a_enum);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 10 NULL NULL BTREE
+t1 1 index_int 1 a_int NULL 10 NULL NULL BTREE
+t1 1 index_tinyint 1 a_tinyint NULL 10 NULL NULL YES BTREE
+t1 1 index_bigint 1 a_bigint NULL 10 NULL NULL YES BTREE
+t1 1 index_float 1 a_float NULL 10 NULL NULL YES BTREE
+t1 1 index_double 1 a_double NULL 10 NULL NULL YES BTREE
+t1 1 index_decimal 1 a_decimal NULL 10 NULL NULL YES BTREE
+t1 1 index_date 1 a_date NULL 10 NULL NULL YES BTREE
+t1 1 index_datetime 1 a_datetime NULL 10 NULL NULL YES BTREE
+t1 1 index_timestamp 1 a_timestamp NULL 10 NULL NULL BTREE
+t1 1 index_year 1 a_year NULL 10 NULL NULL YES BTREE
+t1 1 index_char 1 a_char NULL 10 NULL NULL YES BTREE
+t1 1 index_varchar 1 a_varchar NULL 10 NULL NULL YES BTREE
+t1 1 index_binary 1 a_binary NULL 10 NULL NULL YES BTREE
+t1 1 index_varbinary 1 a_varbinary NULL 10 NULL NULL YES BTREE
+t1 1 index_enum 1 a_enum NULL 10 NULL NULL YES BTREE
+SELECT * FROM t1 ORDER BY a_int;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueOne
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+17 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL gTestVarChar NULL NULL NULL
+18 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL gTestBin NULL NULL
+19 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL gTestVarBinary NULL
+20 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL enumValueOne
+SHOW INDEXES FROM t2;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t2 0 PRIMARY 1 a_int NULL 3 NULL NULL BTREE
+t2 1 index_bit 1 a_bit NULL 3 NULL NULL YES BTREE
+SELECT a_int, BIN(a_bit+0) FROM t2 ORDER BY a_int;
+a_int BIN(a_bit+0)
+1 0
+2 1
+3 10
+4 11
+5 100
+6 101010
+#-------- Test: Alternative DROP INDEX --------#
+DROP INDEX index_int on t1;
+DROP INDEX index_bit on t2;
+DROP INDEX index_tinyint on t1;
+DROP INDEX index_bigint on t1;
+DROP INDEX index_float on t1;
+DROP INDEX index_double on t1;
+DROP INDEX index_decimal on t1;
+DROP INDEX index_date on t1;
+DROP INDEX index_datetime on t1;
+DROP INDEX index_timestamp on t1;
+DROP INDEX index_year on t1;
+DROP INDEX index_char on t1;
+DROP INDEX index_varchar on t1;
+DROP INDEX index_binary on t1;
+DROP INDEX index_varbinary on t1;
+DROP INDEX index_enum on t1;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a_int NULL 10 NULL NULL BTREE
+SELECT * FROM t1 ORDER BY a_int;
+a_int a_tinyint a_bigint a_float a_double a_decimal a_date a_time a_datetime a_timestamp a_year a_char a_varchar a_binary a_varbinary a_enum
+1 127 9223372036854775807 999.99 999.123456789 111.99 2008-07-09 11:30:00 2008-07-09
11:30:00 2008-07-09
11:30:00 2008 aTestChar aTestVarChar aTestBin aTestVarBinary enumValueOne
+2 126 9223372036854775806 998.88 999.234567891 112.00 2008-07-10 12:30:10 2008-07-10
12:30:10 2008-07-10
12:30:10 2009 bTestChar bTestVarChar bTestBin bTestVarBinary enumValueTwo
+3 125 9223372036854775805 997.77 999.345678912 112.01 2008-07-11 13:30:20 2008-07-11
13:30:20 2008-07-11
13:30:20 2010 cTestChar cTestVarChar cTestBin cTestVarBinary enumValueOne
+4 124 911111111111111111 996.66 999.456789123 112.02 2008-07-12 14:30:30 2008-07-12
14:30:30 2008-07-12
14:30:30 2011 dTestChar dTestVarChar dTestBin dTestVarBinary enumValueOne
+5 123 9223372036854775803 995.55 999.567891234 112.03 2008-07-13 15:30:40 2008-07-13
15:30:40 2008-07-13
15:30:40 2012 eTestChar eTestVarChar eTestBin eTestVarBinary enumValueTwo
+6 88 NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL
+7 NULL 911111111111111111 NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+8 NULL NULL 993.33 NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+9 NULL NULL NULL 999.998877665 NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+10 NULL NULL NULL NULL 112.05 NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+11 NULL NULL NULL NULL NULL 2008-08-14 NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+12 NULL NULL NULL NULL NULL NULL 17:31:00 NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+13 NULL NULL NULL NULL NULL NULL NULL 2008-08-14 17:31:00 0000-00-00
00:00:00 NULL NULL NULL NULL NULL NULL
+14 NULL NULL NULL NULL NULL NULL NULL NULL 2008-08-14
19:20:21 NULL NULL NULL NULL NULL NULL
+15 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 2020 NULL NULL NULL NULL NULL
+16 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL gTestChar NULL NULL NULL NULL
+17 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL gTestVarChar NULL NULL NULL
+18 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL gTestBin NULL NULL
+19 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL gTestVarBinary NULL
+20 NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00
00:00:00 NULL NULL NULL NULL NULL enumValueOne
+SHOW INDEXES FROM t2;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t2 0 PRIMARY 1 a_int NULL 3 NULL NULL BTREE
+SELECT a_int, BIN(a_bit+0) FROM t2 ORDER BY a_int;
+a_int BIN(a_bit+0)
+1 0
+2 1
+3 10
+4 11
+5 100
+6 101010
+DROP TABLE t1;
+DROP TABLE t2;
=== added file 'mysql-test/suite/falcon/r/falcon_online_index.result'
--- a/mysql-test/suite/falcon/r/falcon_online_index.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/r/falcon_online_index.result 2008-09-10 15:08:56 +0000
@@ -0,0 +1,372 @@
+SET @@storage_engine = 'Falcon';
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+CREATE TABLE t1 (
+a int PRIMARY KEY,
+b VARCHAR(255),
+c int,
+d CHAR(10)
+);
+INSERT INTO t1 VALUES (0, 'TestRow0', 0*2, 'Char0');
+INSERT INTO t1 VALUES (1, 'TestRow1', 1*2, 'Char1');
+INSERT INTO t1 VALUES (2, 'TestRow2', 2*2, 'Char2');
+INSERT INTO t1 VALUES (3, 'TestRow3', 3*2, 'Char3');
+INSERT INTO t1 VALUES (4, 'TestRow4', 4*2, 'Char4');
+INSERT INTO t1 VALUES (5, 'TestRow5', 5*2, 'Char5');
+INSERT INTO t1 VALUES (6, 'TestRow6', 6*2, 'Char6');
+INSERT INTO t1 VALUES (7, 'TestRow7', 7*2, 'Char7');
+INSERT INTO t1 VALUES (8, 'TestRow8', 8*2, 'Char8');
+INSERT INTO t1 VALUES (9, 'TestRow9', 9*2, 'Char9');
+INSERT INTO t1 VALUES (10, 'TestRow10', 10*2, 'Char10');
+INSERT INTO t1 VALUES (11, 'TestRow11', 11*2, 'Char11');
+INSERT INTO t1 VALUES (12, 'TestRow12', 12*2, 'Char12');
+INSERT INTO t1 VALUES (13, 'TestRow13', 13*2, 'Char13');
+INSERT INTO t1 VALUES (14, 'TestRow14', 14*2, 'Char14');
+INSERT INTO t1 VALUES (15, 'TestRow15', 15*2, 'Char15');
+INSERT INTO t1 VALUES (16, 'TestRow16', 16*2, 'Char16');
+INSERT INTO t1 VALUES (17, 'TestRow17', 17*2, 'Char17');
+INSERT INTO t1 VALUES (18, 'TestRow18', 18*2, 'Char18');
+INSERT INTO t1 VALUES (19, 'TestRow19', 19*2, 'Char19');
+CREATE TABLE t2 (
+a int PRIMARY KEY,
+b int,
+c int,
+d VARCHAR(65)
+);
+#-------- Inserting 33 rows into t2 (query log disabled) --------#
+CREATE TABLE t3 (
+a int PRIMARY KEY AUTO_INCREMENT,
+b int DEFAULT 9999,
+c int DEFAULT 8888 NOT NULL,
+d int NOT NULL,
+e VARCHAR(65)
+);
+#-------- Inserting 1000 rows into t3... (query log disabled) --------#
+#-------- Testing implicit ONLINE --------#
+ALTER TABLE t1 ADD INDEX ix_b (b);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+DROP INDEX ix_b ON t1;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+CREATE INDEX ix_c ON t1 (c);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+DROP INDEX ix_c ON t1;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ALTER TABLE t3 ADD INDEX ix_b (b);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+SELECT * from t3 where b > 555 ORDER BY a LIMIT 5;
+a b c d e
+279 556 279 277 SomeVarchar 278 for testing
+280 558 280 278 SomeVarchar 279 for testing
+281 560 281 279 SomeVarchar 280 for testing
+282 562 282 280 SomeVarchar 281 for testing
+283 564 283 281 SomeVarchar 282 for testing
+affected rows: 5
+DROP INDEX ix_b ON t3;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+#-------- Testing implicit OFFLINE --------#
+ALTER TABLE t3 ADD INDEX ix_c (c);
+affected rows: 1000
+info: Records: 1000 Duplicates: 0 Warnings: 0
+DROP INDEX ix_c ON t3;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ALTER TABLE t3 ADD INDEX ix_cd (c, d);
+affected rows: 1000
+info: Records: 1000 Duplicates: 0 Warnings: 0
+DROP INDEX ix_cd ON t3;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+#-------- Testing ONLINE keyword... --------#
+#-------- ONLINE: ALTER ADD/DROP INDEX --------#
+ALTER ONLINE TABLE t1 ADD INDEX ix_b (b);
+ALTER ONLINE TABLE t1 DROP INDEX ix_b;
+#-------- ONLINE: ALTER ADD/DROP KEY --------#
+ALTER ONLINE TABLE t1 ADD KEY ix_b (b);
+ALTER ONLINE TABLE t1 DROP KEY ix_b;
+#-------- ONLINE: CREATE/DROP INDEX --------#
+CREATE ONLINE INDEX ix_c ON t1 (c);
+DROP ONLINE INDEX ix_c ON t1;
+#-------- ONLINE: ADD INDEX default name --------#
+ALTER ONLINE TABLE t1 ADD INDEX (b);
+ALTER ONLINE TABLE t1 DROP INDEX b;
+#-------- ONLINE: ALTER ADD nullable with default --------#
+ALTER ONLINE TABLE t3 ADD INDEX ix_b (b);
+SELECT * from t3 where b > 555 ORDER BY a LIMIT 5;
+a b c d e
+279 556 279 277 SomeVarchar 278 for testing
+280 558 280 278 SomeVarchar 279 for testing
+281 560 281 279 SomeVarchar 280 for testing
+282 562 282 280 SomeVarchar 281 for testing
+283 564 283 281 SomeVarchar 282 for testing
+ALTER ONLINE TABLE t3 DROP INDEX ix_b;
+#-------- ONLINE: ALTER ADD not-null with default --------#
+ALTER ONLINE TABLE t3 ADD INDEX ix_c (c);
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t3 ADD INDEX
ix_c (c)'
+#-------- ONLINE: ALTER ADD not-null --------#
+ALTER ONLINE TABLE t3 ADD INDEX ix_d (d);
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t3 ADD INDEX
ix_d (d)'
+#-------- ONLINE: ALTER ADD same key multiple times --------#
+ALTER ONLINE TABLE t1 ADD INDEX index_c (c);
+ALTER ONLINE TABLE t1 ADD INDEX index_c (c);
+ERROR 42000: Duplicate key name 'index_c'
+ALTER ONLINE TABLE t1 ADD INDEX index_c (c);
+ERROR 42000: Duplicate key name 'index_c'
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a NULL 10 NULL NULL BTREE
+t1 1 index_c 1 c NULL 10 NULL NULL YES BTREE
+#-------- ONLINE: ALTER DROP same key multiple times --------#
+ALTER ONLINE TABLE t1 DROP INDEX index_c;
+ALTER ONLINE TABLE t1 DROP INDEX index_c;
+ERROR 42000: Can't DROP 'index_c'; check that column/key exists
+ALTER ONLINE TABLE t1 DROP INDEX index_c;
+ERROR 42000: Can't DROP 'index_c'; check that column/key exists
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a NULL 10 NULL NULL BTREE
+#-------- ONLINE: ALTER ADD/DROP PRIMARY KEY --------#
+ALTER ONLINE TABLE t1 DROP PRIMARY KEY;
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 DROP
PRIMARY KEY'
+ALTER TABLE t1 DROP PRIMARY KEY;
+ALTER ONLINE TABLE t1 ADD PRIMARY KEY (c);
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 ADD PRIMARY
KEY (c)'
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+ALTER TABLE t1 ADD PRIMARY KEY (a);
+#-------- Test: UNIQUE --------#
+ALTER ONLINE TABLE t2 ADD UNIQUE INDEX ix_unique_c (c);
+EXPLAIN SELECT * FROM t2 WHERE c < 25 AND c > 20 ORDER BY c;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range ix_unique_c ix_unique_c 5 NULL 1 Using where; Using filesort
+SELECT * FROM t2 WHERE c < 25 AND c > 20 ORDER BY c;
+a b c d
+20 40 21 SomeString 20 for testing
+21 42 22 SomeString 21 for testing
+22 44 23 SomeString 22 for testing
+23 46 24 SomeString 23 for testing
+SHOW INDEXES FROM t2;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t2 0 PRIMARY 1 a NULL 16 NULL NULL BTREE
+t2 0 ix_unique_c 1 c NULL 16 NULL NULL YES BTREE
+DESCRIBE t2;
+Field Type Null Key Default Extra
+a int(11) NO PRI NULL
+b int(11) YES NULL
+c int(11) YES UNI NULL
+d varchar(65) YES NULL
+DROP ONLINE INDEX ix_unique_c ON t2;
+SHOW INDEXES FROM t2;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t2 0 PRIMARY 1 a NULL 16 NULL NULL BTREE
+#-------- Test: DESC --------#
+ALTER ONLINE TABLE t3 ADD INDEX ix_desc_b (b DESC);
+ALTER ONLINE TABLE t3 ADD INDEX ix_asc_b (b ASC);
+SHOW INDEXES FROM t3;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t3 0 PRIMARY 1 a NULL 500 NULL NULL BTREE
+t3 1 ix_desc_b 1 b NULL 500 NULL NULL YES BTREE
+t3 1 ix_asc_b 1 b NULL 500 NULL NULL YES BTREE
+DROP ONLINE INDEX ix_desc_b ON t3;
+DROP ONLINE INDEX ix_asc_b ON t3;
+#-------- Test: KEY_BLOCK_SIZE --------#
+ALTER ONLINE TABLE t1 ADD INDEX ix_keyblock_b (b) KEY_BLOCK_SIZE = 0;
+EXPLAIN SELECT * FROM t1 WHERE b LIKE 'TestRow1%' ORDER BY b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range ix_keyblock_b ix_keyblock_b 258 NULL 2 Using where; Using filesort
+SELECT * FROM t1 WHERE b LIKE 'TestRow1%' ORDER BY b;
+a b c d
+1 TestRow1 2 Char1
+10 TestRow10 20 Char10
+11 TestRow11 22 Char11
+12 TestRow12 24 Char12
+13 TestRow13 26 Char13
+14 TestRow14 28 Char14
+15 TestRow15 30 Char15
+16 TestRow16 32 Char16
+17 TestRow17 34 Char17
+18 TestRow18 36 Char18
+19 TestRow19 38 Char19
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a NULL 10 NULL NULL BTREE
+t1 1 ix_keyblock_b 1 b NULL 10 NULL NULL YES BTREE
+ALTER ONLINE TABLE t1 DROP INDEX ix_keyblock_b;
+#-------- Test: COMMENT --------#
+ALTER ONLINE TABLE t1 ADD INDEX ix_b (b) COMMENT 'Test comment';
+EXPLAIN SELECT * FROM t1 WHERE b LIKE 'TestRow1%' ORDER BY b;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range ix_b ix_b 258 NULL 2 Using where; Using filesort
+SELECT * FROM t1 WHERE b LIKE 'TestRow1%' ORDER BY b;
+a b c d
+1 TestRow1 2 Char1
+10 TestRow10 20 Char10
+11 TestRow11 22 Char11
+12 TestRow12 24 Char12
+13 TestRow13 26 Char13
+14 TestRow14 28 Char14
+15 TestRow15 30 Char15
+16 TestRow16 32 Char16
+17 TestRow17 34 Char17
+18 TestRow18 36 Char18
+19 TestRow19 38 Char19
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a NULL 10 NULL NULL BTREE
+t1 1 ix_b 1 b NULL 10 NULL NULL YES BTREE Test comment
+ALTER ONLINE TABLE t1 DROP INDEX ix_b;
+#-------- Test: Multiple columns --------#
+ALTER ONLINE TABLE t1 ADD INDEX index_multicol (b, c, d);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a NULL 10 NULL NULL BTREE
+t1 1 index_multicol 1 b NULL 2 NULL NULL YES BTREE
+t1 1 index_multicol 2 c NULL 5 NULL NULL YES BTREE
+t1 1 index_multicol 3 d NULL 10 NULL NULL YES BTREE
+EXPLAIN SELECT * FROM t1 WHERE b LIKE 'TestRow3%' AND c = 6 ORDER BY b, c, d;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range index_multicol index_multicol 263 NULL 2 Using where; Using filesort
+SELECT * FROM t1 WHERE b LIKE 'TestRow3%' AND c = 6 ORDER BY b, c, d;
+a b c d
+3 TestRow3 6 Char3
+DROP INDEX index_multicol ON t1;
+#-------- Test: Multiple ADD INDEX on same column --------#
+ALTER ONLINE TABLE t1 ADD INDEX index_1d (d);
+ALTER ONLINE TABLE t1 ADD INDEX index_2d (d);
+CREATE ONLINE INDEX index_3d ON t1 (d);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a NULL 10 NULL NULL BTREE
+t1 1 index_1d 1 d NULL 10 NULL NULL YES BTREE
+t1 1 index_2d 1 d NULL 10 NULL NULL YES BTREE
+t1 1 index_3d 1 d NULL 10 NULL NULL YES BTREE
+DROP ONLINE INDEX index_1d ON t1;
+DROP ONLINE INDEX index_2d ON t1;
+DROP ONLINE INDEX index_3d ON t1;
+#-------- Test: Multiple ADD INDEX in a single statement --------#
+ALTER TABLE t1
+ADD INDEX index_varchar (b),
+ADD INDEX index_int (c);
+ALTER TABLE t3
+ADD INDEX index_int (b),
+ADD INDEX index_multi (b,e),
+ADD INDEX index_varchar (e);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a NULL 10 NULL NULL BTREE
+t1 1 index_varchar 1 b NULL 10 NULL NULL YES BTREE
+t1 1 index_int 1 c NULL 10 NULL NULL YES BTREE
+SHOW INDEXES FROM t3;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t3 0 PRIMARY 1 a NULL 500 NULL NULL BTREE
+t3 1 index_int 1 b NULL 500 NULL NULL YES BTREE
+t3 1 index_multi 1 b NULL 250 NULL NULL YES BTREE
+t3 1 index_multi 2 e NULL 500 NULL NULL YES BTREE
+t3 1 index_varchar 1 e NULL 500 NULL NULL YES BTREE
+#-------- Test: Multiple DROP INDEX in a single statement --------#
+ALTER TABLE t1
+DROP INDEX index_varchar,
+DROP INDEX index_int;
+ALTER TABLE t3
+DROP INDEX index_int,
+DROP INDEX index_multi,
+DROP INDEX index_varchar;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a NULL 10 NULL NULL BTREE
+SHOW INDEXES FROM t3;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t3 0 PRIMARY 1 a NULL 500 NULL NULL BTREE
+#-------- Test: Combined ADD/DROP INDEX in a single statement --------#
+ALTER TABLE t1 ADD INDEX index_int (c);
+ALTER TABLE t1 ADD INDEX index_char (d), DROP INDEX index_int;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a NULL 10 NULL NULL BTREE
+t1 1 index_char 1 d NULL 10 NULL NULL YES BTREE
+ALTER TABLE t1 DROP INDEX index_char;
+#-------- Test: ADD INDEX followed by some complex queries --------#
+ALTER TABLE t1 ADD INDEX ix_a (a);
+ALTER ONLINE TABLE t1 ADD INDEX ix_b (b);
+ALTER ONLINE TABLE t1 ADD INDEX ix_c (c);
+ALTER ONLINE TABLE t2
+ADD INDEX ix_b (b),
+ADD INDEX ix_d (d);
+ALTER ONLINE TABLE t3 ADD INDEX ix_b (b);
+EXPLAIN SELECT * FROM t1 WHERE a = 3 OR (c > 10 AND a < 15) ORDER BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range PRIMARY,ix_a,ix_c PRIMARY 4 NULL 20 Using where; Using filesort
+SELECT * FROM t1 WHERE a = 3 OR (c > 10 AND a < 15) ORDER BY a;
+a b c d
+3 TestRow3 6 Char3
+6 TestRow6 12 Char6
+7 TestRow7 14 Char7
+8 TestRow8 16 Char8
+9 TestRow9 18 Char9
+10 TestRow10 20 Char10
+11 TestRow11 22 Char11
+12 TestRow12 24 Char12
+13 TestRow13 26 Char13
+14 TestRow14 28 Char14
+EXPLAIN SELECT * FROM t1 WHERE a = 99 OR b LIKE 'TestRow7%';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge PRIMARY,ix_a,ix_b PRIMARY,ix_b 4,258 NULL 3 Using
sort_union(PRIMARY,ix_b); Using where
+SELECT * FROM t1 WHERE a = 99 OR b LIKE 'TestRow7%';
+a b c d
+7 TestRow7 14 Char7
+EXPLAIN SELECT * FROM t1 WHERE (a = 10 OR b LIKE 'TestRow11') AND d LIKE 'Char%' ORDER BY
a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge PRIMARY,ix_a,ix_b PRIMARY,ix_b 4,258 NULL 3 Using
sort_union(PRIMARY,ix_b); Using where; Using filesort
+SELECT * FROM t1 WHERE (a = 10 OR b LIKE 'TestRow11') AND d LIKE 'Char%' ORDER BY a;
+a b c d
+10 TestRow10 20 Char10
+11 TestRow11 22 Char11
+EXPLAIN SELECT * FROM t1, t2 WHERE (t1.a IN (1,2) OR t1.b LIKE 'TestRow1%') AND
t1.c=t2.c;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index_merge PRIMARY,ix_a,ix_b,ix_c PRIMARY,ix_b 4,258 NULL 4 Using
sort_union(PRIMARY,ix_b); Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 33 Using where; Using join buffer
+SELECT * FROM t1, t2 WHERE (t1.a IN (1,2) OR t1.b LIKE 'TestRow1%') AND t1.c=t2.c;
+a b c d a b c d
+1 TestRow1 2 Char1 1 2 2 SomeString 1 for testing
+2 TestRow2 4 Char2 3 6 4 SomeString 3 for testing
+10 TestRow10 20 Char10 19 38 20 SomeString 19 for testing
+11 TestRow11 22 Char11 21 42 22 SomeString 21 for testing
+12 TestRow12 24 Char12 23 46 24 SomeString 23 for testing
+13 TestRow13 26 Char13 25 50 26 SomeString 25 for testing
+14 TestRow14 28 Char14 27 54 28 SomeString 27 for testing
+15 TestRow15 30 Char15 29 58 30 SomeString 29 for testing
+16 TestRow16 32 Char16 31 62 32 SomeString 31 for testing
+EXPLAIN SELECT * FROM t1, t3 WHERE t3.b=2 AND (t1.c = t3.c OR t1.a=t3.d);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t3 ref ix_b ix_b 5 const 100
+1 SIMPLE t1 ALL PRIMARY,ix_a,ix_c NULL NULL NULL 20 Range checked for each record (index
map: 0xB)
+SELECT * FROM t1, t3 WHERE t3.b=2 AND (t1.c = t3.c OR t1.a=t3.d);
+a b c d a b c d e
+0 TestRow0 0 Char0 2 2 2 0 SomeVarchar 1 for testing
+1 TestRow1 2 Char1 2 2 2 0 SomeVarchar 1 for testing
+ALTER ONLINE TABLE t1
+DROP INDEX ix_a,
+DROP INDEX ix_b,
+DROP INDEX ix_c;
+ALTER ONLINE TABLE t2
+DROP INDEX ix_b,
+DROP INDEX ix_d;
+ALTER ONLINE TABLE t3 DROP INDEX ix_b;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t1 0 PRIMARY 1 a NULL 10 NULL NULL BTREE
+SHOW INDEXES FROM t2;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t2 0 PRIMARY 1 a NULL 16 NULL NULL BTREE
+SHOW INDEXES FROM t3;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
+t3 0 PRIMARY 1 a NULL 500 NULL NULL BTREE
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
=== removed file 'mysql-test/suite/falcon/r/falcon_select_excerpt.result'
--- a/mysql-test/suite/falcon/r/falcon_select_excerpt.result 2007-09-20 15:44:25 +0000
+++ b/mysql-test/suite/falcon/r/falcon_select_excerpt.result 1970-01-01 00:00:00 +0000
@@ -1,83 +0,0 @@
-*** Bug #28686 ***
-SET @@storage_engine = 'Falcon';
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP TABLE IF EXISTS t3;
-DROP TABLE IF EXISTS t4;
-DROP TABLE IF EXISTS t5;
-DROP TABLE IF EXISTS t6;
-CREATE TABLE t1 (f1 varchar(6) DEFAULT NULL, f2 int(6) PRIMARY KEY NOT NULL);
-CREATE TABLE t2 (f3 varchar(5) NOT NULL, f4 varchar(5) NOT NULL, UNIQUE KEY ukey
(f3,f4));
-INSERT INTO t1 VALUES (' 2', 2);
-INSERT INTO t2 VALUES (' 2', ' one '),(' 2', ' two ');
-CREATE TABLE t3 (
-auto int not null auto_increment,
-fld1 int(6) unsigned zerofill DEFAULT '000000' NOT NULL,
-companynr tinyint(2) unsigned zerofill DEFAULT '00' NOT NULL,
-fld3 char(30) DEFAULT '' NOT NULL,
-fld4 char(35) DEFAULT '' NOT NULL,
-fld5 char(35) DEFAULT '' NOT NULL,
-fld6 char(4) DEFAULT '' NOT NULL,
-UNIQUE fld1 (fld1),
-KEY fld3 (fld3),
-PRIMARY KEY (auto)
-);
-INSERT INTO t3 (fld1, companynr) VALUES (999999,99);
-CREATE TABLE t4 (
-companynr tinyint(2) unsigned zerofill NOT NULL default '00',
-companyname char(30) NOT NULL default '',
-PRIMARY KEY (companynr),
-UNIQUE KEY companyname(companyname)
-) MAX_ROWS=50 PACK_KEYS=1 COMMENT='companynames';
-CREATE TABLE t5 (
-a int, b varchar(30),
-PRIMARY KEY(a)
-);
-INSERT INTO t5 VALUES (1,'one');
-INSERT INTO t5 VALUES (2,'two');
-INSERT INTO t5 VALUES (3,'three');
-INSERT INTO t5 VALUES (4,'four');
-CREATE TABLE t6 AS SELECT * FROM t5;
-SELECT * FROM t1 LEFT JOIN t2 ON f1 = f3;
-f1 f2 f3 f4
- 2 2 2 one
- 2 2 2 two
-SELECT t3.companynr,companyname FROM t3 LEFT JOIN t4 USING (companynr) WHERE t4.companynr
IS NULL;
-companynr companyname
-99 NULL
-SELECT * FROM t6 LEFT JOIN t5 ON(t5.a = t6.a) ORDER BY t6.a;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-SELECT * FROM t6 LEFT JOIN t5 USING(a) ORDER BY t6.a;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-SELECT count(*) FROM t1;
-count(*)
-1
-SELECT count(*) FROM t2;
-count(*)
-2
-SELECT count(*) FROM t3;
-count(*)
-1200
-SELECT count(*) FROM t4;
-count(*)
-12
-SELECT count(*) FROM t5;
-count(*)
-4
-SELECT count(*) FROM t6;
-count(*)
-4
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-DROP TABLE t4;
-DROP TABLE t5;
-DROP TABLE t6;
=== modified file 'mysql-test/suite/falcon/t/disabled.def'
--- a/mysql-test/suite/falcon/t/disabled.def 2008-08-11 13:22:53 +0000
+++ b/mysql-test/suite/falcon/t/disabled.def 2008-09-09 08:30:18 +0000
@@ -10,5 +10,5 @@
#
##############################################################################
-falcon_bug_28095_I : Bug#xxxxx 2008-04-22 hakank Disabled until soft restart is in main
tree
-falcon_bug_28095_II : Bug#xxxxx 2008-03-22 hakank Disabled until soft restart is in main
tree
+falcon_bug_28095_I : Bug#39205 2008-09-09 hakank Disabled until soft restart is in main
tree
+falcon_bug_28095_II : Bug#39205 2008-09-09 hakank Disabled until soft restart is in main
tree
=== renamed file 'mysql-test/suite/falcon_team/t/falcon_bug_22189.test' =>
'mysql-test/suite/falcon/t/falcon_bug_22189.test'
--- a/mysql-test/suite/falcon_team/t/falcon_bug_22189.test 2008-04-28 11:21:52 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_22189.test 2008-09-09 08:30:18 +0000
@@ -68,8 +68,10 @@ SELECT * FROM x1;
--echo # Switch to connection conn1
connection conn1;
---send UPDATE x1 SET x1 = 0, x2 = 5
---send INSERT INTO x1 VALUES (0,6)
+--error ER_DUP_ENTRY
+UPDATE x1 SET x1 = 0, x2 = 5;
+--error ER_DUP_ENTRY
+INSERT INTO x1 VALUES (0,6);
--echo # Switch to connection default
connection default;
@@ -77,8 +79,6 @@ ROLLBACK;
--echo # Switch to connection conn1
connection conn1;
---error ER_DUP_ENTRY
---reap
--error ER_DUP_ENTRY
INSERT INTO x1 VALUES (0,6);
--error ER_DUP_ENTRY
=== added file 'mysql-test/suite/falcon/t/falcon_bug_22207-big.test'
--- a/mysql-test/suite/falcon/t/falcon_bug_22207-big.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_22207-big.test 2008-09-09 08:30:18 +0000
@@ -0,0 +1,78 @@
+--source include/have_falcon.inc
+--source include/big_test.inc
+
+#
+# Bug #22207: falcon_record_cache_memory_leak2.test leads to crash sometimes.
+#
+# Record cache memory leak test inspired by Kevin.
+#
+# Note: Big test variant
+# For Mantis bug #257, set the inner loop to 10 and the middle loop to 10,000.
+# We set the middle loop to 15,000 for this --big_test version.
+#
+--echo *** Bug #22207 ***
+
+# ----------------------------------------------------- #
+# --- Initialisation --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1 (c1 varchar(50), c2 int, c3 char(1));
+INSERT INTO t1 VALUES (repeat('A', 50), 0, 'A');
+INSERT INTO t1 VALUES (repeat('B', 50), 0, 'B');
+INSERT INTO t1 VALUES (repeat('C', 50), 0, 'C');
+INSERT INTO t1 VALUES (repeat('D', 50), 0, 'D');
+INSERT INTO t1 VALUES (repeat('E', 50), 0, 'E');
+INSERT INTO t1 VALUES (repeat('F', 50), 0, 'F');
+INSERT INTO t1 VALUES (repeat('G', 50), 0, 'G');
+INSERT INTO t1 VALUES (repeat('H', 50), 0, 'H');
+INSERT INTO t1 VALUES (repeat('I', 50), 0, 'I');
+INSERT INTO t1 VALUES (repeat('J', 50), 0, 'J');
+INSERT INTO t1 VALUES (repeat('K', 50), 0, 'K');
+COMMIT;
+
+# ----------------------------------------------------- #
+# --- Test --- #
+# ----------------------------------------------------- #
+# During this series of updates, there should be no increase in memory
+# since each previous record version should be freed once it is replaced.
+
+# Outer loop controls how many SELECTs are done.
+let $i= 10;
+while ($i)
+{
+ # Middle loop controls how often a COMMIT is done.
+ --disable_query_log
+ let $j= 15000;
+ while ($j)
+ {
+ # Inner loop controls how many UPDATES are done.
+ BEGIN;
+ let $k= 10;
+ while ($k)
+ {
+ UPDATE t1 SET c2 = c2 + 1, c1 = concat(rpad(conv(c2,10,10),10,'_'),
repeat(c3, 40));
+ dec $k;
+ }
+ dec $j;
+ COMMIT;
+ }
+ --enable_query_log
+ SELECT c1 from t1;
+ dec $i;
+}
+
+# ----------------------------------------------------- #
+# --- Check --- #
+# ----------------------------------------------------- #
+SELECT count(*) FROM t1;
+
+# ----------------------------------------------------- #
+# --- Final cleanup --- #
+# ----------------------------------------------------- #
+DROP TABLE t1;
=== renamed file 'mysql-test/suite/falcon_team/t/falcon_bug_22207.test' =>
'mysql-test/suite/falcon/t/falcon_bug_22207.test'
--- a/mysql-test/suite/falcon_team/t/falcon_bug_22207.test 2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_22207.test 2008-09-09 08:30:18 +0000
@@ -1,12 +1,22 @@
--source include/have_falcon.inc
+
+#
+# Bug #22207: falcon_record_cache_memory_leak2.test leads to crash sometimes.
#
# Record cache memory leak test inspired by Kevin.
#
# Note: Do not run in ramdisk!
# For Mantis bug #257, set the inner loop to 10 and the middle loop to 10,000.
-# We set the middle loop to 500 to cope with run time on various Pushbuild machines.
+# We set the middle loop to 250 to cope with run time on various Pushbuild machines.
#
-SET STORAGE_ENGINE = 'Falcon';
+--echo *** Bug #22207 ***
+
+# ----------------------------------------------------- #
+# --- Initialisation --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
@@ -23,6 +33,9 @@ INSERT INTO t1 VALUES (repeat('C', 50),
#INSERT INTO t1 VALUES (repeat('I', 50), 0, 'I');
COMMIT;
+# ----------------------------------------------------- #
+# --- Test --- #
+# ----------------------------------------------------- #
# During this series of updates, there should be no increase in memory
# since each previous record version should be freed once it is replaced.
@@ -30,9 +43,9 @@ COMMIT;
let $i= 10;
while ($i)
{
- # Next loop controls how often a COMMIT is done
+ # Middle loop controls how often a COMMIT is done.
--disable_query_log
- let $j= 500;
+ let $j= 250;
while ($j)
{
# Inner loop controls how many UPDATES are done.
@@ -51,6 +64,12 @@ while ($i)
dec $i;
}
+# ----------------------------------------------------- #
+# --- Check --- #
+# ----------------------------------------------------- #
+SELECT count(*) FROM t1;
-# Final cleanup.
+# ----------------------------------------------------- #
+# --- Final cleanup --- #
+# ----------------------------------------------------- #
DROP TABLE t1;
=== modified file 'mysql-test/suite/falcon/t/falcon_bug_22972.test'
--- a/mysql-test/suite/falcon/t/falcon_bug_22972.test 2007-11-28 14:07:24 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_22972.test 2008-09-09 08:30:18 +0000
@@ -1,15 +1,51 @@
--source include/have_falcon.inc
-CREATE TABLE t1(a INT) ENGINE=Falcon;
-connect (con1,localhost,root,,);
-connection con1;
+
+#
+# Bug #22972: Falcon: Partitioned table with pending transaction leads to strange error
+#
+--echo *** Bug #22972 ***
+
+# ----------------------------------------------------- #
+# --- Initialisation --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1(a int);
+
+--echo # Establish connection conn1 (root)
+connect (conn1,localhost,root,,);
+
+# ----------------------------------------------------- #
+# --- Test --- #
+# ----------------------------------------------------- #
+--echo # Switch to connection conn1
START TRANSACTION;
INSERT INTO t1 VALUES(1);
+
+--echo # Switch to connection default
connection default;
---error 1051
+--error ER_BAD_TABLE_ERROR
DROP TABLE t1;
SHOW WARNINGS;
-connection con1;
+
+--echo # Switch to connection conn1
+connection conn1;
COMMIT;
+
+# ----------------------------------------------------- #
+# --- Check --- #
+# ----------------------------------------------------- #
+SELECT count(*) FROM t1;
+
+# ----------------------------------------------------- #
+# --- Final cleanup --- #
+# ----------------------------------------------------- #
+--echo # Switch to connection default
connection default;
-disconnect con1;
+disconnect conn1;
DROP TABLE t1;
=== renamed file 'mysql-test/suite/falcon_team/t/falcon_bug_24024.test' =>
'mysql-test/suite/falcon/t/falcon_bug_24024.test'
--- a/mysql-test/suite/falcon_team/t/falcon_bug_24024.test 2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_24024.test 2008-09-09 14:59:40 +0000
@@ -1,36 +1,61 @@
+--source include/have_falcon.inc
+
#
-# Bug#24024 wrong error message when drop table (used by pending transaction) fails
+# Bug #24024: wrong error message when drop table (used by pending transaction) fails
#
# This test is a derivate of a subtestcase in mix2.inc.
# Therefore please delete this test when mix2_falcon is pushed.
#
-
--echo *** Bug #24024 ***
-
---source include/have_falcon.inc
-SET SESSION STORAGE_ENGINE = Falcon;
+# ----------------------------------------------------- #
+# --- Initialisation --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
-CREATE TABLE t1(a INT NOT NULL, b INT, primary key(a));
+
+CREATE TABLE t1(a int, b int, primary key(a));
INSERT INTO t1(a) VALUES (1);
COMMIT;
-SET AUTOCOMMIT = 0;
+
+--echo # Establish connection conn1 (user=root)
+connect (conn1,localhost,root,,);
+
+# ----------------------------------------------------- #
+# --- Test --- #
+# ----------------------------------------------------- #
+--echo # Switch to connection default
+connection default;
+SET @@autocommit = 0;
UPDATE t1 SET b = 5 WHERE a = 1;
---echo # Establish session con1 (user=root)
-connect (con1,localhost,root);
+
+--echo # Switch to connection conn1
+connection conn1;
INSERT INTO t1(a) VALUES(7);
COMMIT;
SELECT * FROM t1;
---disable_abort_on_error
+--echo !!! Error message is total crap!
+--echo !!! Something like "Cannot drop locked table" or similar would be fine,
+--echo !!! But never the misleading ERROR 42S02: Unknown table 't1'.
+--error ER_BAD_TABLE_ERROR
DROP TABLE t1;
-COMMIT;
+SHOW WARNINGS;
---echo # Switch to session default and disconnect session con1
+# ----------------------------------------------------- #
+# --- Check --- #
+# ----------------------------------------------------- #
+SELECT count(*) FROM t1;
+
+# ----------------------------------------------------- #
+# --- Final cleanup --- #
+# ----------------------------------------------------- #
+--echo # Switch to connection default
connection default;
-disconnect con1;
+disconnect conn1;
COMMIT;
DROP TABLE t1;
=== added file 'mysql-test/suite/falcon/t/falcon_index_datatypes.test'
--- a/mysql-test/suite/falcon/t/falcon_index_datatypes.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/t/falcon_index_datatypes.test 2008-09-04 18:38:48 +0000
@@ -0,0 +1,407 @@
+--source include/have_falcon.inc
+
+#
+# Test for ADD/DROP INDEX.
+#
+# ONLINE ADD/DROP is part of Worklog 4048, and is implicit.
+# Hence, this test will test ONLINE ADD/DROP INDEX if
+# it is supported by the engine. Otherwise, OFFLINE ADD/DROP
+# is used. See also falcon_online_index test.
+#
+# Note:
+# By using --enable_info command we can check if default
+# ALTER TABLE ... ADD INDEX is online or offline.
+# If ONLINE, affected rows is always 0.
+# If OFFLINE, and the table is non-empty, affected rows is > 0, since the
+# ALTER involved a table copy.
+#
+# This test is focusing on adding/dropping indexes to/from columns of various
+# data types.
+
+# ----------------------------------------------------- #
+# --- Initialisation --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+--enable_warnings
+
+##
+## Should test adding/dropping index for as many supported datatypes as
+## possible.
+##
+## Falcon does not support indexes on the types BLOB, MEDIUMBLOB, LONGBLOB
+## and TEXT. Falcon (supposedly) supports TINYBLOB indexes (because
+## TINYBLOB is mapped to VARCHAR), but this distinction is not visible from
+## the MySQL server.
+##
+## BIT type is handled differently than the rest, as it requires special
+## treatment in SELECTs for the output to be readable.
+##
+## Omitting synonym types. Using mostly default settings.
+##
+## Default CREATE clauses for TIMESTAMP columns are
+## "NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP".
+## To avoid having to filter out ever-changing timestamps, we are using
+## "NOT NULL DEFAULT 0" instead.
+##
+
+
+CREATE TABLE t1 (
+ a_int INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ a_tinyint TINYINT,
+ a_bigint BIGINT,
+ a_float FLOAT,
+ a_double DOUBLE,
+ a_decimal DECIMAL(10,2),
+ a_date DATE,
+ a_time TIME,
+ a_datetime DATETIME,
+ a_timestamp TIMESTAMP NOT NULL DEFAULT 0,
+ a_year YEAR,
+ a_char CHAR(10),
+ a_varchar VARCHAR(255),
+ a_binary BINARY(8),
+ a_varbinary VARBINARY(255),
+ a_enum ENUM('enumValueOne', 'enumValueTwo', 'enumValueThree')
+);
+
+SHOW CREATE TABLE t1;
+
+## BITs are special (binary), hence a separate table t2 so that we can do
+## simple SELECT * on t1.
+
+CREATE TABLE t2 (
+ a_int INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ a_bit BIT(8));
+
+SHOW CREATE TABLE t2;
+
+## Insert some example values. Should have 5 or more values to test LIMIT
+## with indexes. Values may start at either max or min, but are basically
+## randomly chosen (but sortable by humans).
+
+INSERT INTO t1 (
+ a_tinyint, a_bigint,
+ a_float, a_double, a_decimal, a_date,
+ a_time, a_datetime, a_timestamp, a_year,
+ a_char, a_varchar, a_binary, a_varbinary,
+ a_enum)
+ VALUES
+ (
+ 127, 9223372036854775807,
+ 999.99, 999.123456789, 111.99, '2008-07-09',
+ '11:30:00', '2008-07-09 11:30:00', '2008-07-09 11:30:00', '2008',
+ 'aTestChar', 'aTestVarChar', 'aTestBin', 'aTestVarBinary',
+ 'enumValueOne'
+ ),
+ (
+ 126, 9223372036854775806,
+ 998.88, 999.234567891, 112.00, '2008-07-10',
+ '12:30:10', '2008-07-10 12:30:10', '2008-07-10 12:30:10', '2009',
+ 'bTestChar', 'bTestVarChar', 'bTestBin', 'bTestVarBinary',
+ 'enumValueTwo'
+ ),
+ (
+ 125, 9223372036854775805,
+ 997.77, 999.345678912, 112.01, '2008-07-11',
+ '13:30:20', '2008-07-11 13:30:20', '2008-07-11 13:30:20', '2010',
+ 'cTestChar', 'cTestVarChar', 'cTestBin', 'cTestVarBinary',
+ 'enumValueThree'
+ ),
+ (
+ 124, 9223372036854775804,
+ 996.66, 999.456789123, 112.02, '2008-07-12',
+ '14:30:30', '2008-07-12 14:30:30', '2008-07-12 14:30:30', '2011',
+ 'dTestChar', 'dTestVarChar', 'dTestBin', 'dTestVarBinary',
+ 'enumValueOne'
+ ),
+ (
+ 123, 9223372036854775803,
+ 995.55, 999.567891234, 112.03, '2008-07-13',
+ '15:30:40', '2008-07-13 15:30:40', '2008-07-13 15:30:40', '2012',
+ 'eTestChar', 'eTestVarChar', 'eTestBin', 'eTestVarBinary',
+ 'enumValueTwo'
+ );
+
+INSERT INTO t2 (a_bit) VALUES (b'0'), (b'1'), (b'10'), (b'11'), (b'100');
+
+# ----------------------------------------------------- #
+# --- Test --- #
+# ----------------------------------------------------- #
+
+SELECT * FROM t1;
+SELECT a_int, BIN(a_bit+0) FROM t2;
+
+## Using the following procedure for each non-indexed data type/column:
+## 1. Add INDEX for the specific column
+## 2. Check index metadata (Falcon and server and user must agree)
+## 3. Insert new value in indexed column
+## 4. Update a value in indexed column
+## 4. Check that all values are still there
+## 5. Use a LIMIT query to excercise alternative index implementation
+## 6. Add additional index on the same column
+## 7. Drop newly added INDEX for the specified column
+## 8. Check index metadata (Falcon and server and user must agree)
+## 9. Check that the values are still there
+
+--echo #-------- Test: BIT --------#
+
+## BIT column, t2:
+ALTER TABLE t2 ADD INDEX index_bit (a_bit);
+SHOW INDEXES FROM t2;
+INSERT INTO t2 SET a_bit = b'11111';
+UPDATE t2 SET a_bit = b'101010' where a_int > b'101';
+SELECT a_int, BIN(a_bit+0) FROM t2;
+SELECT a_int, BIN(a_bit+0) FROM t2 WHERE a_bit > b'1' LIMIT 1;
+ALTER TABLE t2 DROP INDEX index_bit;
+SHOW INDEXES FROM t2;
+SELECT a_int, BIN(a_bit+0) FROM t2;
+
+--echo #-------- Test: TINYINT --------#
+
+ALTER TABLE t1 ADD INDEX index_tinyint (a_tinyint);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_tinyint = 99;
+UPDATE t1 SET a_tinyint = 88 where a_tinyint = 99;
+SELECT * FROM t1 ORDER BY a_tinyint;
+SELECT * FROM t1 WHERE a_tinyint > 1 LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_tinyint;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: BIGINT --------#
+
+ALTER TABLE t1 ADD INDEX index_bigint (a_bigint);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_bigint = 9223372036854775804;
+UPDATE t1 SET a_bigint = 911111111111111111 where a_bigint = 9223372036854775804;
+SELECT * FROM t1 ORDER BY a_bigint;
+SELECT * FROM t1 WHERE a_bigint > 1 LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_bigint;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: FLOAT --------#
+
+ALTER TABLE t1 ADD INDEX index_float (a_float);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_float = 994.44;
+UPDATE t1 SET a_float = 993.33 where a_float > 994 AND a_float < 994.5;
+SELECT * FROM t1 ORDER BY a_float;
+SELECT * FROM t1 WHERE a_float > 1 LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_float;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: DOUBLE --------#
+
+ALTER TABLE t1 ADD INDEX index_double (a_double);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_double = 999.678912345;
+UPDATE t1 SET a_double = 999.998877665 where a_double = 999.678912345;
+SELECT * FROM t1 ORDER BY a_double;
+SELECT * FROM t1 WHERE a_double > 1 LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_double;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: DECIMAL --------#
+
+ALTER TABLE t1 ADD INDEX index_decimal (a_decimal);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_decimal = 112.04;
+UPDATE t1 SET a_decimal = 112.05 where a_decimal = 112.04;
+SELECT * FROM t1 ORDER BY a_decimal;
+SELECT * FROM t1 WHERE a_decimal > 1 LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_decimal;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: DATE --------#
+
+ALTER TABLE t1 ADD INDEX index_date (a_date);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_date = '2008-07-14';
+UPDATE t1 SET a_date = '2008-08-14' where a_date = '2008-07-14';
+SELECT * FROM t1 ORDER BY a_date;
+SELECT * FROM t1 WHERE a_date > '2008-01-01' LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_date;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: TIME --------#
+
+ALTER TABLE t1 ADD INDEX index_time (a_time);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_time = '16:30:50';
+UPDATE t1 SET a_time = '17:31:00' where a_time = '16:30:50';
+SELECT * FROM t1 ORDER BY a_time;
+SELECT * FROM t1 WHERE a_time > '11:00:00' LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_time;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: DATETIME --------#
+
+ALTER TABLE t1 ADD INDEX index_datetime (a_datetime);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_datetime = '2008-07-14 16:30:50';
+UPDATE t1 SET a_datetime = '2008-08-14 17:31:00' where a_datetime = '2008-07-14
16:30:50';
+SELECT * FROM t1 ORDER BY a_datetime;
+SELECT * FROM t1 WHERE a_datetime > '2008-07-10 00:00:00' LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_datetime;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: TIMESTAMP --------#
+
+ALTER TABLE t1 ADD INDEX index_timestamp (a_timestamp);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_timestamp = '2008-07-14 16:30:50';
+UPDATE t1 SET a_timestamp = '2008-08-14 19:20:21' where a_timestamp = '2008-07-14
16:30:50';
+SELECT * FROM t1 ORDER BY a_timestamp;
+SELECT * FROM t1 WHERE a_timestamp > '2008-07-10 00:00:00' LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_timestamp;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: YEAR --------#
+
+ALTER TABLE t1 ADD INDEX index_year (a_year);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_year = '2013';
+UPDATE t1 SET a_year = '2020' where a_year LIKE '2013';
+SELECT * FROM t1 ORDER BY a_year;
+SELECT * FROM t1 WHERE a_year > '1999' LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_year;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: CHAR --------#
+
+ALTER TABLE t1 ADD INDEX index_char (a_char);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_char = 'fTestChar';
+UPDATE t1 SET a_char = 'gTestChar' where a_char = 'fTestChar';
+SELECT * FROM t1 ORDER BY a_char;
+SELECT * FROM t1 WHERE a_char > 'afalcon' LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_char;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: VARCHAR --------#
+
+ALTER TABLE t1 ADD INDEX index_varchar (a_varchar);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_varchar = 'fTestVarChar';
+UPDATE t1 SET a_varchar = 'gTestVarChar' where a_varchar = 'fTestVarChar';
+SELECT * FROM t1 ORDER BY a_varchar;
+SELECT * FROM t1 WHERE a_varchar > 'afalcon' LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_varchar;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: BINARY --------#
+
+ALTER TABLE t1 ADD INDEX index_binary (a_binary);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_binary = 'fTestBin';
+UPDATE t1 SET a_binary = 'gTestBin' where a_binary = 'fTestBin';
+SELECT * FROM t1 ORDER BY a_binary;
+SELECT * FROM t1 WHERE a_binary > 'afalcon' LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_binary;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: VARBINARY --------#
+
+ALTER TABLE t1 ADD INDEX index_varbinary (a_varbinary);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_varbinary = 'fTestVarBinary';
+UPDATE t1 SET a_varbinary = 'gTestVarBinary' where a_varbinary = 'fTestVarBinary';
+SELECT * FROM t1 ORDER BY a_varbinary;
+SELECT * FROM t1 WHERE a_varbinary > 'afalcon' LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_varbinary;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: ENUM --------#
+
+ALTER TABLE t1 ADD INDEX index_enum (a_binary);
+SHOW INDEXES FROM t1;
+INSERT INTO t1 SET a_enum = 'enumValueThree';
+UPDATE t1 SET a_enum = 'enumValueOne' where a_enum = 'enumValueThree';
+SELECT * FROM t1 ORDER BY a_enum;
+SELECT * FROM t1 WHERE a_enum > 'afalcon' LIMIT 1;
+ALTER TABLE t1 DROP INDEX index_enum;
+SHOW INDEXES FROM t1;
+SELECT * FROM t1;
+
+--echo #-------- Test: Alternative CREATE INDEX --------#
+
+## Try adding all indexes once again using alternative syntax (CREATE...)
+CREATE INDEX index_int on t1 (a_int);
+CREATE INDEX index_bit on t2 (a_bit);
+CREATE INDEX index_tinyint on t1 (a_tinyint);
+CREATE INDEX index_bigint on t1 (a_bigint);
+CREATE INDEX index_float on t1 (a_float);
+CREATE INDEX index_double on t1 (a_double);
+CREATE INDEX index_decimal on t1 (a_decimal);
+CREATE INDEX index_date on t1 (a_date);
+CREATE INDEX index_datetime on t1 (a_datetime);
+CREATE INDEX index_timestamp on t1 (a_timestamp);
+CREATE INDEX index_year on t1 (a_year);
+CREATE INDEX index_char on t1 (a_char);
+CREATE INDEX index_varchar on t1 (a_varchar);
+CREATE INDEX index_binary on t1 (a_binary);
+CREATE INDEX index_varbinary on t1 (a_varbinary);
+CREATE INDEX index_enum on t1 (a_enum);
+
+
+SHOW INDEXES FROM t1;
+SELECT * FROM t1 ORDER BY a_int;
+
+SHOW INDEXES FROM t2;
+SELECT a_int, BIN(a_bit+0) FROM t2 ORDER BY a_int;
+
+## Try dropping all indexes using alternative syntax
+
+--echo #-------- Test: Alternative DROP INDEX --------#
+
+DROP INDEX index_int on t1;
+DROP INDEX index_bit on t2;
+DROP INDEX index_tinyint on t1;
+DROP INDEX index_bigint on t1;
+DROP INDEX index_float on t1;
+DROP INDEX index_double on t1;
+DROP INDEX index_decimal on t1;
+DROP INDEX index_date on t1;
+DROP INDEX index_datetime on t1;
+DROP INDEX index_timestamp on t1;
+DROP INDEX index_year on t1;
+DROP INDEX index_char on t1;
+DROP INDEX index_varchar on t1;
+DROP INDEX index_binary on t1;
+DROP INDEX index_varbinary on t1;
+DROP INDEX index_enum on t1;
+
+
+# ----------------------------------------------------- #
+# --- Check --- #
+# ----------------------------------------------------- #
+SHOW INDEXES FROM t1;
+SELECT * FROM t1 ORDER BY a_int;
+
+SHOW INDEXES FROM t2;
+SELECT a_int, BIN(a_bit+0) FROM t2 ORDER BY a_int;
+
+
+# ----------------------------------------------------- #
+# --- Final cleanup --- #
+# ----------------------------------------------------- #
+DROP TABLE t1;
+DROP TABLE t2;
=== added file 'mysql-test/suite/falcon/t/falcon_online_index.test'
--- a/mysql-test/suite/falcon/t/falcon_online_index.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/t/falcon_online_index.test 2008-09-10 15:08:56 +0000
@@ -0,0 +1,360 @@
+--source include/have_falcon.inc
+
+#
+# Test for ONLINE ADD/DROP INDEX.
+# See also: falcon_index_datatypes
+#
+# ONLINE ADD/DROP was added to Falcon as part of
+# Worklog 4048 - "Falcon: On-line add attribute, Falcon handler part"
+# and is implicit for those statements where ONLINE functionality is supported
+# by the storage engine (and the server).
+#
+# This test is testing that:
+#
+# a) ONLINE is used for some selected ALTER TABLE ... ADD INDEX statements
+# where neither ONLINE nor OFFLINE is specified.
+# b) Alternative syntax works with the ONLINE keyword, for example
+# CREATE ONLINE INDEX
+# ALTER ONLINE TABLE ... ADD KEY
+# c) ONLINE ADD/DROP INDEX works where expected.
+# d) Statements using ONLINE keyword are rejected if the storage engine does
+# not support doing this online.
+#
+# ----------------------------------------------------- #
+# --- Initialisation --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+--enable_warnings
+
+CREATE TABLE t1 (
+ a int PRIMARY KEY,
+ b VARCHAR(255),
+ c int,
+ d CHAR(10)
+);
+
+# Populate t1, 20 rows
+let $i=20;
+let $r=0;
+while ($i < 20)
+{
+ eval INSERT INTO t1 VALUES ($r, 'TestRow$r', $r*2, 'Char$r');
+ dec $i;
+ inc $r;
+}
+
+CREATE TABLE t2 (
+ a int PRIMARY KEY,
+ b int,
+ c int,
+ d VARCHAR(65)
+);
+
+# Populate t2, 33 rows
+# Disable query log for populating t2 in order to avoid large test result file.
+--disable_query_log
+let $i=33;
+let $r=0;
+--echo #-------- Inserting $i rows into t2 (query log disabled) --------#
+while ($i)
+{
+ eval INSERT INTO t2 VALUES ($r, $r*2, $r+1, 'SomeString $r for testing');
+ dec $i;
+ inc $r;
+}
+--enable_query_log
+
+# Need this to test with default values, nullable, non-nullable columns...
+CREATE TABLE t3 (
+ a int PRIMARY KEY AUTO_INCREMENT,
+ b int DEFAULT 9999,
+ c int DEFAULT 8888 NOT NULL,
+ d int NOT NULL,
+ e VARCHAR(65)
+);
+
+# Populate t3, 1000 rows. Disable query log for this operation in order to avoid
+# huge test result file.
+--disable_query_log
+
+let $i=1000;
+let $r=0;
+--echo #-------- Inserting $i rows into t3... (query log disabled) --------#
+while ($i)
+{
+ eval INSERT INTO t3 (b, c, d, e) VALUES ($r*2, $r+1, $r-1, 'SomeVarchar $r for
testing');
+ dec $i;
+ inc $r;
+}
+--enable_query_log
+
+# ----------------------------------------------------- #
+# --- Test --- #
+# ----------------------------------------------------- #
+
+# Do implicit online checking by verifying the number of affected rows from
+# ALTER statement (0 if online, > 0 if offline), hence --enable_info.
+--enable_info
+
+--echo #-------- Testing implicit ONLINE --------#
+
+# Test that ALTER TABLE ADD INDEX is online for nullable column
+ALTER TABLE t1 ADD INDEX ix_b (b);
+DROP INDEX ix_b ON t1;
+
+# Test that CREATE INDEX is online for nullable column
+CREATE INDEX ix_c ON t1 (c);
+DROP INDEX ix_c ON t1;
+
+# Test that ALTER TABLE ADD INDEX is online for nullable column having default value
+ALTER TABLE t3 ADD INDEX ix_b (b);
+SELECT * from t3 where b > 555 ORDER BY a LIMIT 5;
+DROP INDEX ix_b ON t3;
+
+--echo #-------- Testing implicit OFFLINE --------#
+
+# Test that ALTER TABLE ADD INDEX is offline for non-nullable column having default value
+ALTER TABLE t3 ADD INDEX ix_c (c);
+DROP INDEX ix_c ON t3;
+
+# Test that ALTER TABLE ADD INDEX is offline for non-nullable columns
+ALTER TABLE t3 ADD INDEX ix_cd (c, d);
+DROP INDEX ix_cd ON t3;
+
+--disable_info
+
+
+# Test that ONLINE keyword is accepted (or not, depending on statement):
+
+--echo #-------- Testing ONLINE keyword... --------#
+
+--echo #-------- ONLINE: ALTER ADD/DROP INDEX --------#
+
+ALTER ONLINE TABLE t1 ADD INDEX ix_b (b);
+ALTER ONLINE TABLE t1 DROP INDEX ix_b;
+
+--echo #-------- ONLINE: ALTER ADD/DROP KEY --------#
+
+ALTER ONLINE TABLE t1 ADD KEY ix_b (b);
+ALTER ONLINE TABLE t1 DROP KEY ix_b;
+
+--echo #-------- ONLINE: CREATE/DROP INDEX --------#
+
+CREATE ONLINE INDEX ix_c ON t1 (c);
+DROP ONLINE INDEX ix_c ON t1;
+
+--echo #-------- ONLINE: ADD INDEX default name --------#
+
+ALTER ONLINE TABLE t1 ADD INDEX (b);
+ALTER ONLINE TABLE t1 DROP INDEX b;
+
+--echo #-------- ONLINE: ALTER ADD nullable with default --------#
+
+# Test ALTER ... ADD ... with ONLINE for nullable column having default value
+ALTER ONLINE TABLE t3 ADD INDEX ix_b (b);
+SELECT * from t3 where b > 555 ORDER BY a LIMIT 5;
+ALTER ONLINE TABLE t3 DROP INDEX ix_b;
+
+--echo #-------- ONLINE: ALTER ADD not-null with default --------#
+
+# Test that ALTER ONLINE ... ADD INDEX fails with ONLINE for non-nullable column having
default value
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t3 ADD INDEX ix_c (c);
+
+--echo #-------- ONLINE: ALTER ADD not-null --------#
+
+# Test that ALTER ONLINE ... ADD INDEX fails with ONLINE for non-nullable columns
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t3 ADD INDEX ix_d (d);
+
+--echo #-------- ONLINE: ALTER ADD same key multiple times --------#
+
+# Test adding the same key more than once (should fail but not crash)
+ALTER ONLINE TABLE t1 ADD INDEX index_c (c);
+--error ER_DUP_KEYNAME
+ALTER ONLINE TABLE t1 ADD INDEX index_c (c);
+--error ER_DUP_KEYNAME
+ALTER ONLINE TABLE t1 ADD INDEX index_c (c);
+SHOW INDEXES FROM t1;
+
+--echo #-------- ONLINE: ALTER DROP same key multiple times --------#
+
+# Test dropping the same key more than once (dropping key added in previous segment).
+# Should fail but not crash.
+ALTER ONLINE TABLE t1 DROP INDEX index_c;
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER ONLINE TABLE t1 DROP INDEX index_c;
+--error ER_CANT_DROP_FIELD_OR_KEY
+ALTER ONLINE TABLE t1 DROP INDEX index_c;
+SHOW INDEXES FROM t1;
+
+--echo #-------- ONLINE: ALTER ADD/DROP PRIMARY KEY --------#
+
+# Adding/dropping PRIMARY KEY is not supposed to work ONLINE
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 DROP PRIMARY KEY;
+# Now drop primary key (offline) on 'a' temporarily in order to try adding one online
+ALTER TABLE t1 DROP PRIMARY KEY;
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 ADD PRIMARY KEY (c);
+SHOW INDEXES FROM t1;
+# Re-set primary key on 'a'
+ALTER TABLE t1 ADD PRIMARY KEY (a);
+
+##
+## Testing some statement variations using ADD/DROP INDEX
+##
+
+--echo #-------- Test: UNIQUE --------#
+
+## Test adding UNIQUE index
+ALTER ONLINE TABLE t2 ADD UNIQUE INDEX ix_unique_c (c);
+EXPLAIN SELECT * FROM t2 WHERE c < 25 AND c > 20 ORDER BY c;
+SELECT * FROM t2 WHERE c < 25 AND c > 20 ORDER BY c;
+SHOW INDEXES FROM t2;
+DESCRIBE t2;
+DROP ONLINE INDEX ix_unique_c ON t2;
+SHOW INDEXES FROM t2;
+
+--echo #-------- Test: DESC --------#
+
+## Test using DESC keyword (parsed but not used)
+ALTER ONLINE TABLE t3 ADD INDEX ix_desc_b (b DESC);
+ALTER ONLINE TABLE t3 ADD INDEX ix_asc_b (b ASC);
+SHOW INDEXES FROM t3;
+DROP ONLINE INDEX ix_desc_b ON t3;
+DROP ONLINE INDEX ix_asc_b ON t3;
+
+--echo #-------- Test: KEY_BLOCK_SIZE --------#
+
+## Test adding index and specifying KEY_BLOCK_SIZE.
+## KEY _BLOCK_SIZE 0 indicates that the default should be used.
+ALTER ONLINE TABLE t1 ADD INDEX ix_keyblock_b (b) KEY_BLOCK_SIZE = 0;
+EXPLAIN SELECT * FROM t1 WHERE b LIKE 'TestRow1%' ORDER BY b;
+SELECT * FROM t1 WHERE b LIKE 'TestRow1%' ORDER BY b;
+SHOW INDEXES FROM t1;
+ALTER ONLINE TABLE t1 DROP INDEX ix_keyblock_b;
+
+--echo #-------- Test: COMMENT --------#
+
+## Test adding index and specifying a comment
+ALTER ONLINE TABLE t1 ADD INDEX ix_b (b) COMMENT 'Test comment';
+EXPLAIN SELECT * FROM t1 WHERE b LIKE 'TestRow1%' ORDER BY b;
+SELECT * FROM t1 WHERE b LIKE 'TestRow1%' ORDER BY b;
+SHOW INDEXES FROM t1;
+ALTER ONLINE TABLE t1 DROP INDEX ix_b;
+
+--echo #-------- Test: Multiple columns --------#
+
+## Test ADD INDEX on multiple columns
+ALTER ONLINE TABLE t1 ADD INDEX index_multicol (b, c, d);
+SHOW INDEXES FROM t1;
+## Query using the two left-most keys
+EXPLAIN SELECT * FROM t1 WHERE b LIKE 'TestRow3%' AND c = 6 ORDER BY b, c, d;
+SELECT * FROM t1 WHERE b LIKE 'TestRow3%' AND c = 6 ORDER BY b, c, d;
+DROP INDEX index_multicol ON t1;
+
+--echo #-------- Test: Multiple ADD INDEX on same column --------#
+
+ALTER ONLINE TABLE t1 ADD INDEX index_1d (d);
+ALTER ONLINE TABLE t1 ADD INDEX index_2d (d);
+CREATE ONLINE INDEX index_3d ON t1 (d);
+SHOW INDEXES FROM t1;
+DROP ONLINE INDEX index_1d ON t1;
+DROP ONLINE INDEX index_2d ON t1;
+DROP ONLINE INDEX index_3d ON t1;
+
+--echo #-------- Test: Multiple ADD INDEX in a single statement --------#
+
+ALTER TABLE t1
+ ADD INDEX index_varchar (b),
+ ADD INDEX index_int (c);
+ALTER TABLE t3
+ ADD INDEX index_int (b),
+ ADD INDEX index_multi (b,e),
+ ADD INDEX index_varchar (e);
+SHOW INDEXES FROM t1;
+SHOW INDEXES FROM t3;
+
+--echo #-------- Test: Multiple DROP INDEX in a single statement --------#
+
+## Depends on indexes added in previous test segment.
+ALTER TABLE t1
+ DROP INDEX index_varchar,
+ DROP INDEX index_int;
+ALTER TABLE t3
+ DROP INDEX index_int,
+ DROP INDEX index_multi,
+ DROP INDEX index_varchar;
+SHOW INDEXES FROM t1;
+SHOW INDEXES FROM t3;
+
+--echo #-------- Test: Combined ADD/DROP INDEX in a single statement --------#
+
+ALTER TABLE t1 ADD INDEX index_int (c);
+ALTER TABLE t1 ADD INDEX index_char (d), DROP INDEX index_int;
+SHOW INDEXES FROM t1;
+ALTER TABLE t1 DROP INDEX index_char;
+
+--echo #-------- Test: ADD INDEX followed by some complex queries --------#
+
+# First index added offline (non-nullable column), others online.
+ALTER TABLE t1 ADD INDEX ix_a (a);
+ALTER ONLINE TABLE t1 ADD INDEX ix_b (b);
+ALTER ONLINE TABLE t1 ADD INDEX ix_c (c);
+
+ALTER ONLINE TABLE t2
+ ADD INDEX ix_b (b),
+ ADD INDEX ix_d (d);
+
+ALTER ONLINE TABLE t3 ADD INDEX ix_b (b);
+
+## Two keys, existing values
+EXPLAIN SELECT * FROM t1 WHERE a = 3 OR (c > 10 AND a < 15) ORDER BY a;
+SELECT * FROM t1 WHERE a = 3 OR (c > 10 AND a < 15) ORDER BY a;
+
+## Two keys, one non-existing and one existing value
+EXPLAIN SELECT * FROM t1 WHERE a = 99 OR b LIKE 'TestRow7%';
+SELECT * FROM t1 WHERE a = 99 OR b LIKE 'TestRow7%';
+
+## Two keys and a non-key
+EXPLAIN SELECT * FROM t1 WHERE (a = 10 OR b LIKE 'TestRow11') AND d LIKE 'Char%' ORDER BY
a;
+SELECT * FROM t1 WHERE (a = 10 OR b LIKE 'TestRow11') AND d LIKE 'Char%' ORDER BY a;
+
+## Two tables, keys in both, compare key to non-key
+EXPLAIN SELECT * FROM t1, t2 WHERE (t1.a IN (1,2) OR t1.b LIKE 'TestRow1%') AND
t1.c=t2.c;
+SELECT * FROM t1, t2 WHERE (t1.a IN (1,2) OR t1.b LIKE 'TestRow1%') AND t1.c=t2.c;
+EXPLAIN SELECT * FROM t1, t3 WHERE t3.b=2 AND (t1.c = t3.c OR t1.a=t3.d);
+SELECT * FROM t1, t3 WHERE t3.b=2 AND (t1.c = t3.c OR t1.a=t3.d);
+
+ALTER ONLINE TABLE t1
+ DROP INDEX ix_a,
+ DROP INDEX ix_b,
+ DROP INDEX ix_c;
+
+ALTER ONLINE TABLE t2
+ DROP INDEX ix_b,
+ DROP INDEX ix_d;
+
+ALTER ONLINE TABLE t3 DROP INDEX ix_b;
+
+
+# ----------------------------------------------------- #
+# --- Check --- #
+# ----------------------------------------------------- #
+SHOW INDEXES FROM t1;
+SHOW INDEXES FROM t2;
+SHOW INDEXES FROM t3;
+
+# ----------------------------------------------------- #
+# --- Final cleanup --- #
+# ----------------------------------------------------- #
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
=== removed file 'mysql-test/suite/falcon/t/falcon_select_excerpt.test'
--- a/mysql-test/suite/falcon/t/falcon_select_excerpt.test 2007-09-29 04:30:42 +0000
+++ b/mysql-test/suite/falcon/t/falcon_select_excerpt.test 1970-01-01 00:00:00 +0000
@@ -1,1310 +0,0 @@
---source include/have_falcon.inc
-#
-# Bug #28686: Falcon: falcon_select.test regressed
-# Note: Extracted from falcon_select.test and ps_8falcon.test
-#
-
---echo *** Bug #28686 ***
-
-# ----------------------------------------------------- #
-# --- Initialisation --- #
-# ----------------------------------------------------- #
-let $engine = 'Falcon';
-eval SET @@storage_engine = $engine;
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP TABLE IF EXISTS t3;
-DROP TABLE IF EXISTS t4;
-DROP TABLE IF EXISTS t5;
-DROP TABLE IF EXISTS t6;
---enable_warnings
-
-CREATE TABLE t1 (f1 varchar(6) DEFAULT NULL, f2 int(6) PRIMARY KEY NOT NULL);
-CREATE TABLE t2 (f3 varchar(5) NOT NULL, f4 varchar(5) NOT NULL, UNIQUE KEY ukey
(f3,f4));
-INSERT INTO t1 VALUES (' 2', 2);
-INSERT INTO t2 VALUES (' 2', ' one '),(' 2', ' two ');
-
-CREATE TABLE t3 (
- auto int not null auto_increment,
- fld1 int(6) unsigned zerofill DEFAULT '000000' NOT NULL,
- companynr tinyint(2) unsigned zerofill DEFAULT '00' NOT NULL,
- fld3 char(30) DEFAULT '' NOT NULL,
- fld4 char(35) DEFAULT '' NOT NULL,
- fld5 char(35) DEFAULT '' NOT NULL,
- fld6 char(4) DEFAULT '' NOT NULL,
- UNIQUE fld1 (fld1),
- KEY fld3 (fld3),
- PRIMARY KEY (auto)
-);
-
-#
-# Populate table t3
-#
-
---disable_query_log
-INSERT INTO t3 VALUES (1,000001,00,'Omaha','teethe','neat','');
-INSERT INTO t3 VALUES (2,011401,37,'breaking','dreaded','Steinberg','W');
-INSERT INTO t3 VALUES (3,011402,37,'Romans','scholastics','jarring','');
-INSERT INTO t3 VALUES (4,011403,37,'intercepted','audiology','tinily','');
-INSERT INTO t3 VALUES (5,011501,37,'bewilderingly','wallet','balled','');
-INSERT INTO t3 VALUES (6,011701,37,'astound','parters','persist','W');
-INSERT INTO t3 VALUES (7,011702,37,'admonishing','eschew','attainments','');
-INSERT INTO t3 VALUES (8,011703,37,'sumac','quitter','fanatic','');
-INSERT INTO t3 VALUES (9,012001,37,'flanking','neat','measures','FAS');
-INSERT INTO t3 VALUES (10,012003,37,'combed','Steinberg','rightfulness','');
-INSERT INTO t3 VALUES (11,012004,37,'subjective','jarring','capably','');
-INSERT INTO t3 VALUES (12,012005,37,'scatterbrain','tinily','impulsive','');
-INSERT INTO t3 VALUES (13,012301,37,'Eulerian','balled','starlet','');
-INSERT INTO t3 VALUES (14,012302,36,'dubbed','persist','terminators','');
-INSERT INTO t3 VALUES (15,012303,37,'Kane','attainments','untying','');
-INSERT INTO t3 VALUES (16,012304,37,'overlay','fanatic','announces','FAS');
-INSERT INTO t3 VALUES (17,012305,37,'perturb','measures','featherweight','FAS');
-INSERT INTO t3 VALUES (18,012306,37,'goblins','rightfulness','pessimist','FAS');
-INSERT INTO t3 VALUES (19,012501,37,'annihilates','capably','daughter','');
-INSERT INTO t3 VALUES (20,012602,37,'Wotan','impulsive','decliner','FAS');
-INSERT INTO t3 VALUES (21,012603,37,'snatching','starlet','lawgiver','');
-INSERT INTO t3 VALUES (22,012604,37,'concludes','terminators','stated','');
-INSERT INTO t3 VALUES (23,012605,37,'laterally','untying','readable','');
-INSERT INTO t3 VALUES (24,012606,37,'yelped','announces','attrition','');
-INSERT INTO t3 VALUES (25,012701,37,'grazing','featherweight','cascade','FAS');
-INSERT INTO t3 VALUES (26,012702,37,'Baird','pessimist','motors','FAS');
-INSERT INTO t3 VALUES (27,012703,37,'celery','daughter','interrogate','');
-INSERT INTO t3 VALUES (28,012704,37,'misunderstander','decliner','pests','W');
-INSERT INTO t3 VALUES (29,013601,37,'handgun','lawgiver','stairway','');
-INSERT INTO t3 VALUES (30,013602,37,'foldout','stated','dopers','FAS');
-INSERT INTO t3 VALUES (31,013603,37,'mystic','readable','testicle','W');
-INSERT INTO t3 VALUES (32,013604,37,'succumbed','attrition','Parsifal','W');
-INSERT INTO t3 VALUES (33,013605,37,'Nabisco','cascade','leavings','');
-INSERT INTO t3 VALUES (34,013606,37,'fingerings','motors','postulation','W');
-INSERT INTO t3 VALUES (35,013607,37,'aging','interrogate','squeaking','');
-INSERT INTO t3 VALUES (36,013608,37,'afield','pests','contrasted','');
-INSERT INTO t3 VALUES (37,013609,37,'ammonium','stairway','leftover','');
-INSERT INTO t3 VALUES (38,013610,37,'boat','dopers','whiteners','');
-INSERT INTO t3 VALUES (39,013801,37,'intelligibility','testicle','erases','W');
-INSERT INTO t3 VALUES (40,013802,37,'Augustine','Parsifal','Punjab','W');
-INSERT INTO t3 VALUES (41,013803,37,'teethe','leavings','Merritt','');
-INSERT INTO t3 VALUES (42,013804,37,'dreaded','postulation','Quixotism','');
-INSERT INTO t3 VALUES (43,013901,37,'scholastics','squeaking','sweetish','FAS');
-INSERT INTO t3 VALUES (44,016001,37,'audiology','contrasted','dogging','FAS');
-INSERT INTO t3 VALUES (45,016201,37,'wallet','leftover','scornfully','FAS');
-INSERT INTO t3 VALUES (46,016202,37,'parters','whiteners','bellow','');
-INSERT INTO t3 VALUES (47,016301,37,'eschew','erases','bills','');
-INSERT INTO t3 VALUES (48,016302,37,'quitter','Punjab','cupboard','FAS');
-INSERT INTO t3 VALUES (49,016303,37,'neat','Merritt','sureties','FAS');
-INSERT INTO t3 VALUES (50,016304,37,'Steinberg','Quixotism','puddings','');
-INSERT INTO t3 VALUES (51,018001,37,'jarring','sweetish','tapestry','');
-INSERT INTO t3 VALUES (52,018002,37,'tinily','dogging','fetters','');
-INSERT INTO t3 VALUES (53,018003,37,'balled','scornfully','bivalves','');
-INSERT INTO t3 VALUES (54,018004,37,'persist','bellow','incurring','');
-INSERT INTO t3 VALUES (55,018005,37,'attainments','bills','Adolph','');
-INSERT INTO t3 VALUES (56,018007,37,'fanatic','cupboard','pithed','');
-INSERT INTO t3 VALUES (57,018008,37,'measures','sureties','emergency','');
-INSERT INTO t3 VALUES (58,018009,37,'rightfulness','puddings','Miles','');
-INSERT INTO t3 VALUES (59,018010,37,'capably','tapestry','trimmings','');
-INSERT INTO t3 VALUES (60,018012,37,'impulsive','fetters','tragedies','W');
-INSERT INTO t3 VALUES (61,018013,37,'starlet','bivalves','skulking','W');
-INSERT INTO t3 VALUES (62,018014,37,'terminators','incurring','flint','');
-INSERT INTO t3 VALUES (63,018015,37,'untying','Adolph','flopping','W');
-INSERT INTO t3 VALUES (64,018016,37,'announces','pithed','relaxing','FAS');
-INSERT INTO t3 VALUES (65,018017,37,'featherweight','emergency','offload','FAS');
-INSERT INTO t3 VALUES (66,018018,37,'pessimist','Miles','suites','W');
-INSERT INTO t3 VALUES (67,018019,37,'daughter','trimmings','lists','FAS');
-INSERT INTO t3 VALUES (68,018020,37,'decliner','tragedies','animized','FAS');
-INSERT INTO t3 VALUES (69,018021,37,'lawgiver','skulking','multilayer','W');
-INSERT INTO t3 VALUES (70,018022,37,'stated','flint','standardizes','FAS');
-INSERT INTO t3 VALUES (71,018023,37,'readable','flopping','Judas','');
-INSERT INTO t3 VALUES (72,018024,37,'attrition','relaxing','vacuuming','W');
-INSERT INTO t3 VALUES (73,018025,37,'cascade','offload','dentally','W');
-INSERT INTO t3 VALUES (74,018026,37,'motors','suites','humanness','W');
-INSERT INTO t3 VALUES (75,018027,37,'interrogate','lists','inch','W');
-INSERT INTO t3 VALUES (76,018028,37,'pests','animized','Weissmuller','W');
-INSERT INTO t3 VALUES (77,018029,37,'stairway','multilayer','irresponsibly','W');
-INSERT INTO t3 VALUES (78,018030,37,'dopers','standardizes','luckily','FAS');
-INSERT INTO t3 VALUES (79,018032,37,'testicle','Judas','culled','W');
-INSERT INTO t3 VALUES (80,018033,37,'Parsifal','vacuuming','medical','FAS');
-INSERT INTO t3 VALUES (81,018034,37,'leavings','dentally','bloodbath','FAS');
-INSERT INTO t3 VALUES (82,018035,37,'postulation','humanness','subschema','W');
-INSERT INTO t3 VALUES (83,018036,37,'squeaking','inch','animals','W');
-INSERT INTO t3 VALUES (84,018037,37,'contrasted','Weissmuller','Micronesia','');
-INSERT INTO t3 VALUES (85,018038,37,'leftover','irresponsibly','repetitions','');
-INSERT INTO t3 VALUES (86,018039,37,'whiteners','luckily','Antares','');
-INSERT INTO t3 VALUES (87,018040,37,'erases','culled','ventilate','W');
-INSERT INTO t3 VALUES (88,018041,37,'Punjab','medical','pityingly','');
-INSERT INTO t3 VALUES (89,018042,37,'Merritt','bloodbath','interdependent','');
-INSERT INTO t3 VALUES (90,018043,37,'Quixotism','subschema','Graves','FAS');
-INSERT INTO t3 VALUES (91,018044,37,'sweetish','animals','neonatal','');
-INSERT INTO t3 VALUES (92,018045,37,'dogging','Micronesia','scribbled','FAS');
-INSERT INTO t3 VALUES (93,018046,37,'scornfully','repetitions','chafe','W');
-INSERT INTO t3 VALUES (94,018048,37,'bellow','Antares','honoring','');
-INSERT INTO t3 VALUES (95,018049,37,'bills','ventilate','realtor','');
-INSERT INTO t3 VALUES (96,018050,37,'cupboard','pityingly','elite','');
-INSERT INTO t3 VALUES (97,018051,37,'sureties','interdependent','funereal','');
-INSERT INTO t3 VALUES (98,018052,37,'puddings','Graves','abrogating','');
-INSERT INTO t3 VALUES (99,018053,50,'tapestry','neonatal','sorters','');
-INSERT INTO t3 VALUES (100,018054,37,'fetters','scribbled','Conley','');
-INSERT INTO t3 VALUES (101,018055,37,'bivalves','chafe','lectured','');
-INSERT INTO t3 VALUES (102,018056,37,'incurring','honoring','Abraham','');
-INSERT INTO t3 VALUES (103,018057,37,'Adolph','realtor','Hawaii','W');
-INSERT INTO t3 VALUES (104,018058,37,'pithed','elite','cage','');
-INSERT INTO t3 VALUES (105,018059,36,'emergency','funereal','hushes','');
-INSERT INTO t3 VALUES (106,018060,37,'Miles','abrogating','Simla','');
-INSERT INTO t3 VALUES (107,018061,37,'trimmings','sorters','reporters','');
-INSERT INTO t3 VALUES (108,018101,37,'tragedies','Conley','Dutchman','FAS');
-INSERT INTO t3 VALUES (109,018102,37,'skulking','lectured','descendants','FAS');
-INSERT INTO t3 VALUES (110,018103,37,'flint','Abraham','groupings','FAS');
-INSERT INTO t3 VALUES (111,018104,37,'flopping','Hawaii','dissociate','');
-INSERT INTO t3 VALUES (112,018201,37,'relaxing','cage','coexist','W');
-INSERT INTO t3 VALUES (113,018202,37,'offload','hushes','Beebe','');
-INSERT INTO t3 VALUES (114,018402,37,'suites','Simla','Taoism','');
-INSERT INTO t3 VALUES (115,018403,37,'lists','reporters','Connally','');
-INSERT INTO t3 VALUES (116,018404,37,'animized','Dutchman','fetched','FAS');
-INSERT INTO t3 VALUES (117,018405,37,'multilayer','descendants','checkpoints','FAS');
-INSERT INTO t3 VALUES (118,018406,37,'standardizes','groupings','rusting','');
-INSERT INTO t3 VALUES (119,018409,37,'Judas','dissociate','galling','');
-INSERT INTO t3 VALUES (120,018601,37,'vacuuming','coexist','obliterates','');
-INSERT INTO t3 VALUES (121,018602,37,'dentally','Beebe','traitor','');
-INSERT INTO t3 VALUES (122,018603,37,'humanness','Taoism','resumes','FAS');
-INSERT INTO t3 VALUES (123,018801,37,'inch','Connally','analyzable','FAS');
-INSERT INTO t3 VALUES (124,018802,37,'Weissmuller','fetched','terminator','FAS');
-INSERT INTO t3 VALUES (125,018803,37,'irresponsibly','checkpoints','gritty','FAS');
-INSERT INTO t3 VALUES (126,018804,37,'luckily','rusting','firearm','W');
-INSERT INTO t3 VALUES (127,018805,37,'culled','galling','minima','');
-INSERT INTO t3 VALUES (128,018806,37,'medical','obliterates','Selfridge','');
-INSERT INTO t3 VALUES (129,018807,37,'bloodbath','traitor','disable','');
-INSERT INTO t3 VALUES (130,018808,37,'subschema','resumes','witchcraft','W');
-INSERT INTO t3 VALUES (131,018809,37,'animals','analyzable','betroth','W');
-INSERT INTO t3 VALUES (132,018810,37,'Micronesia','terminator','Manhattanize','');
-INSERT INTO t3 VALUES (133,018811,37,'repetitions','gritty','imprint','');
-INSERT INTO t3 VALUES (134,018812,37,'Antares','firearm','peeked','');
-INSERT INTO t3 VALUES (135,019101,37,'ventilate','minima','swelling','');
-INSERT INTO t3 VALUES (136,019102,37,'pityingly','Selfridge','interrelationships','W');
-INSERT INTO t3 VALUES (137,019103,37,'interdependent','disable','riser','');
-INSERT INTO t3 VALUES (138,019201,37,'Graves','witchcraft','Gandhian','W');
-INSERT INTO t3 VALUES (139,030501,37,'neonatal','betroth','peacock','A');
-INSERT INTO t3 VALUES (140,030502,50,'scribbled','Manhattanize','bee','A');
-INSERT INTO t3 VALUES (141,030503,37,'chafe','imprint','kanji','');
-INSERT INTO t3 VALUES (142,030504,37,'honoring','peeked','dental','');
-INSERT INTO t3 VALUES (143,031901,37,'realtor','swelling','scarf','FAS');
-INSERT INTO t3 VALUES (144,036001,37,'elite','interrelationships','chasm','A');
-INSERT INTO t3 VALUES (145,036002,37,'funereal','riser','insolence','A');
-INSERT INTO t3 VALUES (146,036004,37,'abrogating','Gandhian','syndicate','');
-INSERT INTO t3 VALUES (147,036005,37,'sorters','peacock','alike','');
-INSERT INTO t3 VALUES (148,038001,37,'Conley','bee','imperial','A');
-INSERT INTO t3 VALUES (149,038002,37,'lectured','kanji','convulsion','A');
-INSERT INTO t3 VALUES (150,038003,37,'Abraham','dental','railway','A');
-INSERT INTO t3 VALUES (151,038004,37,'Hawaii','scarf','validate','A');
-INSERT INTO t3 VALUES (152,038005,37,'cage','chasm','normalizes','A');
-INSERT INTO t3 VALUES (153,038006,37,'hushes','insolence','comprehensive','');
-INSERT INTO t3 VALUES (154,038007,37,'Simla','syndicate','chewing','');
-INSERT INTO t3 VALUES (155,038008,37,'reporters','alike','denizen','');
-INSERT INTO t3 VALUES (156,038009,37,'Dutchman','imperial','schemer','');
-INSERT INTO t3 VALUES (157,038010,37,'descendants','convulsion','chronicle','');
-INSERT INTO t3 VALUES (158,038011,37,'groupings','railway','Kline','');
-INSERT INTO t3 VALUES (159,038012,37,'dissociate','validate','Anatole','');
-INSERT INTO t3 VALUES (160,038013,37,'coexist','normalizes','partridges','');
-INSERT INTO t3 VALUES (161,038014,37,'Beebe','comprehensive','brunch','');
-INSERT INTO t3 VALUES (162,038015,37,'Taoism','chewing','recruited','');
-INSERT INTO t3 VALUES (163,038016,37,'Connally','denizen','dimensions','W');
-INSERT INTO t3 VALUES (164,038017,37,'fetched','schemer','Chicana','W');
-INSERT INTO t3 VALUES (165,038018,37,'checkpoints','chronicle','announced','');
-INSERT INTO t3 VALUES (166,038101,37,'rusting','Kline','praised','FAS');
-INSERT INTO t3 VALUES (167,038102,37,'galling','Anatole','employing','');
-INSERT INTO t3 VALUES (168,038103,37,'obliterates','partridges','linear','');
-INSERT INTO t3 VALUES (169,038104,37,'traitor','brunch','quagmire','');
-INSERT INTO t3 VALUES (170,038201,37,'resumes','recruited','western','A');
-INSERT INTO t3 VALUES (171,038202,37,'analyzable','dimensions','relishing','');
-INSERT INTO t3 VALUES (172,038203,37,'terminator','Chicana','serving','A');
-INSERT INTO t3 VALUES (173,038204,37,'gritty','announced','scheduling','');
-INSERT INTO t3 VALUES (174,038205,37,'firearm','praised','lore','');
-INSERT INTO t3 VALUES (175,038206,37,'minima','employing','eventful','');
-INSERT INTO t3 VALUES (176,038208,37,'Selfridge','linear','arteriole','A');
-INSERT INTO t3 VALUES (177,042801,37,'disable','quagmire','disentangle','');
-INSERT INTO t3 VALUES (178,042802,37,'witchcraft','western','cured','A');
-INSERT INTO t3 VALUES (179,046101,37,'betroth','relishing','Fenton','W');
-INSERT INTO t3 VALUES (180,048001,37,'Manhattanize','serving','avoidable','A');
-INSERT INTO t3 VALUES (181,048002,37,'imprint','scheduling','drains','A');
-INSERT INTO t3 VALUES (182,048003,37,'peeked','lore','detectably','FAS');
-INSERT INTO t3 VALUES (183,048004,37,'swelling','eventful','husky','');
-INSERT INTO t3 VALUES (184,048005,37,'interrelationships','arteriole','impelling','');
-INSERT INTO t3 VALUES (185,048006,37,'riser','disentangle','undoes','');
-INSERT INTO t3 VALUES (186,048007,37,'Gandhian','cured','evened','');
-INSERT INTO t3 VALUES (187,048008,37,'peacock','Fenton','squeezes','');
-INSERT INTO t3 VALUES (188,048101,37,'bee','avoidable','destroyer','FAS');
-INSERT INTO t3 VALUES (189,048102,37,'kanji','drains','rudeness','');
-INSERT INTO t3 VALUES (190,048201,37,'dental','detectably','beaner','FAS');
-INSERT INTO t3 VALUES (191,048202,37,'scarf','husky','boorish','');
-INSERT INTO t3 VALUES (192,048203,37,'chasm','impelling','Everhart','');
-INSERT INTO t3 VALUES (193,048204,37,'insolence','undoes','encompass','A');
-INSERT INTO t3 VALUES (194,048205,37,'syndicate','evened','mushrooms','');
-INSERT INTO t3 VALUES (195,048301,37,'alike','squeezes','Alison','A');
-INSERT INTO t3 VALUES (196,048302,37,'imperial','destroyer','externally','FAS');
-INSERT INTO t3 VALUES (197,048303,37,'convulsion','rudeness','pellagra','');
-INSERT INTO t3 VALUES (198,048304,37,'railway','beaner','cult','');
-INSERT INTO t3 VALUES (199,048305,37,'validate','boorish','creek','A');
-INSERT INTO t3 VALUES (200,048401,37,'normalizes','Everhart','Huffman','');
-INSERT INTO t3 VALUES (201,048402,37,'comprehensive','encompass','Majorca','FAS');
-INSERT INTO t3 VALUES (202,048403,37,'chewing','mushrooms','governing','A');
-INSERT INTO t3 VALUES (203,048404,37,'denizen','Alison','gadfly','FAS');
-INSERT INTO t3 VALUES (204,048405,37,'schemer','externally','reassigned','FAS');
-INSERT INTO t3 VALUES (205,048406,37,'chronicle','pellagra','intentness','W');
-INSERT INTO t3 VALUES (206,048407,37,'Kline','cult','craziness','');
-INSERT INTO t3 VALUES (207,048408,37,'Anatole','creek','psychic','');
-INSERT INTO t3 VALUES (208,048409,37,'partridges','Huffman','squabbled','');
-INSERT INTO t3 VALUES (209,048410,37,'brunch','Majorca','burlesque','');
-INSERT INTO t3 VALUES (210,048411,37,'recruited','governing','capped','');
-INSERT INTO t3 VALUES (211,048412,37,'dimensions','gadfly','extracted','A');
-INSERT INTO t3 VALUES (212,048413,37,'Chicana','reassigned','DiMaggio','');
-INSERT INTO t3 VALUES (213,048601,37,'announced','intentness','exclamation','FAS');
-INSERT INTO t3 VALUES (214,048602,37,'praised','craziness','subdirectory','');
-INSERT INTO t3 VALUES (215,048603,37,'employing','psychic','fangs','');
-INSERT INTO t3 VALUES (216,048604,37,'linear','squabbled','buyer','A');
-INSERT INTO t3 VALUES (217,048801,37,'quagmire','burlesque','pithing','A');
-INSERT INTO t3 VALUES (218,050901,37,'western','capped','transistorizing','A');
-INSERT INTO t3 VALUES (219,051201,37,'relishing','extracted','nonbiodegradable','');
-INSERT INTO t3 VALUES (220,056002,37,'serving','DiMaggio','dislocate','');
-INSERT INTO t3 VALUES (221,056003,37,'scheduling','exclamation','monochromatic','FAS');
-INSERT INTO t3 VALUES (222,056004,37,'lore','subdirectory','batting','');
-INSERT INTO t3 VALUES (223,056102,37,'eventful','fangs','postcondition','A');
-INSERT INTO t3 VALUES (224,056203,37,'arteriole','buyer','catalog','FAS');
-INSERT INTO t3 VALUES (225,056204,37,'disentangle','pithing','Remus','');
-INSERT INTO t3 VALUES (226,058003,37,'cured','transistorizing','devices','A');
-INSERT INTO t3 VALUES (227,058004,37,'Fenton','nonbiodegradable','bike','A');
-INSERT INTO t3 VALUES (228,058005,37,'avoidable','dislocate','qualify','');
-INSERT INTO t3 VALUES (229,058006,37,'drains','monochromatic','detained','');
-INSERT INTO t3 VALUES (230,058007,37,'detectably','batting','commended','');
-INSERT INTO t3 VALUES (231,058101,37,'husky','postcondition','civilize','');
-INSERT INTO t3 VALUES (232,058102,37,'impelling','catalog','Elmhurst','');
-INSERT INTO t3 VALUES (233,058103,37,'undoes','Remus','anesthetizing','');
-INSERT INTO t3 VALUES (234,058105,37,'evened','devices','deaf','');
-INSERT INTO t3 VALUES (235,058111,37,'squeezes','bike','Brigham','');
-INSERT INTO t3 VALUES (236,058112,37,'destroyer','qualify','title','');
-INSERT INTO t3 VALUES (237,058113,37,'rudeness','detained','coarse','');
-INSERT INTO t3 VALUES (238,058114,37,'beaner','commended','combinations','');
-INSERT INTO t3 VALUES (239,058115,37,'boorish','civilize','grayness','');
-INSERT INTO t3 VALUES (240,058116,37,'Everhart','Elmhurst','innumerable','FAS');
-INSERT INTO t3 VALUES (241,058117,37,'encompass','anesthetizing','Caroline','A');
-INSERT INTO t3 VALUES (242,058118,37,'mushrooms','deaf','fatty','FAS');
-INSERT INTO t3 VALUES (243,058119,37,'Alison','Brigham','eastbound','');
-INSERT INTO t3 VALUES (244,058120,37,'externally','title','inexperienced','');
-INSERT INTO t3 VALUES (245,058121,37,'pellagra','coarse','hoarder','A');
-INSERT INTO t3 VALUES (246,058122,37,'cult','combinations','scotch','W');
-INSERT INTO t3 VALUES (247,058123,37,'creek','grayness','passport','A');
-INSERT INTO t3 VALUES (248,058124,37,'Huffman','innumerable','strategic','FAS');
-INSERT INTO t3 VALUES (249,058125,37,'Majorca','Caroline','gated','');
-INSERT INTO t3 VALUES (250,058126,37,'governing','fatty','flog','');
-INSERT INTO t3 VALUES (251,058127,37,'gadfly','eastbound','Pipestone','');
-INSERT INTO t3 VALUES (252,058128,37,'reassigned','inexperienced','Dar','');
-INSERT INTO t3 VALUES (253,058201,37,'intentness','hoarder','Corcoran','');
-INSERT INTO t3 VALUES (254,058202,37,'craziness','scotch','flyers','A');
-INSERT INTO t3 VALUES (255,058303,37,'psychic','passport','competitions','W');
-INSERT INTO t3 VALUES (256,058304,37,'squabbled','strategic','suppliers','FAS');
-INSERT INTO t3 VALUES (257,058602,37,'burlesque','gated','skips','');
-INSERT INTO t3 VALUES (258,058603,37,'capped','flog','institutes','');
-INSERT INTO t3 VALUES (259,058604,37,'extracted','Pipestone','troop','A');
-INSERT INTO t3 VALUES (260,058605,37,'DiMaggio','Dar','connective','W');
-INSERT INTO t3 VALUES (261,058606,37,'exclamation','Corcoran','denies','');
-INSERT INTO t3 VALUES (262,058607,37,'subdirectory','flyers','polka','');
-INSERT INTO t3 VALUES (263,060401,36,'fangs','competitions','observations','FAS');
-INSERT INTO t3 VALUES (264,061701,36,'buyer','suppliers','askers','');
-INSERT INTO t3 VALUES (265,066201,36,'pithing','skips','homeless','FAS');
-INSERT INTO t3 VALUES (266,066501,36,'transistorizing','institutes','Anna','');
-INSERT INTO t3 VALUES (267,068001,36,'nonbiodegradable','troop','subdirectories','W');
-INSERT INTO t3 VALUES (268,068002,36,'dislocate','connective','decaying','FAS');
-INSERT INTO t3 VALUES (269,068005,36,'monochromatic','denies','outwitting','W');
-INSERT INTO t3 VALUES (270,068006,36,'batting','polka','Harpy','W');
-INSERT INTO t3 VALUES (271,068007,36,'postcondition','observations','crazed','');
-INSERT INTO t3 VALUES (272,068008,36,'catalog','askers','suffocate','');
-INSERT INTO t3 VALUES (273,068009,36,'Remus','homeless','provers','FAS');
-INSERT INTO t3 VALUES (274,068010,36,'devices','Anna','technically','');
-INSERT INTO t3 VALUES (275,068011,36,'bike','subdirectories','Franklinizations','');
-INSERT INTO t3 VALUES (276,068202,36,'qualify','decaying','considered','');
-INSERT INTO t3 VALUES (277,068302,36,'detained','outwitting','tinnily','');
-INSERT INTO t3 VALUES (278,068303,36,'commended','Harpy','uninterruptedly','');
-INSERT INTO t3 VALUES (279,068401,36,'civilize','crazed','whistled','A');
-INSERT INTO t3 VALUES (280,068501,36,'Elmhurst','suffocate','automate','');
-INSERT INTO t3 VALUES (281,068502,36,'anesthetizing','provers','gutting','W');
-INSERT INTO t3 VALUES (282,068503,36,'deaf','technically','surreptitious','');
-INSERT INTO t3 VALUES (283,068602,36,'Brigham','Franklinizations','Choctaw','');
-INSERT INTO t3 VALUES (284,068603,36,'title','considered','cooks','');
-INSERT INTO t3 VALUES (285,068701,36,'coarse','tinnily','millivolt','FAS');
-INSERT INTO t3 VALUES (286,068702,36,'combinations','uninterruptedly','counterpoise','');
-INSERT INTO t3 VALUES (287,068703,36,'grayness','whistled','Gothicism','');
-INSERT INTO t3 VALUES (288,076001,36,'innumerable','automate','feminine','');
-INSERT INTO t3 VALUES (289,076002,36,'Caroline','gutting','metaphysically','W');
-INSERT INTO t3 VALUES (290,076101,36,'fatty','surreptitious','sanding','A');
-INSERT INTO t3 VALUES (291,076102,36,'eastbound','Choctaw','contributorily','');
-INSERT INTO t3 VALUES (292,076103,36,'inexperienced','cooks','receivers','FAS');
-INSERT INTO t3 VALUES (293,076302,36,'hoarder','millivolt','adjourn','');
-INSERT INTO t3 VALUES (294,076303,36,'scotch','counterpoise','straggled','A');
-INSERT INTO t3 VALUES (295,076304,36,'passport','Gothicism','druggists','');
-INSERT INTO t3 VALUES (296,076305,36,'strategic','feminine','thanking','FAS');
-INSERT INTO t3 VALUES (297,076306,36,'gated','metaphysically','ostrich','');
-INSERT INTO t3 VALUES (298,076307,36,'flog','sanding','hopelessness','FAS');
-INSERT INTO t3 VALUES (299,076402,36,'Pipestone','contributorily','Eurydice','');
-INSERT INTO t3 VALUES (300,076501,36,'Dar','receivers','excitation','W');
-INSERT INTO t3 VALUES (301,076502,36,'Corcoran','adjourn','presumes','FAS');
-INSERT INTO t3 VALUES (302,076701,36,'flyers','straggled','imaginable','FAS');
-INSERT INTO t3 VALUES (303,078001,36,'competitions','druggists','concoct','W');
-INSERT INTO t3 VALUES (304,078002,36,'suppliers','thanking','peering','W');
-INSERT INTO t3 VALUES (305,078003,36,'skips','ostrich','Phelps','FAS');
-INSERT INTO t3 VALUES (306,078004,36,'institutes','hopelessness','ferociousness','FAS');
-INSERT INTO t3 VALUES (307,078005,36,'troop','Eurydice','sentences','');
-INSERT INTO t3 VALUES (308,078006,36,'connective','excitation','unlocks','');
-INSERT INTO t3 VALUES (309,078007,36,'denies','presumes','engrossing','W');
-INSERT INTO t3 VALUES (310,078008,36,'polka','imaginable','Ruth','');
-INSERT INTO t3 VALUES (311,078101,36,'observations','concoct','tying','');
-INSERT INTO t3 VALUES (312,078103,36,'askers','peering','exclaimers','');
-INSERT INTO t3 VALUES (313,078104,36,'homeless','Phelps','synergy','');
-INSERT INTO t3 VALUES (314,078105,36,'Anna','ferociousness','Huey','W');
-INSERT INTO t3 VALUES (315,082101,36,'subdirectories','sentences','merging','');
-INSERT INTO t3 VALUES (316,083401,36,'decaying','unlocks','judges','A');
-INSERT INTO t3 VALUES (317,084001,36,'outwitting','engrossing','Shylock','W');
-INSERT INTO t3 VALUES (318,084002,36,'Harpy','Ruth','Miltonism','');
-INSERT INTO t3 VALUES (319,086001,36,'crazed','tying','hen','W');
-INSERT INTO t3 VALUES (320,086102,36,'suffocate','exclaimers','honeybee','FAS');
-INSERT INTO t3 VALUES (321,086201,36,'provers','synergy','towers','');
-INSERT INTO t3 VALUES (322,088001,36,'technically','Huey','dilutes','W');
-INSERT INTO t3 VALUES (323,088002,36,'Franklinizations','merging','numerals','FAS');
-INSERT INTO t3 VALUES (324,088003,36,'considered','judges','democracy','FAS');
-INSERT INTO t3 VALUES (325,088004,36,'tinnily','Shylock','Ibero-','');
-INSERT INTO t3 VALUES (326,088101,36,'uninterruptedly','Miltonism','invalids','');
-INSERT INTO t3 VALUES (327,088102,36,'whistled','hen','behavior','');
-INSERT INTO t3 VALUES (328,088103,36,'automate','honeybee','accruing','');
-INSERT INTO t3 VALUES (329,088104,36,'gutting','towers','relics','A');
-INSERT INTO t3 VALUES (330,088105,36,'surreptitious','dilutes','rackets','');
-INSERT INTO t3 VALUES (331,088106,36,'Choctaw','numerals','Fischbein','W');
-INSERT INTO t3 VALUES (332,088201,36,'cooks','democracy','phony','W');
-INSERT INTO t3 VALUES (333,088203,36,'millivolt','Ibero-','cross','FAS');
-INSERT INTO t3 VALUES (334,088204,36,'counterpoise','invalids','cleanup','');
-INSERT INTO t3 VALUES (335,088302,37,'Gothicism','behavior','conspirator','');
-INSERT INTO t3 VALUES (336,088303,37,'feminine','accruing','label','FAS');
-INSERT INTO t3 VALUES (337,088305,37,'metaphysically','relics','university','');
-INSERT INTO t3 VALUES (338,088402,37,'sanding','rackets','cleansed','FAS');
-INSERT INTO t3 VALUES (339,088501,36,'contributorily','Fischbein','ballgown','');
-INSERT INTO t3 VALUES (340,088502,36,'receivers','phony','starlet','');
-INSERT INTO t3 VALUES (341,088503,36,'adjourn','cross','aqueous','');
-INSERT INTO t3 VALUES (342,098001,58,'straggled','cleanup','portrayal','A');
-INSERT INTO t3 VALUES (343,098002,58,'druggists','conspirator','despising','W');
-INSERT INTO t3 VALUES (344,098003,58,'thanking','label','distort','W');
-INSERT INTO t3 VALUES (345,098004,58,'ostrich','university','palmed','');
-INSERT INTO t3 VALUES (346,098005,58,'hopelessness','cleansed','faced','');
-INSERT INTO t3 VALUES (347,098006,58,'Eurydice','ballgown','silverware','');
-INSERT INTO t3 VALUES (348,141903,29,'excitation','starlet','assessor','');
-INSERT INTO t3 VALUES (349,098008,58,'presumes','aqueous','spiders','');
-INSERT INTO t3 VALUES (350,098009,58,'imaginable','portrayal','artificially','');
-INSERT INTO t3 VALUES (351,098010,58,'concoct','despising','reminiscence','');
-INSERT INTO t3 VALUES (352,098011,58,'peering','distort','Mexican','');
-INSERT INTO t3 VALUES (353,098012,58,'Phelps','palmed','obnoxious','');
-INSERT INTO t3 VALUES (354,098013,58,'ferociousness','faced','fragile','');
-INSERT INTO t3 VALUES (355,098014,58,'sentences','silverware','apprehensible','');
-INSERT INTO t3 VALUES (356,098015,58,'unlocks','assessor','births','');
-INSERT INTO t3 VALUES (357,098016,58,'engrossing','spiders','garages','');
-INSERT INTO t3 VALUES (358,098017,58,'Ruth','artificially','panty','');
-INSERT INTO t3 VALUES (359,098018,58,'tying','reminiscence','anteater','');
-INSERT INTO t3 VALUES (360,098019,58,'exclaimers','Mexican','displacement','A');
-INSERT INTO t3 VALUES (361,098020,58,'synergy','obnoxious','drovers','A');
-INSERT INTO t3 VALUES (362,098021,58,'Huey','fragile','patenting','A');
-INSERT INTO t3 VALUES (363,098022,58,'merging','apprehensible','far','A');
-INSERT INTO t3 VALUES (364,098023,58,'judges','births','shrieks','');
-INSERT INTO t3 VALUES (365,098024,58,'Shylock','garages','aligning','W');
-INSERT INTO t3 VALUES (366,098025,37,'Miltonism','panty','pragmatism','');
-INSERT INTO t3 VALUES (367,106001,36,'hen','anteater','fevers','W');
-INSERT INTO t3 VALUES (368,108001,36,'honeybee','displacement','reexamines','A');
-INSERT INTO t3 VALUES (369,108002,36,'towers','drovers','occupancies','');
-INSERT INTO t3 VALUES (370,108003,36,'dilutes','patenting','sweats','FAS');
-INSERT INTO t3 VALUES (371,108004,36,'numerals','far','modulators','');
-INSERT INTO t3 VALUES (372,108005,36,'democracy','shrieks','demand','W');
-INSERT INTO t3 VALUES (373,108007,36,'Ibero-','aligning','Madeira','');
-INSERT INTO t3 VALUES (374,108008,36,'invalids','pragmatism','Viennese','W');
-INSERT INTO t3 VALUES (375,108009,36,'behavior','fevers','chillier','W');
-INSERT INTO t3 VALUES (376,108010,36,'accruing','reexamines','wildcats','FAS');
-INSERT INTO t3 VALUES (377,108011,36,'relics','occupancies','gentle','');
-INSERT INTO t3 VALUES (378,108012,36,'rackets','sweats','Angles','W');
-INSERT INTO t3 VALUES (379,108101,36,'Fischbein','modulators','accuracies','');
-INSERT INTO t3 VALUES (380,108102,36,'phony','demand','toggle','');
-INSERT INTO t3 VALUES (381,108103,36,'cross','Madeira','Mendelssohn','W');
-INSERT INTO t3 VALUES (382,108111,50,'cleanup','Viennese','behaviorally','');
-INSERT INTO t3 VALUES (383,108105,36,'conspirator','chillier','Rochford','');
-INSERT INTO t3 VALUES (384,108106,36,'label','wildcats','mirror','W');
-INSERT INTO t3 VALUES (385,108107,36,'university','gentle','Modula','');
-INSERT INTO t3 VALUES (386,108108,50,'cleansed','Angles','clobbering','');
-INSERT INTO t3 VALUES (387,108109,36,'ballgown','accuracies','chronography','');
-INSERT INTO t3 VALUES (388,108110,36,'starlet','toggle','Eskimoizeds','');
-INSERT INTO t3 VALUES (389,108201,36,'aqueous','Mendelssohn','British','W');
-INSERT INTO t3 VALUES (390,108202,36,'portrayal','behaviorally','pitfalls','');
-INSERT INTO t3 VALUES (391,108203,36,'despising','Rochford','verify','W');
-INSERT INTO t3 VALUES (392,108204,36,'distort','mirror','scatter','FAS');
-INSERT INTO t3 VALUES (393,108205,36,'palmed','Modula','Aztecan','');
-INSERT INTO t3 VALUES (394,108301,36,'faced','clobbering','acuity','W');
-INSERT INTO t3 VALUES (395,108302,36,'silverware','chronography','sinking','W');
-INSERT INTO t3 VALUES (396,112101,36,'assessor','Eskimoizeds','beasts','FAS');
-INSERT INTO t3 VALUES (397,112102,36,'spiders','British','Witt','W');
-INSERT INTO t3 VALUES (398,113701,36,'artificially','pitfalls','physicists','FAS');
-INSERT INTO t3 VALUES (399,116001,36,'reminiscence','verify','folksong','A');
-INSERT INTO t3 VALUES (400,116201,36,'Mexican','scatter','strokes','FAS');
-INSERT INTO t3 VALUES (401,116301,36,'obnoxious','Aztecan','crowder','');
-INSERT INTO t3 VALUES (402,116302,36,'fragile','acuity','merry','');
-INSERT INTO t3 VALUES (403,116601,36,'apprehensible','sinking','cadenced','');
-INSERT INTO t3 VALUES (404,116602,36,'births','beasts','alimony','A');
-INSERT INTO t3 VALUES (405,116603,36,'garages','Witt','principled','A');
-INSERT INTO t3 VALUES (406,116701,36,'panty','physicists','golfing','');
-INSERT INTO t3 VALUES (407,116702,36,'anteater','folksong','undiscovered','');
-INSERT INTO t3 VALUES (408,118001,36,'displacement','strokes','irritates','');
-INSERT INTO t3 VALUES (409,118002,36,'drovers','crowder','patriots','A');
-INSERT INTO t3 VALUES (410,118003,36,'patenting','merry','rooms','FAS');
-INSERT INTO t3 VALUES (411,118004,36,'far','cadenced','towering','W');
-INSERT INTO t3 VALUES (412,118005,36,'shrieks','alimony','displease','');
-INSERT INTO t3 VALUES (413,118006,36,'aligning','principled','photosensitive','');
-INSERT INTO t3 VALUES (414,118007,36,'pragmatism','golfing','inking','');
-INSERT INTO t3 VALUES (415,118008,36,'fevers','undiscovered','gainers','');
-INSERT INTO t3 VALUES (416,118101,36,'reexamines','irritates','leaning','A');
-INSERT INTO t3 VALUES (417,118102,36,'occupancies','patriots','hydrant','A');
-INSERT INTO t3 VALUES (418,118103,36,'sweats','rooms','preserve','');
-INSERT INTO t3 VALUES (419,118202,36,'modulators','towering','blinded','A');
-INSERT INTO t3 VALUES (420,118203,36,'demand','displease','interactions','A');
-INSERT INTO t3 VALUES (421,118204,36,'Madeira','photosensitive','Barry','');
-INSERT INTO t3 VALUES (422,118302,36,'Viennese','inking','whiteness','A');
-INSERT INTO t3 VALUES (423,118304,36,'chillier','gainers','pastimes','W');
-INSERT INTO t3 VALUES (424,118305,36,'wildcats','leaning','Edenization','');
-INSERT INTO t3 VALUES (425,118306,36,'gentle','hydrant','Muscat','');
-INSERT INTO t3 VALUES (426,118307,36,'Angles','preserve','assassinated','');
-INSERT INTO t3 VALUES (427,123101,36,'accuracies','blinded','labeled','');
-INSERT INTO t3 VALUES (428,123102,36,'toggle','interactions','glacial','A');
-INSERT INTO t3 VALUES (429,123301,36,'Mendelssohn','Barry','implied','W');
-INSERT INTO t3 VALUES (430,126001,36,'behaviorally','whiteness','bibliographies','W');
-INSERT INTO t3 VALUES (431,126002,36,'Rochford','pastimes','Buchanan','');
-INSERT INTO t3 VALUES (432,126003,36,'mirror','Edenization','forgivably','FAS');
-INSERT INTO t3 VALUES (433,126101,36,'Modula','Muscat','innuendo','A');
-INSERT INTO t3 VALUES (434,126301,36,'clobbering','assassinated','den','FAS');
-INSERT INTO t3 VALUES (435,126302,36,'chronography','labeled','submarines','W');
-INSERT INTO t3 VALUES (436,126402,36,'Eskimoizeds','glacial','mouthful','A');
-INSERT INTO t3 VALUES (437,126601,36,'British','implied','expiring','');
-INSERT INTO t3 VALUES (438,126602,36,'pitfalls','bibliographies','unfulfilled','FAS');
-INSERT INTO t3 VALUES (439,126702,36,'verify','Buchanan','precession','');
-INSERT INTO t3 VALUES (440,128001,36,'scatter','forgivably','nullified','');
-INSERT INTO t3 VALUES (441,128002,36,'Aztecan','innuendo','affects','');
-INSERT INTO t3 VALUES (442,128003,36,'acuity','den','Cynthia','');
-INSERT INTO t3 VALUES (443,128004,36,'sinking','submarines','Chablis','A');
-INSERT INTO t3 VALUES (444,128005,36,'beasts','mouthful','betterments','FAS');
-INSERT INTO t3 VALUES (445,128007,36,'Witt','expiring','advertising','');
-INSERT INTO t3 VALUES (446,128008,36,'physicists','unfulfilled','rubies','A');
-INSERT INTO t3 VALUES (447,128009,36,'folksong','precession','southwest','FAS');
-INSERT INTO t3 VALUES (448,128010,36,'strokes','nullified','superstitious','A');
-INSERT INTO t3 VALUES (449,128011,36,'crowder','affects','tabernacle','W');
-INSERT INTO t3 VALUES (450,128012,36,'merry','Cynthia','silk','A');
-INSERT INTO t3 VALUES (451,128013,36,'cadenced','Chablis','handsomest','A');
-INSERT INTO t3 VALUES (452,128014,36,'alimony','betterments','Persian','A');
-INSERT INTO t3 VALUES (453,128015,36,'principled','advertising','analog','W');
-INSERT INTO t3 VALUES (454,128016,36,'golfing','rubies','complex','W');
-INSERT INTO t3 VALUES (455,128017,36,'undiscovered','southwest','Taoist','');
-INSERT INTO t3 VALUES (456,128018,36,'irritates','superstitious','suspend','');
-INSERT INTO t3 VALUES (457,128019,36,'patriots','tabernacle','relegated','');
-INSERT INTO t3 VALUES (458,128020,36,'rooms','silk','awesome','W');
-INSERT INTO t3 VALUES (459,128021,36,'towering','handsomest','Bruxelles','');
-INSERT INTO t3 VALUES (460,128022,36,'displease','Persian','imprecisely','A');
-INSERT INTO t3 VALUES (461,128023,36,'photosensitive','analog','televise','');
-INSERT INTO t3 VALUES (462,128101,36,'inking','complex','braking','');
-INSERT INTO t3 VALUES (463,128102,36,'gainers','Taoist','true','FAS');
-INSERT INTO t3 VALUES (464,128103,36,'leaning','suspend','disappointing','FAS');
-INSERT INTO t3 VALUES (465,128104,36,'hydrant','relegated','navally','W');
-INSERT INTO t3 VALUES (466,128106,36,'preserve','awesome','circus','');
-INSERT INTO t3 VALUES (467,128107,36,'blinded','Bruxelles','beetles','');
-INSERT INTO t3 VALUES (468,128108,36,'interactions','imprecisely','trumps','');
-INSERT INTO t3 VALUES (469,128202,36,'Barry','televise','fourscore','W');
-INSERT INTO t3 VALUES (470,128203,36,'whiteness','braking','Blackfoots','');
-INSERT INTO t3 VALUES (471,128301,36,'pastimes','true','Grady','');
-INSERT INTO t3 VALUES (472,128302,36,'Edenization','disappointing','quiets','FAS');
-INSERT INTO t3 VALUES (473,128303,36,'Muscat','navally','floundered','FAS');
-INSERT INTO t3 VALUES (474,128304,36,'assassinated','circus','profundity','W');
-INSERT INTO t3 VALUES (475,128305,36,'labeled','beetles','Garrisonian','W');
-INSERT INTO t3 VALUES (476,128307,36,'glacial','trumps','Strauss','');
-INSERT INTO t3 VALUES (477,128401,36,'implied','fourscore','cemented','FAS');
-INSERT INTO t3 VALUES (478,128502,36,'bibliographies','Blackfoots','contrition','A');
-INSERT INTO t3 VALUES (479,128503,36,'Buchanan','Grady','mutations','');
-INSERT INTO t3 VALUES (480,128504,36,'forgivably','quiets','exhibits','W');
-INSERT INTO t3 VALUES (481,128505,36,'innuendo','floundered','tits','');
-INSERT INTO t3 VALUES (482,128601,36,'den','profundity','mate','A');
-INSERT INTO t3 VALUES (483,128603,36,'submarines','Garrisonian','arches','');
-INSERT INTO t3 VALUES (484,128604,36,'mouthful','Strauss','Moll','');
-INSERT INTO t3 VALUES (485,128702,36,'expiring','cemented','ropers','');
-INSERT INTO t3 VALUES (486,128703,36,'unfulfilled','contrition','bombast','');
-INSERT INTO t3 VALUES (487,128704,36,'precession','mutations','difficultly','A');
-INSERT INTO t3 VALUES (488,138001,36,'nullified','exhibits','adsorption','');
-INSERT INTO t3 VALUES (489,138002,36,'affects','tits','definiteness','FAS');
-INSERT INTO t3 VALUES (490,138003,36,'Cynthia','mate','cultivation','A');
-INSERT INTO t3 VALUES (491,138004,36,'Chablis','arches','heals','A');
-INSERT INTO t3 VALUES (492,138005,36,'betterments','Moll','Heusen','W');
-INSERT INTO t3 VALUES (493,138006,36,'advertising','ropers','target','FAS');
-INSERT INTO t3 VALUES (494,138007,36,'rubies','bombast','cited','A');
-INSERT INTO t3 VALUES (495,138008,36,'southwest','difficultly','congresswoman','W');
-INSERT INTO t3 VALUES (496,138009,36,'superstitious','adsorption','Katherine','');
-INSERT INTO t3 VALUES (497,138102,36,'tabernacle','definiteness','titter','A');
-INSERT INTO t3 VALUES (498,138103,36,'silk','cultivation','aspire','A');
-INSERT INTO t3 VALUES (499,138104,36,'handsomest','heals','Mardis','');
-INSERT INTO t3 VALUES (500,138105,36,'Persian','Heusen','Nadia','W');
-INSERT INTO t3 VALUES (501,138201,36,'analog','target','estimating','FAS');
-INSERT INTO t3 VALUES (502,138302,36,'complex','cited','stuck','A');
-INSERT INTO t3 VALUES (503,138303,36,'Taoist','congresswoman','fifteenth','A');
-INSERT INTO t3 VALUES (504,138304,36,'suspend','Katherine','Colombo','');
-INSERT INTO t3 VALUES (505,138401,29,'relegated','titter','survey','A');
-INSERT INTO t3 VALUES (506,140102,29,'awesome','aspire','staffing','');
-INSERT INTO t3 VALUES (507,140103,29,'Bruxelles','Mardis','obtain','');
-INSERT INTO t3 VALUES (508,140104,29,'imprecisely','Nadia','loaded','');
-INSERT INTO t3 VALUES (509,140105,29,'televise','estimating','slaughtered','');
-INSERT INTO t3 VALUES (510,140201,29,'braking','stuck','lights','A');
-INSERT INTO t3 VALUES (511,140701,29,'true','fifteenth','circumference','');
-INSERT INTO t3 VALUES (512,141501,29,'disappointing','Colombo','dull','A');
-INSERT INTO t3 VALUES (513,141502,29,'navally','survey','weekly','A');
-INSERT INTO t3 VALUES (514,141901,29,'circus','staffing','wetness','');
-INSERT INTO t3 VALUES (515,141902,29,'beetles','obtain','visualized','');
-INSERT INTO t3 VALUES (516,142101,29,'trumps','loaded','Tannenbaum','');
-INSERT INTO t3 VALUES (517,142102,29,'fourscore','slaughtered','moribund','');
-INSERT INTO t3 VALUES (518,142103,29,'Blackfoots','lights','demultiplex','');
-INSERT INTO t3 VALUES (519,142701,29,'Grady','circumference','lockings','');
-INSERT INTO t3 VALUES (520,143001,29,'quiets','dull','thugs','FAS');
-INSERT INTO t3 VALUES (521,143501,29,'floundered','weekly','unnerves','');
-INSERT INTO t3 VALUES (522,143502,29,'profundity','wetness','abut','');
-INSERT INTO t3 VALUES (523,148001,29,'Garrisonian','visualized','Chippewa','A');
-INSERT INTO t3 VALUES (524,148002,29,'Strauss','Tannenbaum','stratifications','A');
-INSERT INTO t3 VALUES (525,148003,29,'cemented','moribund','signaled','');
-INSERT INTO t3 VALUES (526,148004,29,'contrition','demultiplex','Italianizes','A');
-INSERT INTO t3 VALUES (527,148005,29,'mutations','lockings','algorithmic','A');
-INSERT INTO t3 VALUES (528,148006,29,'exhibits','thugs','paranoid','FAS');
-INSERT INTO t3 VALUES (529,148007,29,'tits','unnerves','camping','A');
-INSERT INTO t3 VALUES (530,148009,29,'mate','abut','signifying','A');
-INSERT INTO t3 VALUES (531,148010,29,'arches','Chippewa','Patrice','W');
-INSERT INTO t3 VALUES (532,148011,29,'Moll','stratifications','search','A');
-INSERT INTO t3 VALUES (533,148012,29,'ropers','signaled','Angeles','A');
-INSERT INTO t3 VALUES (534,148013,29,'bombast','Italianizes','semblance','');
-INSERT INTO t3 VALUES (535,148023,36,'difficultly','algorithmic','taxed','');
-INSERT INTO t3 VALUES (536,148015,29,'adsorption','paranoid','Beatrice','');
-INSERT INTO t3 VALUES (537,148016,29,'definiteness','camping','retrace','');
-INSERT INTO t3 VALUES (538,148017,29,'cultivation','signifying','lockout','');
-INSERT INTO t3 VALUES (539,148018,29,'heals','Patrice','grammatic','');
-INSERT INTO t3 VALUES (540,148019,29,'Heusen','search','helmsman','');
-INSERT INTO t3 VALUES (541,148020,29,'target','Angeles','uniform','W');
-INSERT INTO t3 VALUES (542,148021,29,'cited','semblance','hamming','');
-INSERT INTO t3 VALUES (543,148022,29,'congresswoman','taxed','disobedience','');
-INSERT INTO t3 VALUES (544,148101,29,'Katherine','Beatrice','captivated','A');
-INSERT INTO t3 VALUES (545,148102,29,'titter','retrace','transferals','A');
-INSERT INTO t3 VALUES (546,148201,29,'aspire','lockout','cartographer','A');
-INSERT INTO t3 VALUES (547,148401,29,'Mardis','grammatic','aims','FAS');
-INSERT INTO t3 VALUES (548,148402,29,'Nadia','helmsman','Pakistani','');
-INSERT INTO t3 VALUES (549,148501,29,'estimating','uniform','burglarized','FAS');
-INSERT INTO t3 VALUES (550,148502,29,'stuck','hamming','saucepans','A');
-INSERT INTO t3 VALUES (551,148503,29,'fifteenth','disobedience','lacerating','A');
-INSERT INTO t3 VALUES (552,148504,29,'Colombo','captivated','corny','');
-INSERT INTO t3 VALUES (553,148601,29,'survey','transferals','megabytes','FAS');
-INSERT INTO t3 VALUES (554,148602,29,'staffing','cartographer','chancellor','');
-INSERT INTO t3 VALUES (555,150701,29,'obtain','aims','bulk','A');
-INSERT INTO t3 VALUES (556,152101,29,'loaded','Pakistani','commits','A');
-INSERT INTO t3 VALUES (557,152102,29,'slaughtered','burglarized','meson','W');
-INSERT INTO t3 VALUES (558,155202,36,'lights','saucepans','deputies','');
-INSERT INTO t3 VALUES (559,155203,29,'circumference','lacerating','northeaster','A');
-INSERT INTO t3 VALUES (560,155204,29,'dull','corny','dipole','');
-INSERT INTO t3 VALUES (561,155205,29,'weekly','megabytes','machining','0');
-INSERT INTO t3 VALUES (562,156001,29,'wetness','chancellor','therefore','');
-INSERT INTO t3 VALUES (563,156002,29,'visualized','bulk','Telefunken','');
-INSERT INTO t3 VALUES (564,156102,29,'Tannenbaum','commits','salvaging','');
-INSERT INTO t3 VALUES (565,156301,29,'moribund','meson','Corinthianizes','A');
-INSERT INTO t3 VALUES (566,156302,29,'demultiplex','deputies','restlessly','A');
-INSERT INTO t3 VALUES (567,156303,29,'lockings','northeaster','bromides','');
-INSERT INTO t3 VALUES (568,156304,29,'thugs','dipole','generalized','A');
-INSERT INTO t3 VALUES (569,156305,29,'unnerves','machining','mishaps','');
-INSERT INTO t3 VALUES (570,156306,29,'abut','therefore','quelling','');
-INSERT INTO t3 VALUES (571,156501,29,'Chippewa','Telefunken','spiritual','A');
-INSERT INTO t3 VALUES (572,158001,29,'stratifications','salvaging','beguiles','FAS');
-INSERT INTO t3 VALUES (573,158002,29,'signaled','Corinthianizes','Trobriand','FAS');
-INSERT INTO t3 VALUES (574,158101,29,'Italianizes','restlessly','fleeing','A');
-INSERT INTO t3 VALUES (575,158102,29,'algorithmic','bromides','Armour','A');
-INSERT INTO t3 VALUES (576,158103,29,'paranoid','generalized','chin','A');
-INSERT INTO t3 VALUES (577,158201,29,'camping','mishaps','provers','A');
-INSERT INTO t3 VALUES (578,158202,29,'signifying','quelling','aeronautic','A');
-INSERT INTO t3 VALUES (579,158203,29,'Patrice','spiritual','voltage','W');
-INSERT INTO t3 VALUES (580,158204,29,'search','beguiles','sash','');
-INSERT INTO t3 VALUES (581,158301,29,'Angeles','Trobriand','anaerobic','A');
-INSERT INTO t3 VALUES (582,158302,29,'semblance','fleeing','simultaneous','A');
-INSERT INTO t3 VALUES (583,158303,29,'taxed','Armour','accumulating','A');
-INSERT INTO t3 VALUES (584,158304,29,'Beatrice','chin','Medusan','A');
-INSERT INTO t3 VALUES (585,158305,29,'retrace','provers','shouted','A');
-INSERT INTO t3 VALUES (586,158306,29,'lockout','aeronautic','freakish','');
-INSERT INTO t3 VALUES (587,158501,29,'grammatic','voltage','index','FAS');
-INSERT INTO t3 VALUES (588,160301,29,'helmsman','sash','commercially','');
-INSERT INTO t3 VALUES (589,166101,50,'uniform','anaerobic','mistiness','A');
-INSERT INTO t3 VALUES (590,166102,50,'hamming','simultaneous','endpoint','');
-INSERT INTO t3 VALUES (591,168001,29,'disobedience','accumulating','straight','A');
-INSERT INTO t3 VALUES (592,168002,29,'captivated','Medusan','flurried','');
-INSERT INTO t3 VALUES (593,168003,29,'transferals','shouted','denotative','A');
-INSERT INTO t3 VALUES (594,168101,29,'cartographer','freakish','coming','FAS');
-INSERT INTO t3 VALUES (595,168102,29,'aims','index','commencements','FAS');
-INSERT INTO t3 VALUES (596,168103,29,'Pakistani','commercially','gentleman','');
-INSERT INTO t3 VALUES (597,168104,29,'burglarized','mistiness','gifted','');
-INSERT INTO t3 VALUES (598,168202,29,'saucepans','endpoint','Shanghais','');
-INSERT INTO t3 VALUES (599,168301,29,'lacerating','straight','sportswriting','A');
-INSERT INTO t3 VALUES (600,168502,29,'corny','flurried','sloping','A');
-INSERT INTO t3 VALUES (601,168503,29,'megabytes','denotative','navies','');
-INSERT INTO t3 VALUES (602,168601,29,'chancellor','coming','leaflet','A');
-INSERT INTO t3 VALUES (603,173001,40,'bulk','commencements','shooter','');
-INSERT INTO t3 VALUES (604,173701,40,'commits','gentleman','Joplin','FAS');
-INSERT INTO t3 VALUES (605,173702,40,'meson','gifted','babies','');
-INSERT INTO t3 VALUES (606,176001,40,'deputies','Shanghais','subdivision','FAS');
-INSERT INTO t3 VALUES (607,176101,40,'northeaster','sportswriting','burstiness','W');
-INSERT INTO t3 VALUES (608,176201,40,'dipole','sloping','belted','FAS');
-INSERT INTO t3 VALUES (609,176401,40,'machining','navies','assails','FAS');
-INSERT INTO t3 VALUES (610,176501,40,'therefore','leaflet','admiring','W');
-INSERT INTO t3 VALUES (611,176601,40,'Telefunken','shooter','swaying','0');
-INSERT INTO t3 VALUES (612,176602,40,'salvaging','Joplin','Goldstine','FAS');
-INSERT INTO t3 VALUES (613,176603,40,'Corinthianizes','babies','fitting','');
-INSERT INTO t3 VALUES (614,178001,40,'restlessly','subdivision','Norwalk','W');
-INSERT INTO t3 VALUES (615,178002,40,'bromides','burstiness','weakening','W');
-INSERT INTO t3 VALUES (616,178003,40,'generalized','belted','analogy','FAS');
-INSERT INTO t3 VALUES (617,178004,40,'mishaps','assails','deludes','');
-INSERT INTO t3 VALUES (618,178005,40,'quelling','admiring','cokes','');
-INSERT INTO t3 VALUES (619,178006,40,'spiritual','swaying','Clayton','');
-INSERT INTO t3 VALUES (620,178007,40,'beguiles','Goldstine','exhausts','');
-INSERT INTO t3 VALUES (621,178008,40,'Trobriand','fitting','causality','');
-INSERT INTO t3 VALUES (622,178101,40,'fleeing','Norwalk','sating','FAS');
-INSERT INTO t3 VALUES (623,178102,40,'Armour','weakening','icon','');
-INSERT INTO t3 VALUES (624,178103,40,'chin','analogy','throttles','');
-INSERT INTO t3 VALUES (625,178201,40,'provers','deludes','communicants','FAS');
-INSERT INTO t3 VALUES (626,178202,40,'aeronautic','cokes','dehydrate','FAS');
-INSERT INTO t3 VALUES (627,178301,40,'voltage','Clayton','priceless','FAS');
-INSERT INTO t3 VALUES (628,178302,40,'sash','exhausts','publicly','');
-INSERT INTO t3 VALUES (629,178401,40,'anaerobic','causality','incidentals','FAS');
-INSERT INTO t3 VALUES (630,178402,40,'simultaneous','sating','commonplace','');
-INSERT INTO t3 VALUES (631,178403,40,'accumulating','icon','mumbles','');
-INSERT INTO t3 VALUES (632,178404,40,'Medusan','throttles','furthermore','W');
-INSERT INTO t3 VALUES (633,178501,40,'shouted','communicants','cautioned','W');
-INSERT INTO t3 VALUES (634,186002,37,'freakish','dehydrate','parametrized','A');
-INSERT INTO t3 VALUES (635,186102,37,'index','priceless','registration','A');
-INSERT INTO t3 VALUES (636,186201,40,'commercially','publicly','sadly','FAS');
-INSERT INTO t3 VALUES (637,186202,40,'mistiness','incidentals','positioning','');
-INSERT INTO t3 VALUES (638,186203,40,'endpoint','commonplace','babysitting','');
-INSERT INTO t3 VALUES (639,186302,37,'straight','mumbles','eternal','A');
-INSERT INTO t3 VALUES (640,188007,37,'flurried','furthermore','hoarder','');
-INSERT INTO t3 VALUES (641,188008,37,'denotative','cautioned','congregates','');
-INSERT INTO t3 VALUES (642,188009,37,'coming','parametrized','rains','');
-INSERT INTO t3 VALUES (643,188010,37,'commencements','registration','workers','W');
-INSERT INTO t3 VALUES (644,188011,37,'gentleman','sadly','sags','A');
-INSERT INTO t3 VALUES (645,188012,37,'gifted','positioning','unplug','W');
-INSERT INTO t3 VALUES (646,188013,37,'Shanghais','babysitting','garage','A');
-INSERT INTO t3 VALUES (647,188014,37,'sportswriting','eternal','boulder','A');
-INSERT INTO t3 VALUES (648,188015,37,'sloping','hoarder','hollowly','A');
-INSERT INTO t3 VALUES (649,188016,37,'navies','congregates','specifics','');
-INSERT INTO t3 VALUES (650,188017,37,'leaflet','rains','Teresa','');
-INSERT INTO t3 VALUES (651,188102,37,'shooter','workers','Winsett','');
-INSERT INTO t3 VALUES (652,188103,37,'Joplin','sags','convenient','A');
-INSERT INTO t3 VALUES (653,188202,37,'babies','unplug','buckboards','FAS');
-INSERT INTO t3 VALUES (654,188301,40,'subdivision','garage','amenities','');
-INSERT INTO t3 VALUES (655,188302,40,'burstiness','boulder','resplendent','FAS');
-INSERT INTO t3 VALUES (656,188303,40,'belted','hollowly','priding','FAS');
-INSERT INTO t3 VALUES (657,188401,37,'assails','specifics','configurations','');
-INSERT INTO t3 VALUES (658,188402,37,'admiring','Teresa','untidiness','A');
-INSERT INTO t3 VALUES (659,188503,37,'swaying','Winsett','Brice','W');
-INSERT INTO t3 VALUES (660,188504,37,'Goldstine','convenient','sews','FAS');
-INSERT INTO t3 VALUES (661,188505,37,'fitting','buckboards','participated','');
-INSERT INTO t3 VALUES (662,190701,37,'Norwalk','amenities','Simon','FAS');
-INSERT INTO t3 VALUES (663,190703,50,'weakening','resplendent','certificates','');
-INSERT INTO t3 VALUES (664,191701,37,'analogy','priding','Fitzpatrick','');
-INSERT INTO t3 VALUES (665,191702,37,'deludes','configurations','Evanston','A');
-INSERT INTO t3 VALUES (666,191703,37,'cokes','untidiness','misted','');
-INSERT INTO t3 VALUES (667,196001,37,'Clayton','Brice','textures','A');
-INSERT INTO t3 VALUES (668,196002,37,'exhausts','sews','save','');
-INSERT INTO t3 VALUES (669,196003,37,'causality','participated','count','');
-INSERT INTO t3 VALUES (670,196101,37,'sating','Simon','rightful','A');
-INSERT INTO t3 VALUES (671,196103,37,'icon','certificates','chaperone','');
-INSERT INTO t3 VALUES (672,196104,37,'throttles','Fitzpatrick','Lizzy','A');
-INSERT INTO t3 VALUES (673,196201,37,'communicants','Evanston','clenched','A');
-INSERT INTO t3 VALUES (674,196202,37,'dehydrate','misted','effortlessly','');
-INSERT INTO t3 VALUES (675,196203,37,'priceless','textures','accessed','');
-INSERT INTO t3 VALUES (676,198001,37,'publicly','save','beaters','A');
-INSERT INTO t3 VALUES (677,198003,37,'incidentals','count','Hornblower','FAS');
-INSERT INTO t3 VALUES (678,198004,37,'commonplace','rightful','vests','A');
-INSERT INTO t3 VALUES (679,198005,37,'mumbles','chaperone','indulgences','FAS');
-INSERT INTO t3 VALUES (680,198006,37,'furthermore','Lizzy','infallibly','A');
-INSERT INTO t3 VALUES (681,198007,37,'cautioned','clenched','unwilling','FAS');
-INSERT INTO t3 VALUES (682,198008,37,'parametrized','effortlessly','excrete','FAS');
-INSERT INTO t3 VALUES (683,198009,37,'registration','accessed','spools','A');
-INSERT INTO t3 VALUES (684,198010,37,'sadly','beaters','crunches','FAS');
-INSERT INTO t3 VALUES (685,198011,37,'positioning','Hornblower','overestimating','FAS');
-INSERT INTO t3 VALUES (686,198012,37,'babysitting','vests','ineffective','');
-INSERT INTO t3 VALUES (687,198013,37,'eternal','indulgences','humiliation','A');
-INSERT INTO t3 VALUES (688,198014,37,'hoarder','infallibly','sophomore','');
-INSERT INTO t3 VALUES (689,198015,37,'congregates','unwilling','star','');
-INSERT INTO t3 VALUES (690,198017,37,'rains','excrete','rifles','');
-INSERT INTO t3 VALUES (691,198018,37,'workers','spools','dialysis','');
-INSERT INTO t3 VALUES (692,198019,37,'sags','crunches','arriving','');
-INSERT INTO t3 VALUES (693,198020,37,'unplug','overestimating','indulge','');
-INSERT INTO t3 VALUES (694,198021,37,'garage','ineffective','clockers','');
-INSERT INTO t3 VALUES (695,198022,37,'boulder','humiliation','languages','');
-INSERT INTO t3 VALUES (696,198023,50,'hollowly','sophomore','Antarctica','A');
-INSERT INTO t3 VALUES (697,198024,37,'specifics','star','percentage','');
-INSERT INTO t3 VALUES (698,198101,37,'Teresa','rifles','ceiling','A');
-INSERT INTO t3 VALUES (699,198103,37,'Winsett','dialysis','specification','');
-INSERT INTO t3 VALUES (700,198105,37,'convenient','arriving','regimented','A');
-INSERT INTO t3 VALUES (701,198106,37,'buckboards','indulge','ciphers','');
-INSERT INTO t3 VALUES (702,198201,37,'amenities','clockers','pictures','A');
-INSERT INTO t3 VALUES (703,198204,37,'resplendent','languages','serpents','A');
-INSERT INTO t3 VALUES (704,198301,53,'priding','Antarctica','allot','A');
-INSERT INTO t3 VALUES (705,198302,53,'configurations','percentage','realized','A');
-INSERT INTO t3 VALUES (706,198303,53,'untidiness','ceiling','mayoral','A');
-INSERT INTO t3 VALUES (707,198304,53,'Brice','specification','opaquely','A');
-INSERT INTO t3 VALUES (708,198401,37,'sews','regimented','hostess','FAS');
-INSERT INTO t3 VALUES (709,198402,37,'participated','ciphers','fiftieth','');
-INSERT INTO t3 VALUES (710,198403,37,'Simon','pictures','incorrectly','');
-INSERT INTO t3 VALUES (711,202101,37,'certificates','serpents','decomposition','FAS');
-INSERT INTO t3 VALUES (712,202301,37,'Fitzpatrick','allot','stranglings','');
-INSERT INTO t3 VALUES (713,202302,37,'Evanston','realized','mixture','FAS');
-INSERT INTO t3 VALUES (714,202303,37,'misted','mayoral','electroencephalography','FAS');
-INSERT INTO t3 VALUES (715,202304,37,'textures','opaquely','similarities','FAS');
-INSERT INTO t3 VALUES (716,202305,37,'save','hostess','charges','W');
-INSERT INTO t3 VALUES (717,202601,37,'count','fiftieth','freest','FAS');
-INSERT INTO t3 VALUES (718,202602,37,'rightful','incorrectly','Greenberg','FAS');
-INSERT INTO t3 VALUES (719,202605,37,'chaperone','decomposition','tinting','');
-INSERT INTO t3 VALUES (720,202606,37,'Lizzy','stranglings','expelled','W');
-INSERT INTO t3 VALUES (721,202607,37,'clenched','mixture','warm','');
-INSERT INTO t3 VALUES
(722,202901,37,'effortlessly','electroencephalography','smoothed','');
-INSERT INTO t3 VALUES (723,202902,37,'accessed','similarities','deductions','FAS');
-INSERT INTO t3 VALUES (724,202903,37,'beaters','charges','Romano','W');
-INSERT INTO t3 VALUES (725,202904,37,'Hornblower','freest','bitterroot','');
-INSERT INTO t3 VALUES (726,202907,37,'vests','Greenberg','corset','');
-INSERT INTO t3 VALUES (727,202908,37,'indulgences','tinting','securing','');
-INSERT INTO t3 VALUES (728,203101,37,'infallibly','expelled','environing','FAS');
-INSERT INTO t3 VALUES (729,203103,37,'unwilling','warm','cute','');
-INSERT INTO t3 VALUES (730,203104,37,'excrete','smoothed','Crays','');
-INSERT INTO t3 VALUES (731,203105,37,'spools','deductions','heiress','FAS');
-INSERT INTO t3 VALUES (732,203401,37,'crunches','Romano','inform','FAS');
-INSERT INTO t3 VALUES (733,203402,37,'overestimating','bitterroot','avenge','');
-INSERT INTO t3 VALUES (734,203404,37,'ineffective','corset','universals','');
-INSERT INTO t3 VALUES (735,203901,37,'humiliation','securing','Kinsey','W');
-INSERT INTO t3 VALUES (736,203902,37,'sophomore','environing','ravines','FAS');
-INSERT INTO t3 VALUES (737,203903,37,'star','cute','bestseller','');
-INSERT INTO t3 VALUES (738,203906,37,'rifles','Crays','equilibrium','');
-INSERT INTO t3 VALUES (739,203907,37,'dialysis','heiress','extents','0');
-INSERT INTO t3 VALUES (740,203908,37,'arriving','inform','relatively','');
-INSERT INTO t3 VALUES (741,203909,37,'indulge','avenge','pressure','FAS');
-INSERT INTO t3 VALUES (742,206101,37,'clockers','universals','critiques','FAS');
-INSERT INTO t3 VALUES (743,206201,37,'languages','Kinsey','befouled','');
-INSERT INTO t3 VALUES (744,206202,37,'Antarctica','ravines','rightfully','FAS');
-INSERT INTO t3 VALUES (745,206203,37,'percentage','bestseller','mechanizing','FAS');
-INSERT INTO t3 VALUES (746,206206,37,'ceiling','equilibrium','Latinizes','');
-INSERT INTO t3 VALUES (747,206207,37,'specification','extents','timesharing','');
-INSERT INTO t3 VALUES (748,206208,37,'regimented','relatively','Aden','');
-INSERT INTO t3 VALUES (749,208001,37,'ciphers','pressure','embassies','');
-INSERT INTO t3 VALUES (750,208002,37,'pictures','critiques','males','FAS');
-INSERT INTO t3 VALUES (751,208003,37,'serpents','befouled','shapelessly','FAS');
-INSERT INTO t3 VALUES (752,208004,37,'allot','rightfully','genres','FAS');
-INSERT INTO t3 VALUES (753,208008,37,'realized','mechanizing','mastering','');
-INSERT INTO t3 VALUES (754,208009,37,'mayoral','Latinizes','Newtonian','');
-INSERT INTO t3 VALUES (755,208010,37,'opaquely','timesharing','finishers','FAS');
-INSERT INTO t3 VALUES (756,208011,37,'hostess','Aden','abates','');
-INSERT INTO t3 VALUES (757,208101,37,'fiftieth','embassies','teem','');
-INSERT INTO t3 VALUES (758,208102,37,'incorrectly','males','kiting','FAS');
-INSERT INTO t3 VALUES (759,208103,37,'decomposition','shapelessly','stodgy','FAS');
-INSERT INTO t3 VALUES (760,208104,37,'stranglings','genres','scalps','FAS');
-INSERT INTO t3 VALUES (761,208105,37,'mixture','mastering','feed','FAS');
-INSERT INTO t3 VALUES (762,208110,37,'electroencephalography','Newtonian','guitars','');
-INSERT INTO t3 VALUES (763,208111,37,'similarities','finishers','airships','');
-INSERT INTO t3 VALUES (764,208112,37,'charges','abates','store','');
-INSERT INTO t3 VALUES (765,208113,37,'freest','teem','denounces','');
-INSERT INTO t3 VALUES (766,208201,37,'Greenberg','kiting','Pyle','FAS');
-INSERT INTO t3 VALUES (767,208203,37,'tinting','stodgy','Saxony','');
-INSERT INTO t3 VALUES (768,208301,37,'expelled','scalps','serializations','FAS');
-INSERT INTO t3 VALUES (769,208302,37,'warm','feed','Peruvian','FAS');
-INSERT INTO t3 VALUES (770,208305,37,'smoothed','guitars','taxonomically','FAS');
-INSERT INTO t3 VALUES (771,208401,37,'deductions','airships','kingdom','A');
-INSERT INTO t3 VALUES (772,208402,37,'Romano','store','stint','A');
-INSERT INTO t3 VALUES (773,208403,37,'bitterroot','denounces','Sault','A');
-INSERT INTO t3 VALUES (774,208404,37,'corset','Pyle','faithful','');
-INSERT INTO t3 VALUES (775,208501,37,'securing','Saxony','Ganymede','FAS');
-INSERT INTO t3 VALUES (776,208502,37,'environing','serializations','tidiness','FAS');
-INSERT INTO t3 VALUES (777,208503,37,'cute','Peruvian','gainful','FAS');
-INSERT INTO t3 VALUES (778,208504,37,'Crays','taxonomically','contrary','FAS');
-INSERT INTO t3 VALUES (779,208505,37,'heiress','kingdom','Tipperary','FAS');
-INSERT INTO t3 VALUES (780,210101,37,'inform','stint','tropics','W');
-INSERT INTO t3 VALUES (781,210102,37,'avenge','Sault','theorizers','');
-INSERT INTO t3 VALUES (782,210103,37,'universals','faithful','renew','0');
-INSERT INTO t3 VALUES (783,210104,37,'Kinsey','Ganymede','already','');
-INSERT INTO t3 VALUES (784,210105,37,'ravines','tidiness','terminal','');
-INSERT INTO t3 VALUES (785,210106,37,'bestseller','gainful','Hegelian','');
-INSERT INTO t3 VALUES (786,210107,37,'equilibrium','contrary','hypothesizer','');
-INSERT INTO t3 VALUES (787,210401,37,'extents','Tipperary','warningly','FAS');
-INSERT INTO t3 VALUES (788,213201,37,'relatively','tropics','journalizing','FAS');
-INSERT INTO t3 VALUES (789,213203,37,'pressure','theorizers','nested','');
-INSERT INTO t3 VALUES (790,213204,37,'critiques','renew','Lars','');
-INSERT INTO t3 VALUES (791,213205,37,'befouled','already','saplings','');
-INSERT INTO t3 VALUES (792,213206,37,'rightfully','terminal','foothill','');
-INSERT INTO t3 VALUES (793,213207,37,'mechanizing','Hegelian','labeled','');
-INSERT INTO t3 VALUES (794,216101,37,'Latinizes','hypothesizer','imperiously','FAS');
-INSERT INTO t3 VALUES (795,216103,37,'timesharing','warningly','reporters','FAS');
-INSERT INTO t3 VALUES (796,218001,37,'Aden','journalizing','furnishings','FAS');
-INSERT INTO t3 VALUES (797,218002,37,'embassies','nested','precipitable','FAS');
-INSERT INTO t3 VALUES (798,218003,37,'males','Lars','discounts','FAS');
-INSERT INTO t3 VALUES (799,218004,37,'shapelessly','saplings','excises','FAS');
-INSERT INTO t3 VALUES (800,143503,50,'genres','foothill','Stalin','');
-INSERT INTO t3 VALUES (801,218006,37,'mastering','labeled','despot','FAS');
-INSERT INTO t3 VALUES (802,218007,37,'Newtonian','imperiously','ripeness','FAS');
-INSERT INTO t3 VALUES (803,218008,37,'finishers','reporters','Arabia','');
-INSERT INTO t3 VALUES (804,218009,37,'abates','furnishings','unruly','');
-INSERT INTO t3 VALUES (805,218010,37,'teem','precipitable','mournfulness','');
-INSERT INTO t3 VALUES (806,218011,37,'kiting','discounts','boom','FAS');
-INSERT INTO t3 VALUES (807,218020,37,'stodgy','excises','slaughter','A');
-INSERT INTO t3 VALUES (808,218021,50,'scalps','Stalin','Sabine','');
-INSERT INTO t3 VALUES (809,218022,37,'feed','despot','handy','FAS');
-INSERT INTO t3 VALUES (810,218023,37,'guitars','ripeness','rural','');
-INSERT INTO t3 VALUES (811,218024,37,'airships','Arabia','organizer','');
-INSERT INTO t3 VALUES (812,218101,37,'store','unruly','shipyard','FAS');
-INSERT INTO t3 VALUES (813,218102,37,'denounces','mournfulness','civics','FAS');
-INSERT INTO t3 VALUES (814,218103,37,'Pyle','boom','inaccuracy','FAS');
-INSERT INTO t3 VALUES (815,218201,37,'Saxony','slaughter','rules','FAS');
-INSERT INTO t3 VALUES (816,218202,37,'serializations','Sabine','juveniles','FAS');
-INSERT INTO t3 VALUES (817,218203,37,'Peruvian','handy','comprised','W');
-INSERT INTO t3 VALUES (818,218204,37,'taxonomically','rural','investigations','');
-INSERT INTO t3 VALUES (819,218205,37,'kingdom','organizer','stabilizes','A');
-INSERT INTO t3 VALUES (820,218301,37,'stint','shipyard','seminaries','FAS');
-INSERT INTO t3 VALUES (821,218302,37,'Sault','civics','Hunter','A');
-INSERT INTO t3 VALUES (822,218401,37,'faithful','inaccuracy','sporty','FAS');
-INSERT INTO t3 VALUES (823,218402,37,'Ganymede','rules','test','FAS');
-INSERT INTO t3 VALUES (824,218403,37,'tidiness','juveniles','weasels','');
-INSERT INTO t3 VALUES (825,218404,37,'gainful','comprised','CERN','');
-INSERT INTO t3 VALUES (826,218407,37,'contrary','investigations','tempering','');
-INSERT INTO t3 VALUES (827,218408,37,'Tipperary','stabilizes','afore','FAS');
-INSERT INTO t3 VALUES (828,218409,37,'tropics','seminaries','Galatean','');
-INSERT INTO t3 VALUES (829,218410,37,'theorizers','Hunter','techniques','W');
-INSERT INTO t3 VALUES (830,226001,37,'renew','sporty','error','');
-INSERT INTO t3 VALUES (831,226002,37,'already','test','veranda','');
-INSERT INTO t3 VALUES (832,226003,37,'terminal','weasels','severely','');
-INSERT INTO t3 VALUES (833,226004,37,'Hegelian','CERN','Cassites','FAS');
-INSERT INTO t3 VALUES (834,226005,37,'hypothesizer','tempering','forthcoming','');
-INSERT INTO t3 VALUES (835,226006,37,'warningly','afore','guides','');
-INSERT INTO t3 VALUES (836,226007,37,'journalizing','Galatean','vanish','FAS');
-INSERT INTO t3 VALUES (837,226008,37,'nested','techniques','lied','A');
-INSERT INTO t3 VALUES (838,226203,37,'Lars','error','sawtooth','FAS');
-INSERT INTO t3 VALUES (839,226204,37,'saplings','veranda','fated','FAS');
-INSERT INTO t3 VALUES (840,226205,37,'foothill','severely','gradually','');
-INSERT INTO t3 VALUES (841,226206,37,'labeled','Cassites','widens','');
-INSERT INTO t3 VALUES (842,226207,37,'imperiously','forthcoming','preclude','');
-INSERT INTO t3 VALUES (843,226208,37,'reporters','guides','Jobrel','');
-INSERT INTO t3 VALUES (844,226209,37,'furnishings','vanish','hooker','');
-INSERT INTO t3 VALUES (845,226210,37,'precipitable','lied','rainstorm','');
-INSERT INTO t3 VALUES (846,226211,37,'discounts','sawtooth','disconnects','');
-INSERT INTO t3 VALUES (847,228001,37,'excises','fated','cruelty','');
-INSERT INTO t3 VALUES (848,228004,37,'Stalin','gradually','exponentials','A');
-INSERT INTO t3 VALUES (849,228005,37,'despot','widens','affective','A');
-INSERT INTO t3 VALUES (850,228006,37,'ripeness','preclude','arteries','');
-INSERT INTO t3 VALUES (851,228007,37,'Arabia','Jobrel','Crosby','FAS');
-INSERT INTO t3 VALUES (852,228008,37,'unruly','hooker','acquaint','');
-INSERT INTO t3 VALUES (853,228009,37,'mournfulness','rainstorm','evenhandedly','');
-INSERT INTO t3 VALUES (854,228101,37,'boom','disconnects','percentage','');
-INSERT INTO t3 VALUES (855,228108,37,'slaughter','cruelty','disobedience','');
-INSERT INTO t3 VALUES (856,228109,37,'Sabine','exponentials','humility','');
-INSERT INTO t3 VALUES (857,228110,37,'handy','affective','gleaning','A');
-INSERT INTO t3 VALUES (858,228111,37,'rural','arteries','petted','A');
-INSERT INTO t3 VALUES (859,228112,37,'organizer','Crosby','bloater','A');
-INSERT INTO t3 VALUES (860,228113,37,'shipyard','acquaint','minion','A');
-INSERT INTO t3 VALUES (861,228114,37,'civics','evenhandedly','marginal','A');
-INSERT INTO t3 VALUES (862,228115,37,'inaccuracy','percentage','apiary','A');
-INSERT INTO t3 VALUES (863,228116,37,'rules','disobedience','measures','');
-INSERT INTO t3 VALUES (864,228117,37,'juveniles','humility','precaution','');
-INSERT INTO t3 VALUES (865,228118,37,'comprised','gleaning','repelled','');
-INSERT INTO t3 VALUES (866,228119,37,'investigations','petted','primary','FAS');
-INSERT INTO t3 VALUES (867,228120,37,'stabilizes','bloater','coverings','');
-INSERT INTO t3 VALUES (868,228121,37,'seminaries','minion','Artemia','A');
-INSERT INTO t3 VALUES (869,228122,37,'Hunter','marginal','navigate','');
-INSERT INTO t3 VALUES (870,228201,37,'sporty','apiary','spatial','');
-INSERT INTO t3 VALUES (871,228206,37,'test','measures','Gurkha','');
-INSERT INTO t3 VALUES (872,228207,37,'weasels','precaution','meanwhile','A');
-INSERT INTO t3 VALUES (873,228208,37,'CERN','repelled','Melinda','A');
-INSERT INTO t3 VALUES (874,228209,37,'tempering','primary','Butterfield','');
-INSERT INTO t3 VALUES (875,228210,37,'afore','coverings','Aldrich','A');
-INSERT INTO t3 VALUES (876,228211,37,'Galatean','Artemia','previewing','A');
-INSERT INTO t3 VALUES (877,228212,37,'techniques','navigate','glut','A');
-INSERT INTO t3 VALUES (878,228213,37,'error','spatial','unaffected','');
-INSERT INTO t3 VALUES (879,228214,37,'veranda','Gurkha','inmate','');
-INSERT INTO t3 VALUES (880,228301,37,'severely','meanwhile','mineral','');
-INSERT INTO t3 VALUES (881,228305,37,'Cassites','Melinda','impending','A');
-INSERT INTO t3 VALUES (882,228306,37,'forthcoming','Butterfield','meditation','A');
-INSERT INTO t3 VALUES (883,228307,37,'guides','Aldrich','ideas','');
-INSERT INTO t3 VALUES (884,228308,37,'vanish','previewing','miniaturizes','W');
-INSERT INTO t3 VALUES (885,228309,37,'lied','glut','lewdly','');
-INSERT INTO t3 VALUES (886,228310,37,'sawtooth','unaffected','title','');
-INSERT INTO t3 VALUES (887,228311,37,'fated','inmate','youthfulness','');
-INSERT INTO t3 VALUES (888,228312,37,'gradually','mineral','creak','FAS');
-INSERT INTO t3 VALUES (889,228313,37,'widens','impending','Chippewa','');
-INSERT INTO t3 VALUES (890,228314,37,'preclude','meditation','clamored','');
-INSERT INTO t3 VALUES (891,228401,65,'Jobrel','ideas','freezes','');
-INSERT INTO t3 VALUES (892,228402,65,'hooker','miniaturizes','forgivably','FAS');
-INSERT INTO t3 VALUES (893,228403,65,'rainstorm','lewdly','reduce','FAS');
-INSERT INTO t3 VALUES (894,228404,65,'disconnects','title','McGovern','W');
-INSERT INTO t3 VALUES (895,228405,65,'cruelty','youthfulness','Nazis','W');
-INSERT INTO t3 VALUES (896,228406,65,'exponentials','creak','epistle','W');
-INSERT INTO t3 VALUES (897,228407,65,'affective','Chippewa','socializes','W');
-INSERT INTO t3 VALUES (898,228408,65,'arteries','clamored','conceptions','');
-INSERT INTO t3 VALUES (899,228409,65,'Crosby','freezes','Kevin','');
-INSERT INTO t3 VALUES (900,228410,65,'acquaint','forgivably','uncovering','');
-INSERT INTO t3 VALUES (901,230301,37,'evenhandedly','reduce','chews','FAS');
-INSERT INTO t3 VALUES (902,230302,37,'percentage','McGovern','appendixes','FAS');
-INSERT INTO t3 VALUES (903,230303,37,'disobedience','Nazis','raining','');
-INSERT INTO t3 VALUES (904,018062,37,'humility','epistle','infest','');
-INSERT INTO t3 VALUES (905,230501,37,'gleaning','socializes','compartment','');
-INSERT INTO t3 VALUES (906,230502,37,'petted','conceptions','minting','');
-INSERT INTO t3 VALUES (907,230503,37,'bloater','Kevin','ducks','');
-INSERT INTO t3 VALUES (908,230504,37,'minion','uncovering','roped','A');
-INSERT INTO t3 VALUES (909,230505,37,'marginal','chews','waltz','');
-INSERT INTO t3 VALUES (910,230506,37,'apiary','appendixes','Lillian','');
-INSERT INTO t3 VALUES (911,230507,37,'measures','raining','repressions','A');
-INSERT INTO t3 VALUES (912,230508,37,'precaution','infest','chillingly','');
-INSERT INTO t3 VALUES (913,230509,37,'repelled','compartment','noncritical','');
-INSERT INTO t3 VALUES (914,230901,37,'primary','minting','lithograph','');
-INSERT INTO t3 VALUES (915,230902,37,'coverings','ducks','spongers','');
-INSERT INTO t3 VALUES (916,230903,37,'Artemia','roped','parenthood','');
-INSERT INTO t3 VALUES (917,230904,37,'navigate','waltz','posed','');
-INSERT INTO t3 VALUES (918,230905,37,'spatial','Lillian','instruments','');
-INSERT INTO t3 VALUES (919,230906,37,'Gurkha','repressions','filial','');
-INSERT INTO t3 VALUES (920,230907,37,'meanwhile','chillingly','fixedly','');
-INSERT INTO t3 VALUES (921,230908,37,'Melinda','noncritical','relives','');
-INSERT INTO t3 VALUES (922,230909,37,'Butterfield','lithograph','Pandora','');
-INSERT INTO t3 VALUES (923,230910,37,'Aldrich','spongers','watering','A');
-INSERT INTO t3 VALUES (924,230911,37,'previewing','parenthood','ungrateful','');
-INSERT INTO t3 VALUES (925,230912,37,'glut','posed','secures','');
-INSERT INTO t3 VALUES (926,230913,37,'unaffected','instruments','chastisers','');
-INSERT INTO t3 VALUES (927,230914,37,'inmate','filial','icon','');
-INSERT INTO t3 VALUES (928,231304,37,'mineral','fixedly','reuniting','A');
-INSERT INTO t3 VALUES (929,231305,37,'impending','relives','imagining','A');
-INSERT INTO t3 VALUES (930,231306,37,'meditation','Pandora','abiding','A');
-INSERT INTO t3 VALUES (931,231307,37,'ideas','watering','omnisciently','');
-INSERT INTO t3 VALUES (932,231308,37,'miniaturizes','ungrateful','Britannic','');
-INSERT INTO t3 VALUES (933,231309,37,'lewdly','secures','scholastics','A');
-INSERT INTO t3 VALUES (934,231310,37,'title','chastisers','mechanics','A');
-INSERT INTO t3 VALUES (935,231311,37,'youthfulness','icon','humidly','A');
-INSERT INTO t3 VALUES (936,231312,37,'creak','reuniting','masterpiece','');
-INSERT INTO t3 VALUES (937,231313,37,'Chippewa','imagining','however','');
-INSERT INTO t3 VALUES (938,231314,37,'clamored','abiding','Mendelian','');
-INSERT INTO t3 VALUES (939,231315,37,'freezes','omnisciently','jarred','');
-INSERT INTO t3 VALUES (940,232102,37,'forgivably','Britannic','scolds','');
-INSERT INTO t3 VALUES (941,232103,37,'reduce','scholastics','infatuate','');
-INSERT INTO t3 VALUES (942,232104,37,'McGovern','mechanics','willed','A');
-INSERT INTO t3 VALUES (943,232105,37,'Nazis','humidly','joyfully','');
-INSERT INTO t3 VALUES (944,232106,37,'epistle','masterpiece','Microsoft','');
-INSERT INTO t3 VALUES (945,232107,37,'socializes','however','fibrosities','');
-INSERT INTO t3 VALUES (946,232108,37,'conceptions','Mendelian','Baltimorean','');
-INSERT INTO t3 VALUES (947,232601,37,'Kevin','jarred','equestrian','');
-INSERT INTO t3 VALUES (948,232602,37,'uncovering','scolds','Goodrich','');
-INSERT INTO t3 VALUES (949,232603,37,'chews','infatuate','apish','A');
-INSERT INTO t3 VALUES (950,232605,37,'appendixes','willed','Adlerian','');
-INSERT INTO t3 VALUES (5950,1232605,37,'appendixes','willed','Adlerian','');
-INSERT INTO t3 VALUES (5951,1232606,37,'appendixes','willed','Adlerian','');
-INSERT INTO t3 VALUES (5952,1232607,37,'appendixes','willed','Adlerian','');
-INSERT INTO t3 VALUES (5953,1232608,37,'appendixes','willed','Adlerian','');
-INSERT INTO t3 VALUES (5954,1232609,37,'appendixes','willed','Adlerian','');
-INSERT INTO t3 VALUES (951,232606,37,'raining','joyfully','Tropez','');
-INSERT INTO t3 VALUES (952,232607,37,'infest','Microsoft','nouns','');
-INSERT INTO t3 VALUES (953,232608,37,'compartment','fibrosities','distracting','');
-INSERT INTO t3 VALUES (954,232609,37,'minting','Baltimorean','mutton','');
-INSERT INTO t3 VALUES (955,236104,37,'ducks','equestrian','bridgeable','A');
-INSERT INTO t3 VALUES (956,236105,37,'roped','Goodrich','stickers','A');
-INSERT INTO t3 VALUES (957,236106,37,'waltz','apish','transcontinental','A');
-INSERT INTO t3 VALUES (958,236107,37,'Lillian','Adlerian','amateurish','');
-INSERT INTO t3 VALUES (959,236108,37,'repressions','Tropez','Gandhian','');
-INSERT INTO t3 VALUES (960,236109,37,'chillingly','nouns','stratified','');
-INSERT INTO t3 VALUES (961,236110,37,'noncritical','distracting','chamberlains','');
-INSERT INTO t3 VALUES (962,236111,37,'lithograph','mutton','creditably','');
-INSERT INTO t3 VALUES (963,236112,37,'spongers','bridgeable','philosophic','');
-INSERT INTO t3 VALUES (964,236113,37,'parenthood','stickers','ores','');
-INSERT INTO t3 VALUES (965,238005,37,'posed','transcontinental','Carleton','');
-INSERT INTO t3 VALUES (966,238006,37,'instruments','amateurish','tape','A');
-INSERT INTO t3 VALUES (967,238007,37,'filial','Gandhian','afloat','A');
-INSERT INTO t3 VALUES (968,238008,37,'fixedly','stratified','goodness','A');
-INSERT INTO t3 VALUES (969,238009,37,'relives','chamberlains','welcoming','');
-INSERT INTO t3 VALUES (970,238010,37,'Pandora','creditably','Pinsky','FAS');
-INSERT INTO t3 VALUES (971,238011,37,'watering','philosophic','halting','');
-INSERT INTO t3 VALUES (972,238012,37,'ungrateful','ores','bibliography','');
-INSERT INTO t3 VALUES (973,238013,37,'secures','Carleton','decoding','');
-INSERT INTO t3 VALUES (974,240401,41,'chastisers','tape','variance','A');
-INSERT INTO t3 VALUES (975,240402,41,'icon','afloat','allowed','A');
-INSERT INTO t3 VALUES (976,240901,41,'reuniting','goodness','dire','A');
-INSERT INTO t3 VALUES (977,240902,41,'imagining','welcoming','dub','A');
-INSERT INTO t3 VALUES (978,241801,41,'abiding','Pinsky','poisoning','');
-INSERT INTO t3 VALUES (979,242101,41,'omnisciently','halting','Iraqis','A');
-INSERT INTO t3 VALUES (980,242102,41,'Britannic','bibliography','heaving','');
-INSERT INTO t3 VALUES (981,242201,41,'scholastics','decoding','population','A');
-INSERT INTO t3 VALUES (982,242202,41,'mechanics','variance','bomb','A');
-INSERT INTO t3 VALUES (983,242501,41,'humidly','allowed','Majorca','A');
-INSERT INTO t3 VALUES (984,242502,41,'masterpiece','dire','Gershwins','');
-INSERT INTO t3 VALUES (985,246201,41,'however','dub','explorers','');
-INSERT INTO t3 VALUES (986,246202,41,'Mendelian','poisoning','libretto','A');
-INSERT INTO t3 VALUES (987,246203,41,'jarred','Iraqis','occurred','');
-INSERT INTO t3 VALUES (988,246204,41,'scolds','heaving','Lagos','');
-INSERT INTO t3 VALUES (989,246205,41,'infatuate','population','rats','');
-INSERT INTO t3 VALUES (990,246301,41,'willed','bomb','bankruptcies','A');
-INSERT INTO t3 VALUES (991,246302,41,'joyfully','Majorca','crying','');
-INSERT INTO t3 VALUES (992,248001,41,'Microsoft','Gershwins','unexpected','');
-INSERT INTO t3 VALUES (993,248002,41,'fibrosities','explorers','accessed','A');
-INSERT INTO t3 VALUES (994,248003,41,'Baltimorean','libretto','colorful','A');
-INSERT INTO t3 VALUES (995,248004,41,'equestrian','occurred','versatility','A');
-INSERT INTO t3 VALUES (996,248005,41,'Goodrich','Lagos','cosy','');
-INSERT INTO t3 VALUES (997,248006,41,'apish','rats','Darius','A');
-INSERT INTO t3 VALUES (998,248007,41,'Adlerian','bankruptcies','mastering','A');
-INSERT INTO t3 VALUES (999,248008,41,'Tropez','crying','Asiaticizations','A');
-INSERT INTO t3 VALUES (1000,248009,41,'nouns','unexpected','offerers','A');
-INSERT INTO t3 VALUES (1001,248010,41,'distracting','accessed','uncles','A');
-INSERT INTO t3 VALUES (1002,248011,41,'mutton','colorful','sleepwalk','');
-INSERT INTO t3 VALUES (1003,248012,41,'bridgeable','versatility','Ernestine','');
-INSERT INTO t3 VALUES (1004,248013,41,'stickers','cosy','checksumming','');
-INSERT INTO t3 VALUES (1005,248014,41,'transcontinental','Darius','stopped','');
-INSERT INTO t3 VALUES (1006,248015,41,'amateurish','mastering','sicker','');
-INSERT INTO t3 VALUES (1007,248016,41,'Gandhian','Asiaticizations','Italianization','');
-INSERT INTO t3 VALUES (1008,248017,41,'stratified','offerers','alphabetic','');
-INSERT INTO t3 VALUES (1009,248018,41,'chamberlains','uncles','pharmaceutic','');
-INSERT INTO t3 VALUES (1010,248019,41,'creditably','sleepwalk','creator','');
-INSERT INTO t3 VALUES (1011,248020,41,'philosophic','Ernestine','chess','');
-INSERT INTO t3 VALUES (1012,248021,41,'ores','checksumming','charcoal','');
-INSERT INTO t3 VALUES (1013,248101,41,'Carleton','stopped','Epiphany','A');
-INSERT INTO t3 VALUES (1014,248102,41,'tape','sicker','bulldozes','A');
-INSERT INTO t3 VALUES (1015,248201,41,'afloat','Italianization','Pygmalion','A');
-INSERT INTO t3 VALUES (1016,248202,41,'goodness','alphabetic','caressing','A');
-INSERT INTO t3 VALUES (1017,248203,41,'welcoming','pharmaceutic','Palestine','A');
-INSERT INTO t3 VALUES (1018,248204,41,'Pinsky','creator','regimented','A');
-INSERT INTO t3 VALUES (1019,248205,41,'halting','chess','scars','A');
-INSERT INTO t3 VALUES (1020,248206,41,'bibliography','charcoal','realest','A');
-INSERT INTO t3 VALUES (1021,248207,41,'decoding','Epiphany','diffusing','A');
-INSERT INTO t3 VALUES (1022,248208,41,'variance','bulldozes','clubroom','A');
-INSERT INTO t3 VALUES (1023,248209,41,'allowed','Pygmalion','Blythe','A');
-INSERT INTO t3 VALUES (1024,248210,41,'dire','caressing','ahead','');
-INSERT INTO t3 VALUES (1025,248211,50,'dub','Palestine','reviver','');
-INSERT INTO t3 VALUES (1026,250501,34,'poisoning','regimented','retransmitting','A');
-INSERT INTO t3 VALUES (1027,250502,34,'Iraqis','scars','landslide','');
-INSERT INTO t3 VALUES (1028,250503,34,'heaving','realest','Eiffel','');
-INSERT INTO t3 VALUES (1029,250504,34,'population','diffusing','absentee','');
-INSERT INTO t3 VALUES (1030,250505,34,'bomb','clubroom','aye','');
-INSERT INTO t3 VALUES (1031,250601,34,'Majorca','Blythe','forked','A');
-INSERT INTO t3 VALUES (1032,250602,34,'Gershwins','ahead','Peruvianizes','');
-INSERT INTO t3 VALUES (1033,250603,34,'explorers','reviver','clerked','');
-INSERT INTO t3 VALUES (1034,250604,34,'libretto','retransmitting','tutor','');
-INSERT INTO t3 VALUES (1035,250605,34,'occurred','landslide','boulevard','');
-INSERT INTO t3 VALUES (1036,251001,34,'Lagos','Eiffel','shuttered','');
-INSERT INTO t3 VALUES (1037,251002,34,'rats','absentee','quotes','A');
-INSERT INTO t3 VALUES (1038,251003,34,'bankruptcies','aye','Caltech','');
-INSERT INTO t3 VALUES (1039,251004,34,'crying','forked','Mossberg','');
-INSERT INTO t3 VALUES (1040,251005,34,'unexpected','Peruvianizes','kept','');
-INSERT INTO t3 VALUES (1041,251301,34,'accessed','clerked','roundly','');
-INSERT INTO t3 VALUES (1042,251302,34,'colorful','tutor','features','A');
-INSERT INTO t3 VALUES (1043,251303,34,'versatility','boulevard','imaginable','A');
-INSERT INTO t3 VALUES (1044,251304,34,'cosy','shuttered','controller','');
-INSERT INTO t3 VALUES (1045,251305,34,'Darius','quotes','racial','');
-INSERT INTO t3 VALUES (1046,251401,34,'mastering','Caltech','uprisings','A');
-INSERT INTO t3 VALUES (1047,251402,34,'Asiaticizations','Mossberg','narrowed','A');
-INSERT INTO t3 VALUES (1048,251403,34,'offerers','kept','cannot','A');
-INSERT INTO t3 VALUES (1049,251404,34,'uncles','roundly','vest','');
-INSERT INTO t3 VALUES (1050,251405,34,'sleepwalk','features','famine','');
-INSERT INTO t3 VALUES (1051,251406,34,'Ernestine','imaginable','sugars','');
-INSERT INTO t3 VALUES (1052,251801,34,'checksumming','controller','exterminated','A');
-INSERT INTO t3 VALUES (1053,251802,34,'stopped','racial','belays','');
-INSERT INTO t3 VALUES (1054,252101,34,'sicker','uprisings','Hodges','A');
-INSERT INTO t3 VALUES (1055,252102,34,'Italianization','narrowed','translatable','');
-INSERT INTO t3 VALUES (1056,252301,34,'alphabetic','cannot','duality','A');
-INSERT INTO t3 VALUES (1057,252302,34,'pharmaceutic','vest','recording','A');
-INSERT INTO t3 VALUES (1058,252303,34,'creator','famine','rouses','A');
-INSERT INTO t3 VALUES (1059,252304,34,'chess','sugars','poison','');
-INSERT INTO t3 VALUES (1060,252305,34,'charcoal','exterminated','attitude','');
-INSERT INTO t3 VALUES (1061,252306,34,'Epiphany','belays','dusted','');
-INSERT INTO t3 VALUES (1062,252307,34,'bulldozes','Hodges','encompasses','');
-INSERT INTO t3 VALUES (1063,252308,34,'Pygmalion','translatable','presentation','');
-INSERT INTO t3 VALUES (1064,252309,34,'caressing','duality','Kantian','');
-INSERT INTO t3 VALUES (1065,256001,34,'Palestine','recording','imprecision','A');
-INSERT INTO t3 VALUES (1066,256002,34,'regimented','rouses','saving','');
-INSERT INTO t3 VALUES (1067,256003,34,'scars','poison','maternal','');
-INSERT INTO t3 VALUES (1068,256004,34,'realest','attitude','hewed','');
-INSERT INTO t3 VALUES (1069,256005,34,'diffusing','dusted','kerosene','');
-INSERT INTO t3 VALUES (1070,258001,34,'clubroom','encompasses','Cubans','');
-INSERT INTO t3 VALUES (1071,258002,34,'Blythe','presentation','photographers','');
-INSERT INTO t3 VALUES (1072,258003,34,'ahead','Kantian','nymph','A');
-INSERT INTO t3 VALUES (1073,258004,34,'reviver','imprecision','bedlam','A');
-INSERT INTO t3 VALUES (1074,258005,34,'retransmitting','saving','north','A');
-INSERT INTO t3 VALUES (1075,258006,34,'landslide','maternal','Schoenberg','A');
-INSERT INTO t3 VALUES (1076,258007,34,'Eiffel','hewed','botany','A');
-INSERT INTO t3 VALUES (1077,258008,34,'absentee','kerosene','curs','');
-INSERT INTO t3 VALUES (1078,258009,34,'aye','Cubans','solidification','');
-INSERT INTO t3 VALUES (1079,258010,34,'forked','photographers','inheritresses','');
-INSERT INTO t3 VALUES (1080,258011,34,'Peruvianizes','nymph','stiller','');
-INSERT INTO t3 VALUES (1081,258101,68,'clerked','bedlam','t1','A');
-INSERT INTO t3 VALUES (1082,258102,68,'tutor','north','suite','A');
-INSERT INTO t3 VALUES (1083,258103,34,'boulevard','Schoenberg','ransomer','');
-INSERT INTO t3 VALUES (1084,258104,68,'shuttered','botany','Willy','');
-INSERT INTO t3 VALUES (1085,258105,68,'quotes','curs','Rena','A');
-INSERT INTO t3 VALUES (1086,258106,68,'Caltech','solidification','Seattle','A');
-INSERT INTO t3 VALUES (1087,258107,68,'Mossberg','inheritresses','relaxes','A');
-INSERT INTO t3 VALUES (1088,258108,68,'kept','stiller','exclaim','');
-INSERT INTO t3 VALUES (1089,258109,68,'roundly','t1','implicated','A');
-INSERT INTO t3 VALUES (1090,258110,68,'features','suite','distinguish','');
-INSERT INTO t3 VALUES (1091,258111,68,'imaginable','ransomer','assayed','');
-INSERT INTO t3 VALUES (1092,258112,68,'controller','Willy','homeowner','');
-INSERT INTO t3 VALUES (1093,258113,68,'racial','Rena','and','');
-INSERT INTO t3 VALUES (1094,258201,34,'uprisings','Seattle','stealth','');
-INSERT INTO t3 VALUES (1095,258202,34,'narrowed','relaxes','coinciding','A');
-INSERT INTO t3 VALUES (1096,258203,34,'cannot','exclaim','founder','A');
-INSERT INTO t3 VALUES (1097,258204,34,'vest','implicated','environing','');
-INSERT INTO t3 VALUES (1098,258205,34,'famine','distinguish','jewelry','');
-INSERT INTO t3 VALUES (1099,258301,34,'sugars','assayed','lemons','A');
-INSERT INTO t3 VALUES (1100,258401,34,'exterminated','homeowner','brokenness','A');
-INSERT INTO t3 VALUES (1101,258402,34,'belays','and','bedpost','A');
-INSERT INTO t3 VALUES (1102,258403,34,'Hodges','stealth','assurers','A');
-INSERT INTO t3 VALUES (1103,258404,34,'translatable','coinciding','annoyers','');
-INSERT INTO t3 VALUES (1104,258405,34,'duality','founder','affixed','');
-INSERT INTO t3 VALUES (1105,258406,34,'recording','environing','warbling','');
-INSERT INTO t3 VALUES (1106,258407,34,'rouses','jewelry','seriously','');
-INSERT INTO t3 VALUES (1107,228123,37,'poison','lemons','boasted','');
-INSERT INTO t3 VALUES (1108,250606,34,'attitude','brokenness','Chantilly','');
-INSERT INTO t3 VALUES (1109,208405,37,'dusted','bedpost','Iranizes','');
-INSERT INTO t3 VALUES (1110,212101,37,'encompasses','assurers','violinist','');
-INSERT INTO t3 VALUES (1111,218206,37,'presentation','annoyers','extramarital','');
-INSERT INTO t3 VALUES (1112,150401,37,'Kantian','affixed','spates','');
-INSERT INTO t3 VALUES (1113,248212,41,'imprecision','warbling','cloakroom','');
-INSERT INTO t3 VALUES (1114,128026,00,'saving','seriously','gazer','');
-INSERT INTO t3 VALUES (1115,128024,00,'maternal','boasted','hand','');
-INSERT INTO t3 VALUES (1116,128027,00,'hewed','Chantilly','tucked','');
-INSERT INTO t3 VALUES (1117,128025,00,'kerosene','Iranizes','gems','');
-INSERT INTO t3 VALUES (1118,128109,00,'Cubans','violinist','clinker','');
-INSERT INTO t3 VALUES (1119,128705,00,'photographers','extramarital','refiner','');
-INSERT INTO t3 VALUES (1120,126303,00,'nymph','spates','callus','');
-INSERT INTO t3 VALUES (1121,128308,00,'bedlam','cloakroom','leopards','');
-INSERT INTO t3 VALUES (1122,128204,00,'north','gazer','comfortingly','');
-INSERT INTO t3 VALUES (1123,128205,00,'Schoenberg','hand','generically','');
-INSERT INTO t3 VALUES (1124,128206,00,'botany','tucked','getters','');
-INSERT INTO t3 VALUES (1125,128207,00,'curs','gems','sexually','');
-INSERT INTO t3 VALUES (1126,118205,00,'solidification','clinker','spear','');
-INSERT INTO t3 VALUES (1127,116801,00,'inheritresses','refiner','serums','');
-INSERT INTO t3 VALUES (1128,116803,00,'stiller','callus','Italianization','');
-INSERT INTO t3 VALUES (1129,116804,00,'t1','leopards','attendants','');
-INSERT INTO t3 VALUES (1130,116802,00,'suite','comfortingly','spies','');
-INSERT INTO t3 VALUES (1131,128605,00,'ransomer','generically','Anthony','');
-INSERT INTO t3 VALUES (1132,118308,00,'Willy','getters','planar','');
-INSERT INTO t3 VALUES (1133,113702,00,'Rena','sexually','cupped','');
-INSERT INTO t3 VALUES (1134,113703,00,'Seattle','spear','cleanser','');
-INSERT INTO t3 VALUES (1135,112103,00,'relaxes','serums','commuters','');
-INSERT INTO t3 VALUES (1136,118009,00,'exclaim','Italianization','honeysuckle','');
-INSERT INTO t3 VALUES (5136,1118009,00,'exclaim','Italianization','honeysuckle','');
-INSERT INTO t3 VALUES (1137,138011,00,'implicated','attendants','orphanage','');
-INSERT INTO t3 VALUES (1138,138010,00,'distinguish','spies','skies','');
-INSERT INTO t3 VALUES (1139,138012,00,'assayed','Anthony','crushers','');
-INSERT INTO t3 VALUES (1140,068304,00,'homeowner','planar','Puritan','');
-INSERT INTO t3 VALUES (1141,078009,00,'and','cupped','squeezer','');
-INSERT INTO t3 VALUES (1142,108013,00,'stealth','cleanser','bruises','');
-INSERT INTO t3 VALUES (1143,084004,00,'coinciding','commuters','bonfire','');
-INSERT INTO t3 VALUES (1144,083402,00,'founder','honeysuckle','Colombo','');
-INSERT INTO t3 VALUES (1145,084003,00,'environing','orphanage','nondecreasing','');
-INSERT INTO t3 VALUES (1146,088504,00,'jewelry','skies','innocents','');
-INSERT INTO t3 VALUES (1147,088005,00,'lemons','crushers','masked','');
-INSERT INTO t3 VALUES (1148,088007,00,'brokenness','Puritan','file','');
-INSERT INTO t3 VALUES (1149,088006,00,'bedpost','squeezer','brush','');
-INSERT INTO t3 VALUES (1150,148025,00,'assurers','bruises','mutilate','');
-INSERT INTO t3 VALUES (1151,148024,00,'annoyers','bonfire','mommy','');
-INSERT INTO t3 VALUES (1152,138305,00,'affixed','Colombo','bulkheads','');
-INSERT INTO t3 VALUES (1153,138306,00,'warbling','nondecreasing','undeclared','');
-INSERT INTO t3 VALUES (1154,152701,00,'seriously','innocents','displacements','');
-INSERT INTO t3 VALUES (1155,148505,00,'boasted','masked','nieces','');
-INSERT INTO t3 VALUES (1156,158003,00,'Chantilly','file','coeducation','');
-INSERT INTO t3 VALUES (1157,156201,00,'Iranizes','brush','brassy','');
-INSERT INTO t3 VALUES (1158,156202,00,'violinist','mutilate','authenticator','');
-INSERT INTO t3 VALUES (1159,158307,00,'extramarital','mommy','Washoe','');
-INSERT INTO t3 VALUES (1160,158402,00,'spates','bulkheads','penny','');
-INSERT INTO t3 VALUES (1161,158401,00,'cloakroom','undeclared','Flagler','');
-INSERT INTO t3 VALUES (1162,068013,00,'gazer','displacements','stoned','');
-INSERT INTO t3 VALUES (1163,068012,00,'hand','nieces','cranes','');
-INSERT INTO t3 VALUES (1164,068203,00,'tucked','coeducation','masterful','');
-INSERT INTO t3 VALUES (1165,088205,00,'gems','brassy','biracial','');
-INSERT INTO t3 VALUES (1166,068704,00,'clinker','authenticator','steamships','');
-INSERT INTO t3 VALUES (1167,068604,00,'refiner','Washoe','windmills','');
-INSERT INTO t3 VALUES (1168,158502,00,'callus','penny','exploit','');
-INSERT INTO t3 VALUES (1169,123103,00,'leopards','Flagler','riverfront','');
-INSERT INTO t3 VALUES (1170,148026,00,'comfortingly','stoned','sisterly','');
-INSERT INTO t3 VALUES (1171,123302,00,'generically','cranes','sharpshoot','');
-INSERT INTO t3 VALUES (1172,076503,00,'getters','masterful','mittens','');
-INSERT INTO t3 VALUES (1173,126304,00,'sexually','biracial','interdependency','');
-INSERT INTO t3 VALUES (1174,068306,00,'spear','steamships','policy','');
-INSERT INTO t3 VALUES (1175,143504,00,'serums','windmills','unleashing','');
-INSERT INTO t3 VALUES (1176,160201,00,'Italianization','exploit','pretenders','');
-INSERT INTO t3 VALUES (1177,148028,00,'attendants','riverfront','overstatements','');
-INSERT INTO t3 VALUES (1178,148027,00,'spies','sisterly','birthed','');
-INSERT INTO t3 VALUES (1179,143505,00,'Anthony','sharpshoot','opportunism','');
-INSERT INTO t3 VALUES (1180,108014,00,'planar','mittens','showroom','');
-INSERT INTO t3 VALUES (1181,076104,00,'cupped','interdependency','compromisingly','');
-INSERT INTO t3 VALUES (1182,078106,00,'cleanser','policy','Medicare','');
-INSERT INTO t3 VALUES (1183,126102,00,'commuters','unleashing','corresponds','');
-INSERT INTO t3 VALUES (1184,128029,00,'honeysuckle','pretenders','hardware','');
-INSERT INTO t3 VALUES (1185,128028,00,'orphanage','overstatements','implant','');
-INSERT INTO t3 VALUES (1186,018410,00,'skies','birthed','Alicia','');
-INSERT INTO t3 VALUES (1187,128110,00,'crushers','opportunism','requesting','');
-INSERT INTO t3 VALUES (1188,148506,00,'Puritan','showroom','produced','');
-INSERT INTO t3 VALUES (1189,123303,00,'squeezer','compromisingly','criticizes','');
-INSERT INTO t3 VALUES (1190,123304,00,'bruises','Medicare','backer','');
-INSERT INTO t3 VALUES (1191,068504,00,'bonfire','corresponds','positively','');
-INSERT INTO t3 VALUES (1192,068305,00,'Colombo','hardware','colicky','');
-INSERT INTO t3 VALUES (1193,000000,00,'nondecreasing','implant','thrillingly','');
---enable_query_log
-INSERT INTO t3 (fld1, companynr) VALUES (999999,99);
-
-CREATE TABLE t4 (
- companynr tinyint(2) unsigned zerofill NOT NULL default '00',
- companyname char(30) NOT NULL default '',
- PRIMARY KEY (companynr),
- UNIQUE KEY companyname(companyname)
-) MAX_ROWS=50 PACK_KEYS=1 COMMENT='companynames';
-
---disable_query_log
-INSERT INTO t4 (companynr, companyname) VALUES (29,'company 1');
-INSERT INTO t4 (companynr, companyname) VALUES (34,'company 2');
-INSERT INTO t4 (companynr, companyname) VALUES (36,'company 3');
-INSERT INTO t4 (companynr, companyname) VALUES (37,'company 4');
-INSERT INTO t4 (companynr, companyname) VALUES (40,'company 5');
-INSERT INTO t4 (companynr, companyname) VALUES (41,'company 6');
-INSERT INTO t4 (companynr, companyname) VALUES (53,'company 7');
-INSERT INTO t4 (companynr, companyname) VALUES (58,'company 8');
-INSERT INTO t4 (companynr, companyname) VALUES (65,'company 9');
-INSERT INTO t4 (companynr, companyname) VALUES (68,'company 10');
-INSERT INTO t4 (companynr, companyname) VALUES (50,'company 11');
-INSERT INTO t4 (companynr, companyname) VALUES (00,'Unknown');
---enable_query_log
-
-CREATE TABLE t5 (
- a int, b varchar(30),
- PRIMARY KEY(a)
-);
-INSERT INTO t5 VALUES (1,'one');
-INSERT INTO t5 VALUES (2,'two');
-INSERT INTO t5 VALUES (3,'three');
-INSERT INTO t5 VALUES (4,'four');
-
-CREATE TABLE t6 AS SELECT * FROM t5;
-
-
-# ----------------------------------------------------- #
-# --- Test --- #
-# ----------------------------------------------------- #
-SELECT * FROM t1 LEFT JOIN t2 ON f1 = f3;
-SELECT t3.companynr,companyname FROM t3 LEFT JOIN t4 USING (companynr) WHERE t4.companynr
IS NULL;
-SELECT * FROM t6 LEFT JOIN t5 ON(t5.a = t6.a) ORDER BY t6.a;
-SELECT * FROM t6 LEFT JOIN t5 USING(a) ORDER BY t6.a;
-
-
-# ----------------------------------------------------- #
-# --- Check --- #
-# ----------------------------------------------------- #
-SELECT count(*) FROM t1;
-SELECT count(*) FROM t2;
-SELECT count(*) FROM t3;
-SELECT count(*) FROM t4;
-SELECT count(*) FROM t5;
-SELECT count(*) FROM t6;
-
-# ----------------------------------------------------- #
-# --- Final cleanup --- #
-# ----------------------------------------------------- #
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-DROP TABLE t4;
-DROP TABLE t5;
-DROP TABLE t6;
=== modified file 'mysql-test/suite/falcon_team/r/falcon_bug_23945.result'
--- a/mysql-test/suite/falcon_team/r/falcon_bug_23945.result 2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon_team/r/falcon_bug_23945.result 2008-09-09 08:30:18 +0000
@@ -1,14 +1,14 @@
*** Bug #23945 ***
-SET STORAGE_ENGINE = Falcon;
+SET @@storage_engine = 'Falcon';
DROP TABLE IF EXISTS t1;
-SET AUTOCOMMIT = 1;
+SET @@autocommit = 1;
CREATE TABLE t1 (PRIMARY KEY (a)) SELECT 1 AS a UNION ALL SELECT 1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
SELECT * FROM t1;
ERROR 42S02: Table 'test.t1' doesn't exist
DROP TABLE t1;
ERROR 42S02: Unknown table 't1'
-SET AUTOCOMMIT = 0;
+SET @@autocommit = 0;
CREATE TABLE t1 (PRIMARY KEY (a)) SELECT 1 AS a UNION ALL SELECT 1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
SELECT * FROM t1;
=== modified file 'mysql-test/suite/falcon_team/t/disabled.def'
--- a/mysql-test/suite/falcon_team/t/disabled.def 2008-08-28 08:37:20 +0000
+++ b/mysql-test/suite/falcon_team/t/disabled.def 2008-09-10 22:35:51 +0000
@@ -17,4 +17,4 @@
# which should probably be attached to a bug report instead.
# Also please keep the list sorted.
-
+falcon_bug_23945 : Bug#34892 2008-09-10 hky Test failure brings Falcon's data dictionary
out of sync
=== modified file 'mysql-test/suite/falcon_team/t/falcon_bug_23945.test'
--- a/mysql-test/suite/falcon_team/t/falcon_bug_23945.test 2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon_team/t/falcon_bug_23945.test 2008-09-09 08:30:18 +0000
@@ -1,19 +1,25 @@
+--source include/have_falcon.inc
+
#
# Bug #23945: crash during drop table, AUTOCOMMIT=0, CREATE TABLE .. AS SELECT
#
--echo *** Bug #23945 ***
-
-# --source include/have_innodb.inc
-# SET STORAGE_ENGINE = InnoDB;
---source include/have_falcon.inc
-SET STORAGE_ENGINE = Falcon;
+# ----------------------------------------------------- #
+# --- Initialisation --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
-SET AUTOCOMMIT = 1;
+SET @@autocommit = 1;
+
+# ----------------------------------------------------- #
+# --- Test --- #
+# ----------------------------------------------------- #
--error ER_DUP_ENTRY
CREATE TABLE t1 (PRIMARY KEY (a)) SELECT 1 AS a UNION ALL SELECT 1;
--error ER_NO_SUCH_TABLE
@@ -21,7 +27,7 @@ SELECT * FROM t1;
--error ER_BAD_TABLE_ERROR
DROP TABLE t1;
-SET AUTOCOMMIT = 0;
+SET @@autocommit = 0;
--error ER_DUP_ENTRY
CREATE TABLE t1 (PRIMARY KEY (a)) SELECT 1 AS a UNION ALL SELECT 1;
--error ER_NO_SUCH_TABLE
@@ -29,3 +35,15 @@ SELECT * FROM t1;
# Here comes a server crash.
--error ER_BAD_TABLE_ERROR
DROP TABLE t1;
+
+# ----------------------------------------------------- #
+# --- Check --- #
+# ----------------------------------------------------- #
+# Check not applicable in this test.
+#SELECT count(*) FROM t1;
+
+# ----------------------------------------------------- #
+# --- Final cleanup --- #
+# ----------------------------------------------------- #
+# Final cleanup not applicable in this test.
+#DROP TABLE t1;
=== modified file 'storage/falcon/Cache.cpp'
--- a/storage/falcon/Cache.cpp 2008-09-04 17:28:23 +0000
+++ b/storage/falcon/Cache.cpp 2008-09-09 20:57:57 +0000
@@ -249,7 +249,6 @@ Bdb* Cache::lockFindBdbIncrementUseCount
if (bdb != NULL)
bdb->incrementUseCount(ADD_HISTORY);
- lockHash.unlock();
return bdb;
}
@@ -262,11 +261,9 @@ Bdb* Cache::lockFindBdbIncrementUseCount
if (bdb->pageNumber == pageNumber)
{
bdb->incrementUseCount(ADD_HISTORY);
- lockHash.unlock();
return bdb;
}
- lockHash.unlock();
return NULL;
}
@@ -292,8 +289,8 @@ Bdb* Cache::fetchPage(Dbb *dbb, int32 pa
bdb = lockFindBdbIncrementUseCount(dbb, pageNumber);
if (!bdb)
{
- // get getFreeBuffer() locks a hash bucket to remove the candidate bdb
- // if we locked out hash bucket before the call then we could have
+ // getFreeBuffer() locks a hash bucket to remove the candidate bdb
+ // if we locked our hash bucket before the call then we could have
// a deadlock
// thus we get the free buffer before we lock the hash bucket we will
// be inserting into. This avoids a dead lock but generates a race
@@ -305,15 +302,8 @@ Bdb* Cache::fetchPage(Dbb *dbb, int32 pa
bdbAvailable = getFreeBuffer();
/* assume we'll be inserting this new BDB. Set new page number. */
- bdbAvailable->addRef (Exclusive COMMA_ADD_HISTORY);
- bdbAvailable->decrementUseCount(REL_HISTORY);
-
- bdbAvailable->hash = hashTable [slot];
bdbAvailable->pageNumber = pageNumber;
bdbAvailable->dbb = dbb;
-#ifdef COLLECT_BDB_HISTORY
- bdbAvailable->initHistory();
-#endif
lockHash.lock(Exclusive);
bdb = findBdb(dbb, pageNumber, slot);
@@ -321,6 +311,7 @@ Bdb* Cache::fetchPage(Dbb *dbb, int32 pa
{
// we won the race so lets use the free bdb
// relink into hash table
+ bdbAvailable->hash = hashTable [slot];
hashTable [slot] = bdbAvailable;
lockHash.unlock();
@@ -345,19 +336,19 @@ Bdb* Cache::fetchPage(Dbb *dbb, int32 pa
}
else
{
- // lost a race. put our available back to useable
- // side effect, bdbAvailable will have to age again before we re-use it.
- bdbAvailable->hash = NULL;
- bdbAvailable->pageNumber = -1;
- bdbAvailable->dbb = NULL;
- bdbAvailable->release();
-
//syncObject.validateExclusive("Cache::fetchPage (retry)");
bdb->incrementUseCount(ADD_HISTORY);
lockHash.unlock();
bdb->addRef(lockType COMMA_ADD_HISTORY);
bdb->decrementUseCount(REL_HISTORY);
moveToHead(bdb);
+
+ // lost a race. put our available back to useable
+ // side effect, bdbAvailable will have to age again before we re-use it.
+ bdbAvailable->hash = NULL;
+ bdbAvailable->pageNumber = -1;
+ bdbAvailable->dbb = NULL;
+ bdbAvailable->release(REL_HISTORY);
}
}
else
@@ -378,7 +369,7 @@ Bdb* Cache::fetchPage(Dbb *dbb, int32 pa
if (pageType && page->pageType != pageType)
{
/*** future code
- bdb->release();
+ bdb->release(REL_HISTORY);
throw SQLError (DATABASE_CORRUPTION, "page %d wrong page type, expected %d got %d\n",
pageNumber, pageType, page->pageType);
***/
@@ -406,8 +397,8 @@ Bdb* Cache::fakePage(Dbb *dbb, int32 pag
bdb = lockFindBdbIncrementUseCount(dbb, pageNumber);
if (!bdb)
{
- // get getFreeBuffer() locks a hash bucket to remove the candidate bdb
- // if we locked out hash bucket before the call then we could have
+ // getFreeBuffer() locks a hash bucket to remove the candidate bdb
+ // if we locked our hash bucket before the call then we could have
// a deadlock
// thus we get the free buffer before we lock the hash bucket we will
// be inserting into. This avoids a dead lock but generates a race
@@ -419,15 +410,8 @@ Bdb* Cache::fakePage(Dbb *dbb, int32 pag
bdbAvailable = getFreeBuffer();
/* assume we'll be inserting this new BDB. Set new page number. */
- bdbAvailable->addRef (Exclusive COMMA_ADD_HISTORY);
- bdbAvailable->decrementUseCount(REL_HISTORY);
-
- bdbAvailable->hash = hashTable [slot];
bdbAvailable->pageNumber = pageNumber;
bdbAvailable->dbb = dbb;
-#ifdef COLLECT_BDB_HISTORY
- bdbAvailable->initHistory();
-#endif
lockHash.lock(Exclusive);
bdb = findBdb(dbb, pageNumber, slot);
@@ -435,6 +419,7 @@ Bdb* Cache::fakePage(Dbb *dbb, int32 pag
{
// we won the race so lets use the free bdb
// relink into hash table
+ bdbAvailable->hash = hashTable [slot];
hashTable [slot] = bdbAvailable;
lockHash.unlock();
@@ -442,19 +427,19 @@ Bdb* Cache::fakePage(Dbb *dbb, int32 pag
}
else
{
- // lost a race. put our available back to useable
- // side effect, bdbAvailable will have to age again before we re-use it.
- bdbAvailable->hash = NULL;
- bdbAvailable->pageNumber = -1;
- bdbAvailable->dbb = NULL;
- bdbAvailable->release();
-
//syncObject.validateExclusive("Cache::fetchPage (retry)");
bdb->incrementUseCount(ADD_HISTORY);
lockHash.unlock();
bdb->addRef(Exclusive COMMA_ADD_HISTORY);
bdb->decrementUseCount(REL_HISTORY);
moveToHead(bdb);
+
+ // lost a race. put our available back to useable
+ // side effect, bdbAvailable will have to age again before we re-use it.
+ bdbAvailable->hash = NULL;
+ bdbAvailable->pageNumber = -1;
+ bdbAvailable->dbb = NULL;
+ bdbAvailable->release(REL_HISTORY);
}
}
else
@@ -617,9 +602,15 @@ Bdb* Cache::getFreeBuffer(void)
break;
}
#ifdef CHECK_STALLED_BDB
- bdb->stallCount = 0;
+ bdb->stallCount = 0;
#endif // CHECK_STALLED_BDB
+#ifdef COLLECT_BDB_HISTORY
+ bdb->initHistory();
+#endif
+ bdb->addRef (Exclusive COMMA_ADD_HISTORY);
+ bdb->decrementUseCount(REL_HISTORY);
+
return bdb;
}
@@ -826,7 +817,6 @@ void Cache::freePage(Dbb *dbb, int32 pag
{
if (bdb->isDirty)
{
- lockHash.unlock();
markClean (bdb);
}
@@ -860,10 +850,8 @@ bool Cache::hasDirtyPages(Dbb *dbb)
for (Bdb *bdb = firstDirty; bdb; bdb = bdb->nextDirty)
if (bdb->dbb == dbb)
{
- dirtyLock.unlock();
return true;
}
- dirtyLock.unlock();
return false;
}
=== modified file 'storage/falcon/Configuration.cpp'
--- a/storage/falcon/Configuration.cpp 2008-09-11 10:56:00 +0000
+++ b/storage/falcon/Configuration.cpp 2008-09-11 11:10:22 +0000
@@ -42,7 +42,6 @@
#include "SQLError.h"
#include "Log.h"
#include "IOx.h"
-#include "ScanDir.h"
#ifndef ULL
#define ULL(a) ((uint64) a)
=== modified file 'storage/falcon/DeferredIndex.cpp'
--- a/storage/falcon/DeferredIndex.cpp 2008-07-25 18:07:24 +0000
+++ b/storage/falcon/DeferredIndex.cpp 2008-09-10 19:51:03 +0000
@@ -840,7 +840,7 @@ void DeferredIndex::detachTransaction(vo
else
sync.unlock();
- releaseRef();
+ //releaseRef();
}
void DeferredIndex::chill(Dbb *dbb)
@@ -884,8 +884,11 @@ void DeferredIndex::addRef()
void DeferredIndex::releaseRef()
{
+ ASSERT(useCount > 0);
+
INTERLOCKED_DECREMENT(useCount);
if (useCount == 0)
delete this;
-}
\ No newline at end of file
+}
+
=== modified file 'storage/falcon/DeferredIndexWalker.cpp'
--- a/storage/falcon/DeferredIndexWalker.cpp 2008-05-07 22:37:18 +0000
+++ b/storage/falcon/DeferredIndexWalker.cpp 2008-09-10 19:51:03 +0000
@@ -31,6 +31,7 @@ DeferredIndexWalker::DeferredIndexWalker
void DeferredIndexWalker::initialize(DeferredIndex *deferredIdx, IndexKey *indexKey, int
searchFlags)
{
deferredIndex = deferredIdx;
+ deferredIndex->addRef();
currentNode = NULL;
DIBucket *bucket = (DIBucket*) deferredIndex->root;
nodePending = true;
@@ -94,6 +95,8 @@ void DeferredIndexWalker::initialize(Def
DeferredIndexWalker::~DeferredIndexWalker(void)
{
+ if (deferredIndex)
+ deferredIndex->releaseRef();
}
DINode* DeferredIndexWalker::next(void)
=== modified file 'storage/falcon/StorageTable.cpp'
--- a/storage/falcon/StorageTable.cpp 2008-08-22 06:47:40 +0000
+++ b/storage/falcon/StorageTable.cpp 2008-09-09 23:15:17 +0000
@@ -195,7 +195,7 @@ int StorageTable::setCurrentIndex(int in
}
if (!(currentIndex = share->getIndex(indexId)))
-{
+ {
clearCurrentIndex();
return StorageErrorNoIndex;
}
=== modified file 'storage/falcon/StorageTableShare.cpp'
--- a/storage/falcon/StorageTableShare.cpp 2008-09-03 22:17:54 +0000
+++ b/storage/falcon/StorageTableShare.cpp 2008-09-10 04:02:07 +0000
@@ -62,10 +62,10 @@ StorageIndexDesc::StorageIndexDesc()
rawName[0] = '\0';
};
-StorageIndexDesc::StorageIndexDesc(const StorageIndexDesc *indexInfo)
+StorageIndexDesc::StorageIndexDesc(const StorageIndexDesc *indexDesc)
{
- if (indexInfo)
- *this = *indexInfo;
+ if (indexDesc)
+ *this = *indexDesc;
else
{
id = 0;
@@ -86,6 +86,35 @@ StorageIndexDesc::~StorageIndexDesc(void
{
}
+bool StorageIndexDesc::operator==(const StorageIndexDesc &indexDesc) const
+{
+ if ( !(id == indexDesc.id
+ && unique == indexDesc.unique
+ && primaryKey == indexDesc.primaryKey
+ && numberSegments == indexDesc.numberSegments))
+ return false;
+
+ if (strcmp(indexDesc.name, name) != 0)
+ return false;
+
+ /***
+ const char *q = indexDesc.name;
+ const char *p = name;
+
+ for (; (*p && *q); ++p, ++q)
+ if (*p != *q)
+ return false;
+ ***/
+
+ return true;
+}
+
+bool StorageIndexDesc::operator!=(const StorageIndexDesc &indexDesc) const
+{
+ return !(*this == indexDesc);
+}
+
+
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
@@ -100,8 +129,8 @@ StorageTableShare::StorageTableShare(Sto
format = NULL;
syncObject = new SyncObject;
syncObject->setName("StorageTableShare::syncObject");
- syncIndexes = new SyncObject;
- syncIndexes->setName("StorageTableShare::syncIndexes");
+ syncIndexMap = new SyncObject;
+ syncIndexMap->setName("StorageTableShare::syncIndexMap");
sequence = NULL;
tempTable = tempTbl;
setPath(path);
@@ -118,7 +147,7 @@ StorageTableShare::StorageTableShare(Sto
StorageTableShare::~StorageTableShare(void)
{
delete syncObject;
- delete syncIndexes;
+ delete syncIndexMap;
delete [] impure;
if (storageDatabase)
@@ -143,12 +172,12 @@ void StorageTableShare::unlock(void)
void StorageTableShare::lockIndexes(bool exclusiveLock)
{
- syncIndexes->lock(NULL, (exclusiveLock) ? Exclusive : Shared);
+ syncIndexMap->lock(NULL, (exclusiveLock) ? Exclusive : Shared);
}
void StorageTableShare::unlockIndexes(void)
{
- syncIndexes->unlock();
+ syncIndexMap->unlock();
}
int StorageTableShare::open(void)
@@ -285,11 +314,17 @@ const char* StorageTableShare::cleanupTa
return buffer;
}
-char* StorageTableShare::createIndexName(const char *rawName, char *indexName)
+char* StorageTableShare::createIndexName(const char *rawName, char *indexName, bool
primary)
{
- char nameBuffer[indexNameSize];
- cleanupFieldName(rawName, nameBuffer, sizeof(nameBuffer));
- sprintf(indexName, "%s$%s", name.getString(), nameBuffer);
+ if (primary)
+ strcpy(indexName, table->getPrimaryKeyName().getString());
+ else
+ {
+ char nameBuffer[indexNameSize];
+ cleanupFieldName(rawName, nameBuffer, sizeof(nameBuffer));
+ sprintf(indexName, "%s$%s", name.getString(), nameBuffer);
+ }
+
return indexName;
}
@@ -300,7 +335,7 @@ int StorageTableShare::createIndex(Stora
// Lock out other clients before locking the table
- Sync syncIndex(syncIndexes, "StorageTableShare::createIndex(1)");
+ Sync syncIndex(syncIndexMap, "StorageTableShare::createIndex(1)");
syncIndex.lock(Exclusive);
Sync syncObj(syncObject, "StorageTableShare::createIndex(2)");
@@ -354,7 +389,7 @@ int StorageTableShare::dropIndex(Storage
// Lock out other clients before locking the table
- Sync syncIndex(syncIndexes, "StorageTableShare::dropIndex(1)");
+ Sync syncIndex(syncIndexMap, "StorageTableShare::dropIndex(1)");
syncIndex.lock(Exclusive);
Sync syncObj(syncObject, "StorageTableShare::dropIndex(2)");
@@ -362,12 +397,35 @@ int StorageTableShare::dropIndex(Storage
int ret = storageDatabase->dropIndex(storageConnection, table, sql);
- if (!ret)
- deleteIndex(indexDesc->id);
+ deleteIndex(indexDesc->id);
return ret;
}
+bool StorageTableShare::validateIndex(int indexId, StorageIndexDesc *indexTarget)
+{
+ StorageIndexDesc *indexDesc = getIndex(indexId);
+
+ if (!indexDesc || *indexDesc != *indexTarget)
+ return false;
+
+ Index *index = table->findIndex(indexDesc->name);
+
+ if (!index)
+ return false;
+
+ if (index != indexDesc->index)
+ return false;
+
+ if (indexTarget->primaryKey && index->type != PrimaryKey)
+ return false;
+
+ if (index->recordsPerSegment != indexDesc->segmentRecordCounts)
+ return false;
+
+ return true;
+}
+
void StorageTableShare::deleteIndexes()
{
for (StorageIndexDesc *indexDesc; (indexDesc = indexes);)
@@ -377,6 +435,16 @@ void StorageTableShare::deleteIndexes()
}
}
+int StorageTableShare::numberIndexes()
+{
+ int indexCount = 0;
+
+ for (StorageIndexDesc *indexDesc = indexes; indexDesc; indexDesc = indexDesc->next,
indexCount++)
+ ;
+
+ return indexCount;
+}
+
int StorageTableShare::renameTable(StorageConnection *storageConnection, const char*
newName)
{
char tableName[256];
@@ -402,24 +470,25 @@ int StorageTableShare::setIndex(const St
if (!getIndex(indexInfo->id))
{
- StorageIndexDesc *indexDesc = new StorageIndexDesc(indexInfo);
- addIndex(indexDesc);
- // Find the corresponding Falcon index
-
- if (indexDesc->primaryKey)
- indexDesc->index = table->primaryKey;
- else
- {
- char indexName[indexNameSize];
- sprintf(indexName, "%s$%s", name.getString(), indexDesc->name);
- indexDesc->index = table->findIndex(indexName);
- }
+ // Find the corresponding Falcon index else fail
- if (indexDesc->index)
- indexDesc->segmentRecordCounts = indexDesc->index->recordsPerSegment;
- else
- ret = StorageErrorNoIndex;
+ Index *index;
+
+ if (indexInfo->primaryKey)
+ index = table->primaryKey;
+ else
+ index = table->findIndex(indexInfo->name);
+
+ if (index)
+ {
+ StorageIndexDesc *indexDesc = new StorageIndexDesc(indexInfo);
+ indexDesc->index = index;
+ indexDesc->segmentRecordCounts = indexDesc->index->recordsPerSegment;
+ addIndex(indexDesc);
+ }
+ else
+ ret = StorageErrorNoIndex;
}
return ret;
@@ -432,7 +501,10 @@ StorageIndexDesc* StorageTableShare::get
for (StorageIndexDesc *indexDesc = indexes; indexDesc; indexDesc = indexDesc->next)
if (indexDesc->id == indexId)
+ {
+ ASSERT(indexDesc->index != NULL);
return indexDesc;
+ }
return NULL;
}
@@ -442,7 +514,7 @@ StorageIndexDesc* StorageTableShare::get
if (!indexes)
return NULL;
- Sync sync(syncIndexes, "StorageTableShare::getIndex");
+ Sync sync(syncIndexMap, "StorageTableShare::getIndex");
sync.lock(Shared);
StorageIndexDesc *index = getIndex(indexId);
@@ -451,21 +523,6 @@ StorageIndexDesc* StorageTableShare::get
*indexDesc = *index;
return index;
-}
-
-StorageIndexDesc* StorageTableShare::getIndex(const char *name)
-{
- if (!indexes)
- return NULL;
-
- Sync sync(syncIndexes, "StorageTableShare::getIndex(name)");
- sync.lock(Shared);
-
- for (StorageIndexDesc *indexDesc = indexes; indexDesc; indexDesc = indexDesc->next)
- if (indexDesc->name == name)
- return indexDesc;
-
- return NULL;
}
int StorageTableShare::getIndexId(const char* schemaName, const char* indexName)
=== modified file 'storage/falcon/StorageTableShare.h'
--- a/storage/falcon/StorageTableShare.h 2008-08-22 06:47:40 +0000
+++ b/storage/falcon/StorageTableShare.h 2008-09-10 04:02:07 +0000
@@ -53,8 +53,10 @@ class StorageIndexDesc
{
public:
StorageIndexDesc();
- StorageIndexDesc(const StorageIndexDesc *indexInfo);
+ StorageIndexDesc(const StorageIndexDesc *indexDesc);
virtual ~StorageIndexDesc(void);
+ bool operator==(const StorageIndexDesc &indexDesc) const;
+ bool operator!=(const StorageIndexDesc &indexDesc) const;
int id;
int unique;
@@ -113,7 +115,9 @@ public:
virtual void unlockIndexes(void);
virtual int createIndex(StorageConnection *storageConnection, StorageIndexDesc
*indexDesc, const char *sql);
virtual int dropIndex(StorageConnection *storageConnection, StorageIndexDesc
*indexDesc, const char *sql);
+ virtual bool validateIndex(int indexId, StorageIndexDesc *indexTarget);
virtual void deleteIndexes();
+ virtual int numberIndexes();
virtual int renameTable(StorageConnection *storageConnection, const char* newName);
virtual INT64 getSequenceValue(int delta);
virtual int setSequenceValue(INT64 value);
@@ -129,7 +133,6 @@ public:
void clearIndex(StorageIndexDesc *indexDesc);
StorageIndexDesc* getIndex(int indexId);
StorageIndexDesc* getIndex(int indexId, StorageIndexDesc *indexDesc);
- StorageIndexDesc* getIndex(const char *name);
int getIndexId(const char* schemaName, const char* indexName);
int create(StorageConnection *storageConnection, const char* sql, int64
autoIncrementValue);
int upgrade(StorageConnection *storageConnection, const char* sql, int64
autoIncrementValue);
@@ -148,7 +151,7 @@ public:
static const char* getDefaultRoot(void);
static const char* cleanupTableName(const char* name, char* buffer, int bufferLength,
char *schema, int schemaLength);
- char* createIndexName(const char *rawName, char *indexName);
+ char* createIndexName(const char *rawName, char *indexName, bool primary = false);
JString name;
JString schemaName;
@@ -160,7 +163,7 @@ public:
unsigned char *impure;
int initialized;
SyncObject *syncObject;
- SyncObject *syncIndexes;
+ SyncObject *syncIndexMap;
StorageDatabase *storageDatabase;
StorageHandler *storageHandler;
Table *table;
=== modified file 'storage/falcon/Transaction.cpp'
--- a/storage/falcon/Transaction.cpp 2008-09-03 22:17:54 +0000
+++ b/storage/falcon/Transaction.cpp 2008-09-10 19:51:03 +0000
@@ -85,7 +85,7 @@ Transaction::Transaction(Connection *cnc
useCount = 1;
syncObject.setName("Transaction::syncObject");
syncIsActive.setName("Transaction::syncActive");
- syncIndexes.setName("Transaction::syncIndexes");
+ syncDeferredIndexes.setName("Transaction::syncDeferredIndexes");
syncRecords.setName("Transaction::syncRecords");
syncSavepoints.setName("Transaction::syncSavepoints");
firstRecord = NULL;
@@ -254,7 +254,7 @@ void Transaction::commit()
if (state == Active)
{
- Sync sync(&syncIndexes, "Transaction::commit(1)");
+ Sync sync(&syncDeferredIndexes, "Transaction::commit(1)");
sync.lock(Shared);
for (DeferredIndex *deferredIndex= deferredIndexes; deferredIndex;
@@ -370,8 +370,8 @@ void Transaction::commitNoUpdates(void)
connection = NULL;
transactionId = 0;
writePending = false;
- syncActiveTransactions.unlock();
state = Available;
+ syncActiveTransactions.unlock();
syncIsActive.unlock();
release();
}
@@ -436,10 +436,8 @@ void Transaction::rollback()
database->backLog->rollbackRecords(backloggedRecords, this);
ASSERT(writePending);
- state = RolledBack;
writePending = false;
releaseDependencies();
- syncIsActive.unlock();
if (hasUpdates)
database->serialLog->preCommit(this);
@@ -464,6 +462,8 @@ void Transaction::rollback()
inList = false;
transactionManager->activeTransactions.remove(this);
syncActiveTransactions.unlock();
+ state = RolledBack;
+ syncIsActive.unlock();
release();
}
@@ -502,7 +502,7 @@ void Transaction::prepare(int xidLen, co
state = Limbo;
database->dbb->prepareTransaction(transactionId, xidLength, xid);
- Sync sync(&syncIndexes, "Transaction::prepare");
+ Sync sync(&syncDeferredIndexes, "Transaction::prepare");
sync.lock(Shared);
for (DeferredIndex *deferredIndex= deferredIndexes; deferredIndex;
@@ -1314,9 +1314,10 @@ void Transaction::rollbackSavepoint(int
void Transaction::add(DeferredIndex* deferredIndex)
{
- Sync sync(&syncIndexes, "Transaction::add");
+ Sync sync(&syncDeferredIndexes, "Transaction::add");
sync.lock(Exclusive);
+ deferredIndex->addRef();
deferredIndex->nextInTransaction = deferredIndexes;
deferredIndexes = deferredIndex;
deferredIndexCount++;
@@ -1495,25 +1496,31 @@ void Transaction::printBlockage(void)
void Transaction::releaseDeferredIndexes(void)
{
- Sync sync(&syncIndexes, "Transaction::releaseDeferredIndexes");
+ Sync sync(&syncDeferredIndexes, "Transaction::releaseDeferredIndexes");
sync.lock(Exclusive);
+
for (DeferredIndex *deferredIndex; (deferredIndex = deferredIndexes);)
{
ASSERT(deferredIndex->transaction == this);
deferredIndexes = deferredIndex->nextInTransaction;
deferredIndex->detachTransaction();
+ deferredIndex->releaseRef();
deferredIndexCount--;
}
}
void Transaction::releaseDeferredIndexes(Table* table)
{
+ Sync sync(&syncDeferredIndexes, "Transaction::releaseDeferredIndexes(Table *)");
+ sync.lock(Exclusive);
+
for (DeferredIndex **ptr = &deferredIndexes, *deferredIndex; (deferredIndex =
*ptr);)
{
if (deferredIndex->index && (deferredIndex->index->table == table))
{
*ptr = deferredIndex->nextInTransaction;
deferredIndex->detachTransaction();
+ deferredIndex->releaseRef();
--deferredIndexCount;
}
else
=== modified file 'storage/falcon/Transaction.h'
--- a/storage/falcon/Transaction.h 2008-09-03 22:17:54 +0000
+++ b/storage/falcon/Transaction.h 2008-09-10 04:02:07 +0000
@@ -170,8 +170,8 @@ public:
bool pendingPageWrites;
bool hasLocks;
SyncObject syncObject;
- SyncObject syncIsActive; // locked while transaction is active
- SyncObject syncIndexes;
+ SyncObject syncIsActive; // locked while transaction is active
+ SyncObject syncDeferredIndexes;
SyncObject syncRecords;
SyncObject syncSavepoints;
uint64 totalRecordData; // total bytes of record data for this transaction (unchilled
+ thawed)
=== modified file 'storage/falcon/ha_falcon.cpp'
--- a/storage/falcon/ha_falcon.cpp 2008-09-05 16:26:12 +0000
+++ b/storage/falcon/ha_falcon.cpp 2008-09-10 13:42:36 +0000
@@ -34,6 +34,7 @@
#include "CmdGen.h"
#include "InfoTable.h"
#include "Format.h"
+#include "Error.h"
#ifdef _WIN32
#define I64FORMAT "%I64d"
@@ -156,12 +157,34 @@ void flushFalconLogFile()
fflush(falcon_log_file);
}
+bool checkExceptionSupport()
+{
+ // Validate that the code has been compiled with support for exceptions
+ // by throwing and catching an exception. If the executable does not
+ // support exceptions we will reach the return false statement
+ try
+ {
+ throw 1;
+ }
+ catch (int)
+ {
+ return true;
+ }
+ return false;
+}
+
int StorageInterface::falcon_init(void *p)
{
DBUG_ENTER("falcon_init");
falcon_hton = (handlerton *)p;
my_bool error = false;
+ if (!checkExceptionSupport())
+ {
+ sql_print_error("Falcon must be compiled with C++ exceptions enabled to work");
+ DBUG_RETURN(1);
+ }
+
StorageHandler::setDataDirectory(mysql_real_data_home);
storageHandler = getFalconStorageHandler(sizeof(THR_LOCK));
@@ -518,11 +541,11 @@ int StorageInterface::open(const char *n
thr_lock_data_init((THR_LOCK *)storageShare->impure, &lockData, NULL);
- ret = setIndexes();
-
if (table)
mapFields(table);
+ setIndexes(table);
+
if (ret)
DBUG_RETURN(error(ret));
@@ -850,6 +873,8 @@ int StorageInterface::create(const char
}
mapFields(form);
+
+ setIndexes(table);
DBUG_RETURN(0);
}
@@ -868,12 +893,9 @@ int StorageInterface::createIndex(const
StorageIndexDesc indexDesc;
getKeyDesc(table, indexId, &indexDesc);
- char indexName[indexNameSize];
- storageShare->createIndexName(indexDesc.name, indexName);
-
CmdGen gen;
const char *unique = (key->flags & HA_NOSAME) ? "unique " : "";
- gen.gen("create %sindex \"%s\" on %s.\"%s\" ", unique, indexName, schemaName,
tableName);
+ gen.gen("create %sindex \"%s\" on %s.\"%s\" ", unique, indexDesc.name, schemaName,
tableName);
genKeyFields(key, &gen);
const char *sql = gen.getString();
@@ -885,11 +907,8 @@ int StorageInterface::dropIndex(const ch
StorageIndexDesc indexDesc;
getKeyDesc(table, indexId, &indexDesc);
- char indexName[indexNameSize];
- storageShare->createIndexName(indexDesc.name, indexName);
-
CmdGen gen;
- gen.gen("drop index %s.\"%s\"", schemaName, indexName);
+ gen.gen("drop index %s.\"%s\"", schemaName, indexDesc.name);
const char *sql = gen.getString();
return storageTable->dropIndex(&indexDesc, sql);
@@ -1394,8 +1413,9 @@ int StorageInterface::index_init(uint id
nextRecord = 0;
haveStartKey = false;
haveEndKey = false;
+ int ret = 0;
- int ret = storageTable->setCurrentIndex(idx);
+ ret = storageTable->setCurrentIndex(idx);
if (ret)
{
@@ -1403,6 +1423,8 @@ int StorageInterface::index_init(uint id
ret = storageTable->setCurrentIndex(idx);
}
+ // validateIndexes(table);
+
if (ret)
DBUG_RETURN(error(ret));
@@ -1465,22 +1487,18 @@ void StorageInterface::getKeyDesc(TABLE
{
KEY *keyInfo = table->key_info + indexId;
int numberKeys = keyInfo->key_parts;
- char nameBuffer[indexNameSize];
+
+ indexDesc->id = indexId;
+ indexDesc->numberSegments = numberKeys;
+ indexDesc->unique = (keyInfo->flags & HA_NOSAME);
+ indexDesc->primaryKey = (table->s->primary_key == (uint)indexId);
// Clean up the index name for internal use
strncpy(indexDesc->rawName, (const char*)keyInfo->name, MIN(indexNameSize,
(int)strlen(keyInfo->name)+1));
- storageShare->cleanupFieldName(indexDesc->rawName, nameBuffer,
sizeof(nameBuffer));
indexDesc->rawName[indexNameSize-1] = '\0';
+ storageShare->createIndexName(indexDesc->rawName, indexDesc->name,
indexDesc->primaryKey);
- strncpy(indexDesc->name, (const char*)nameBuffer, MIN(indexNameSize,
(int)strlen(nameBuffer)+1));
- indexDesc->name[indexNameSize-1] = '\0';
-
- indexDesc->id = indexId;
- indexDesc->numberSegments = numberKeys;
- indexDesc->unique = (keyInfo->flags & HA_NOSAME);
- indexDesc->primaryKey = (table->s->primary_key == (uint)indexId);
-
for (int n = 0; n < numberKeys; ++n)
{
StorageSegment *segment = indexDesc->segments + n;
@@ -1519,8 +1537,17 @@ int StorageInterface::rename_table(const
if (ret)
DBUG_RETURN(error(ret));
+ storageTable->clearCurrentIndex();
+ storageShare->lockIndexes(true);
+ storageShare->lock(true);
+
ret = storageShare->renameTable(storageConnection, to);
+ remapIndexes(table);
+
+ storageShare->unlock();
+ storageShare->unlockIndexes();
+
if (ret)
DBUG_RETURN(error(ret));
@@ -1541,6 +1568,7 @@ int StorageInterface::read_range_first(c
storageTable->clearIndexBounds();
haveStartKey = false;
haveEndKey = false;
+ int ret = 0;
if (start_key && !storageTable->isKeyNull((const unsigned char*)
start_key->key, start_key->length))
{
@@ -1563,7 +1591,7 @@ int StorageInterface::read_range_first(c
if (end_key->flag == HA_READ_BEFORE_KEY)
storageTable->setReadBeforeKey();
- int ret = storageTable->setIndexBound((const unsigned char*) end_key->key,
+ ret = storageTable->setIndexBound((const unsigned char*) end_key->key,
end_key->length, UpperBound);
if (ret)
DBUG_RETURN(error(ret));
@@ -2109,10 +2137,9 @@ int StorageInterface::check_if_supported
DBUG_ENTER("StorageInterface::check_if_supported_alter");
tempTable = (create_info->options & HA_LEX_CREATE_TMP_TABLE) ? true : false;
HA_ALTER_FLAGS supported;
- supported = supported | HA_ADD_INDEX | HA_DROP_INDEX;
+ supported = supported | HA_ADD_INDEX | HA_DROP_INDEX | HA_ADD_UNIQUE_INDEX |
HA_DROP_UNIQUE_INDEX;
/**
- | HA_ADD_COLUMN | HA_ADD_UNIQUE_INDEX | HA_DROP_UNIQUE_INDEX
- | HA_COLUMN_STORAGE | HA_COLUMN_FORMAT;
+ | HA_ADD_COLUMN | HA_COLUMN_STORAGE | HA_COLUMN_FORMAT;
**/
HA_ALTER_FLAGS notSupported = ~(supported);
@@ -2153,7 +2180,7 @@ int StorageInterface::check_if_supported
// 1. Check for supported ALTER combinations
// 2. Can error message be improved for non-null columns?
- if (alter_flags->is_set(HA_ADD_INDEX))
+ if (alter_flags->is_set(HA_ADD_INDEX) || alter_flags->is_set(HA_ADD_UNIQUE_INDEX))
{
for (unsigned int n = 0; n < altered_table->s->keys; n++)
{
@@ -2185,7 +2212,7 @@ int StorageInterface::check_if_supported
}
}
- if (alter_flags->is_set(HA_DROP_INDEX))
+ if (alter_flags->is_set(HA_DROP_INDEX) ||
alter_flags->is_set(HA_DROP_UNIQUE_INDEX))
{
}
@@ -2200,10 +2227,10 @@ int StorageInterface::alter_table_phase1
if (alter_flags->is_set(HA_ADD_COLUMN))
ret = addColumn(thd, altered_table, create_info, alter_info, alter_flags);
- if (alter_flags->is_set(HA_ADD_INDEX) && !ret)
+ if ((alter_flags->is_set(HA_ADD_INDEX) ||
alter_flags->is_set(HA_ADD_UNIQUE_INDEX)) && !ret)
ret = addIndex(thd, altered_table, create_info, alter_info, alter_flags);
- if (alter_flags->is_set(HA_DROP_INDEX) && !ret)
+ if ((alter_flags->is_set(HA_DROP_INDEX) ||
alter_flags->is_set(HA_DROP_UNIQUE_INDEX)) && !ret)
ret = dropIndex(thd, altered_table, create_info, alter_info, alter_flags);
DBUG_RETURN(ret);
@@ -2386,7 +2413,7 @@ int StorageInterface::setIndex(TABLE *ta
return storageTable->setIndex(&indexDesc);
}
-int StorageInterface::setIndexes(void)
+int StorageInterface::setIndexes(TABLE *table)
{
int ret = 0;
@@ -2394,14 +2421,14 @@ int StorageInterface::setIndexes(void)
return ret;
storageShare->lockIndexes(true);
+ storageShare->lock(true);
- if (!storageShare->haveIndexes(table->s->keys))
- for (uint n = 0; n < table->s->keys; ++n)
- if ((ret = setIndex(table, n)))
- break;
+ ret = remapIndexes(table);
+ // validateIndexes(table, true);
+ storageShare->unlock();
storageShare->unlockIndexes();
-
+
return ret;
}
@@ -2409,11 +2436,11 @@ int StorageInterface::remapIndexes(TABLE
{
int ret = 0;
+ storageShare->deleteIndexes();
+
if (!table)
return ret;
- storageShare->deleteIndexes();
-
for (uint n = 0; n < table->s->keys; ++n)
if ((ret = setIndex(table, n)))
break;
@@ -2421,6 +2448,32 @@ int StorageInterface::remapIndexes(TABLE
return ret;
}
+bool StorageInterface::validateIndexes(TABLE *table, bool exclusiveLock)
+{
+ bool ret = true;
+
+ if (!table)
+ return false;
+
+ storageShare->lockIndexes(exclusiveLock);
+
+ for (uint n = 0; (n < table->s->keys) && ret; ++n)
+ {
+ StorageIndexDesc indexDesc;
+ getKeyDesc(table, n, &indexDesc);
+
+ if (!storageShare->validateIndex(n, &indexDesc))
+ ret = false;
+ }
+
+ if (ret && (table->s->keys != (uint)storageShare->numberIndexes()))
+ ret = false;
+
+ storageShare->unlockIndexes();
+
+ return ret;
+}
+
int StorageInterface::genTable(TABLE* table, CmdGen* gen)
{
const char *tableName = storageTable->getName();
@@ -2611,13 +2664,7 @@ void StorageInterface::encodeRecord(ucha
continue;
Field *field = fieldMap[fieldFormat->fieldId];
-
- if (!field)
- {
- dataStream->encodeNull();
-
- continue;
- }
+ ASSERT(field);
if (ptrDiff)
field->move_field_offset(ptrDiff);
=== modified file 'storage/falcon/ha_falcon.h'
--- a/storage/falcon/ha_falcon.h 2008-09-03 22:17:54 +0000
+++ b/storage/falcon/ha_falcon.h 2008-09-09 23:15:17 +0000
@@ -122,8 +122,9 @@ public:
int error(int storageError);
void freeActiveBlobs(void);
int setIndex(TABLE *table, int indexId);
- int setIndexes(void);
+ int setIndexes(TABLE *table);
int remapIndexes(TABLE *table);
+ bool validateIndexes(TABLE *table, bool exclusiveLock = false);
int genTable(TABLE* table, CmdGen* gen);
int genType(Field *field, CmdGen *gen);
void genKeyFields(KEY *key, CmdGen *gen);
| Thread |
|---|
| • bzr commit into mysql-6.0-falcon branch (vvaintroub:2815) | Vladislav Vaintroub | 11 Sep |