Commit 8fe18b94 authored by Rich Prohaska's avatar Rich Prohaska

#64 get hot text and blob column expansion working

parent c4f88637
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -27,7 +27,6 @@ CREATE TABLE t (a TINYBLOB NULL);
ALTER TABLE t CHANGE COLUMN a a TEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a BLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TINYBLOB NULL);
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
......@@ -45,13 +44,11 @@ CREATE TABLE t (a TINYBLOB NOT NULL);
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TINYBLOB NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TINYBLOB NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
......@@ -69,13 +66,11 @@ CREATE TABLE t (a TINYBLOB NOT NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TINYBLOB NULL);
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TINYBLOB NULL);
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
......@@ -93,7 +88,6 @@ CREATE TABLE t (a TINYBLOB NOT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a BLOB NULL);
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NULL;
......@@ -145,7 +139,6 @@ CREATE TABLE t (a BLOB NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a BLOB NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
......@@ -163,13 +156,11 @@ CREATE TABLE t (a BLOB NOT NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a BLOB NULL);
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a BLOB NULL);
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
......@@ -187,7 +178,6 @@ CREATE TABLE t (a BLOB NOT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a MEDIUMBLOB NULL);
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NULL;
......@@ -263,7 +253,6 @@ CREATE TABLE t (a MEDIUMBLOB NULL);
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a MEDIUMBLOB NULL);
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
......@@ -281,7 +270,6 @@ CREATE TABLE t (a MEDIUMBLOB NOT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a LONGBLOB NULL);
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NULL;
......
DROP TABLE IF EXISTS t, ti;
SET SESSION DEFAULT_STORAGE_ENGINE="TokuDB";
SET SESSION TOKUDB_DISABLE_SLOW_ALTER=1;
CREATE TABLE t (a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('8WPikf','NncLFE7');
INSERT INTO t (a, b) VALUES ('b5u4x0oGQ','x6RJHM6SPsczuiSMneMy23veyjvsPjHCqNfokW2AsiSZBVE3mp7NA5wf0UAwhWd4dwn4nc11P5RLTpTT4o4Wwdf8h0JJ6qQV99ns6LEeLJ5ZI');
INSERT INTO t (a, b) VALUES ('ObPOoXqFyK9PjPwXUp1iXjEcEPvW0DIO','GDWDp3EQNTrnvSM3Sely8IKdaZsMCxBkUcUZvBKpxou5U30Eipxfc3CjHIYGaRwWPG8DAwZROrT9Nf7hsDMCOg01lcPBXlEDZgm1lRBzRhTSwXMIzbDOSp2EpdT12HZ3PYsVXk0ZSYG9');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('T3V0h0kB7Z43jqSTiaI','czB9GVLA611e55NpukvYdrc4UOTWiIFEfvtvXcTMbn8TFqhie2D3gRzU5AjZoxtSSMMMcsWl0wnsoWtK2tfGQCRgayc9pv0t4NRCFwlH2Un3cpiiQdW59gYphjYXlE1q5ABTuPPv32nb0Ws5deOTxIc11qWPfYnHeuZ91SG94wXYxQLKAqMx1EHaUssU8N6cz8JKrJTVvp5cA4nbGgFLZKOEvqFuHq1mgcaFm71NvcOui2BaVRfUbl64shd');
INSERT INTO t (a, b) VALUES ('8q5sLEUIhKJ0BNIaZpOUfV243Rpc9','1MLR6uDgHb6svgtcsukdEx9GV6DTmSo3bnVgf2aIbQD0d77p1H0PzzWEX7IW2j6JhKymA59w8s3aEjH5Ta3CSVw5ks0yezu5woSjcxDslNVUs4L8YR8ckJWL11YvkZuWepkxwTMzYgujdJOZLNOX9rgqRFk5JabNZ9QePdbTjbthHQ1SXsdK6');
INSERT INTO t (a, b) VALUES ('OuS6FKVN8GvFSetNwujNG6Z4jv3bNrfS','8VZPpTjiHG0wwu1YuCm4GkaSiIyQMBHzI806VRXXi1VqL50IeFFoRQUeYunmRotO46Iyv3i8syseHo2zP2TzHFdueH');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '', a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('1pR3ukt4Ue1ddcv7l7cdLUtIvUrc','3KWeNropDQVN59sEvm1JNuyNGawl467fqCbpsyxZi9SsxJ8D0WLw6TdCCs2E7TOwtSD5g5rvVFelfdMCe59d9jJ06jpriiPl');
INSERT INTO t (a, b) VALUES ('ijiiau1MlZKqMXrw','WLZn5o7znhPvNfzfszV41k0YDE0Sb0MDV79qrdp3d');
INSERT INTO t (a, b) VALUES ('qmty3prkW0culdhbxFQ','WblIKvRYbVjNyKbpCbft2hDCLuPjmFTzz2lZg9VUklZ1bWQ4OpSCGDZuZ5q0LeBzVrqkO91P0puZECeuUX6jfTyBR7piwkR77yyaMfK7Vm9435Qswmknye6h7zo');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '', a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('ZCcIgA','TgeHsGJbqV0cK6PHoJXwkuk3KeExgjHUouDUAHtuyIrkkegjoIkgZk8Ue77o3Rb4bLsf674Xs0OuzlXFOcaSqU');
INSERT INTO t (a, b) VALUES ('ZdomEveQpjAySuPD3PO3xgGsZ82U','2iF9na7SSX8ORsRIzJ41RPC0chuPNa1BmL5QJfAX5OZJqhQ0SEB3MxDkZTmlc21F10A7nhqug9Y9Dei4B7Sg5AHvVa1AUUiUBDIk5pJ51rixI8iF3gTfp9drR9JKDQLVzCEtyROSCeHIjFT8bInB6i24c9kSUE4JkLrvA1wEPuN5Pxnu9kOscnn6PGJLIthj8J1z9ghydfn1H8meLLgV6hMdfN');
INSERT INTO t (a, b) VALUES ('4wf92gh8AJAyUPIPDQYR47xk','bl9CVOgsrrEAjEC4UZgeDHy17IqbI6LQha5ec0t5igrw8RBf84rmgr');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('4','8COJIsoEwzuFuY0XobeNMr1uhHotDoFksHC4sKkv3MLMI0Rm1XHKUKkEfnFYeog0y1qbkhyM5OhUhczN4uUH2rwA3BZb00rHLE5cxCFsQqGr3RlAX4uDGshnxozQfi7DL3IlRqYjwy0ItkISRHGYwPpW3CuC3cMSOidb48kt1cqqzy7XWtA93KNpBJhcYxAyPO1on5U5N4fgOl0JOZRvzxR5m5yma378hXl3C5W');
INSERT INTO t (a, b) VALUES ('dGzO9u7KQt3XM2ZkwHRRQkt','eQzl1IBr7VSdb1fgb8xKREQVgXVxhkCtdNpQstvAdPYMipmmgZTtheuiOwnYjSc');
INSERT INTO t (a, b) VALUES ('P1bQAeV4','bf4KDOM79ZLUg5qJd0zchNwdAm6v2AbOd');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('zhUb9Hu5Wlv2kL3j9w','C4AQe2AZNlGu8CVuqp7Cygd1bF9pm7W6dBTdd6tAfe6Ac1GscSl');
INSERT INTO t (a, b) VALUES ('jimRpHhtrsTxQ2TW99uPgPtLp51Xam7w','cFZ7PbSsyswGd5YmgsK6v0A0TkZwzzAQAy5hrRjFl6ik88GJxoeRNqjUsrKowaKjZPw5ae3LuRFNgBlobkWT60Qm9Wh4PGjTVsEdssmt2Q0vAVpw9WPxsb9aDA9Il7ya5cchLPAivle7bk8Y5lBL8Q7Vc90JrJ0ueClS1ag');
INSERT INTO t (a, b) VALUES ('zo7kaZFbvZW9XpHmq5bBY9dwRn5','6HjHkuaHhufqwPrEONNEZSdJTKVFC2egT4vA1SK4BV81knPBmVDmIrosYgMAEpl0fLtnsROepeggWvqblGbNhjbzU8cDZZ5284nTRUXbZG2T1kLhNcMwJu00JdU9PpLQuEWw7dAbR5vcHGnTsttJwLW80ko1tdPycGMYeguqiCefW4yBEn');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('WdaEkmCiDOrvN5RGfjGGD17','Rv7pU4m11NDa2H2mE89d6ztify9OAlmPs');
INSERT INTO t (a, b) VALUES ('bXfE3gz','j7TeWw2dIoiw0Z1VjwWpJ82dao3TS6zuiMARW2rEPYecSP1FsMRpCB2iXn8Gt89pBreJ9jKJPEQ1OTlEY1lfvYjUbpSKYp6MsR0RbTOitJbdHPKL7BmxZj4iCGmYMBoxTqEoxBU954RXa3EOoXGpYlNbWvncVrqQhwNi71p5O9bUAR5imiRQkNkSbMEF8gWXPjZ');
INSERT INTO t (a, b) VALUES ('hS2f2J1vjF8G','GPbTuMoMkKdNqMiVkhjuBdFwnSxLLLTaM1tpp0vWNbZMJyLSI5JEJVr27UnDEqgAajCMh1TmGghnmvUD6xfYrUDRbar80bSvQtiAkfunQHibMZ8Wjao24adjeSXHGB2fSNbCGWm9AlLE0qamKoazjXhSpcrhHJZPJmEBI9yGxthevepsNVASlNlNUOLNAc1d1GkNUzXtoxN6AYgZb5Ao2');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('2ajs1f82ZmqPhqXBpaH','N8Xvw6uv9i7oZJZ');
INSERT INTO t (a, b) VALUES ('0av8oRjJwXqtBhMVMcUw','Y95YaQZc7Td');
INSERT INTO t (a, b) VALUES ('MI5GfQLpDFr75U3rz','RTd6Lve0ZNbBe1fqkWK4j7SKbxJpeyvkdNllf0Y1gu9uVs21W6LB23A8Uhx3K7rFHDJUAl01RpCDAhLFDvAAD66UOtNv8fCw0c1cjlbel');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '', a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('EznArw','vo6j2j3be9KBIlTHlP4bUwWKoZhbVrl6y8utY7cLGtoAMNy7xQSUjbQk7q1eWkzqjhbNqxWcROhC3YNQpizFk8rKTX9cCMuiGrDVBaVnHEaIQ5xhOrao1RDIYctYYn');
INSERT INTO t (a, b) VALUES ('d9gNCvqIg4MO2iMp','2XKg4Jwh0TjwQGHo4jlYKKQxiL6qUbFdIyvYKNGUseZoW0HVTX2mqJ4lAIgzOWK83miQgQ2D3WyA3cNXmUl5h72AQsdHGaYmYWrQCX8AFZy1EWCuPocm0K2uSOLvB');
INSERT INTO t (a, b) VALUES ('9','BWWKSYPaVdjrRK');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '', a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('lL','MjEImtvTwSkiFTBkVCjUv7ns1KFK6e7SQucDDCrKxVF9DLGnhNP1a4nnT9ix3PfdlCn08iu9FbMV0mVCisdmGhXgXxzjohZwBGrN54fLsg7L6h5O3KMvv2XeUB6AenAmZsKa6ZpRKYJiWmq64XLLocD9vjLDnRQ1Op10YuqBe08eNi0QU8oNJuMqnCrVLbw1a8bVrX6CvTRGETBPj4BWb2nyLCIQLZ2brn');
INSERT INTO t (a, b) VALUES ('oMIeJPUVsv8QB6l70BX7yMC','Le4iLiDZtvn6FhBSvlign3Z5w0EwGr2I1q1p7jgrLzrEIcoBzOeIB1WVxoOp4ap8iTwAAelm5ceZVdvGzTT3Sd9wMkrMVW0hRw6MmEo3Fug42SPo0ZshF21Lz5F2seYEBCVt0qCZeZ5lslwWkfJaPZ6pkQMkOx2F858U1efHqDYlphj3NyvAnDHJc6lr7qDPt');
INSERT INTO t (a, b) VALUES ('zJt9LaCnNRQ','mk7xoElj1vePgkHeANO7pF9pTBYPGT0VWqoObtqyrzJ6HL8qPuL48UScNJ0E4Gg4VKs8q2N8XFv5IE');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('1N585BBQh0iEW93L','l6Rgi1dWfXEDfaibVhy8R3DvrDLuelXzLrwGW1FEQx2BgWGfzomHJfhGfzSVSqszNdifYmCyRheks');
INSERT INTO t (a, b) VALUES ('cxMQyKae772Lb9L4JI9UlKHTgaKg','pTSl4p1LPHIEaR4PjEwij');
INSERT INTO t (a, b) VALUES ('rzrD','DWqVXqVdfvcbaSwHdGejTyDcz7hfTFxI3dGAnx4kW5W9w63zywUaHJmlBLHBHYnhQdgjTfyocZoq03klA97YgFBz6DoTwmiXi5TEPjIcfLrW0m3B97CLCxXP52SO98ue31Ye3CGS520HeaQ4QhTTsZe60Th748zXpwP5w9azS4FdRE7EFptHcE9HThEVdUWqqzcLgq9oV6xaM4VZfsNoyvD1o034Y5Nk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('HhNGpHAPWQ8','0Q5hSkbZLKKzavHJ7sZ7S9GKzds4BhnE');
INSERT INTO t (a, b) VALUES ('ml','XyUksmKLHMjoW0lpB3tcpSLTIhOP0slD62f81zkxgX38ec3gNAYOS6CwzAoQO14RYiWSogY4WF3xZDqrhYtFp5rvmILv6KWiFy1qivIYlim3LvOfmEb6hFXCjeENyAlTPmQgucWetoK96IhJo3DkPeWqI0tGKENsyKLhD1gXRghIj081Z6VA1GusGHZWSYCYH80RTGypEZtE4kDo69yQHyBCzGzTZKg');
INSERT INTO t (a, b) VALUES ('g','evftctLEjTtiV2ug5CDuqVlORXTrmfEhaiy2j3PWNgLhzDlWqp6zmzzqZUQrlJ3Z6yYOYLaxvdnYGToHsvBHlwD13DaJKPAS3hGAYIR1efumgFBkBQjVc97zcC5aaCZzL7bEpxViveWKYRAbruyH5Nid3CsaLlJEt');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('8P49xApofl0PNKnNcmj','DhRrz27wl2mOIoYOvZb6UCzr4u4rxwCoAFrMuM92y3hFjIu0iLUa7xUUZe1F8doEg9nBHcFo5NY4DMm0PNYKpkerTYPmIwE2gnTcCq77SgqgyeM60MdFsnO34MLEEA35Zr3MjeuJ37oGjf6vfSNUpiL0UAmhfWwfO6tLqrHtUtJhNVMvIS1pdahZJTV');
INSERT INTO t (a, b) VALUES ('FsBSfn4R7aEpUck7HhRk8w3Vt','Zrve2K');
INSERT INTO t (a, b) VALUES ('JR8yYX4uaWqC3IYfRJPOgvvz6','wzLOzhTNHY4GqRXOSWuUpYfvg5vDjL');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('hPDlpbufOe8shVHIYUo','W6SMefVaBzMArHmqFdw3Z9OAuZHMjfyQ');
INSERT INTO t (a, b) VALUES ('O3Z8ZebVhd5IXWs8iE9','2wrVG5FdWqidL69kmRynY2qQEKIukkauagG2iejdI1JaRs2yxwsSF2NsUnLn8VztEfEh');
INSERT INTO t (a, b) VALUES ('Vmsynq5mDAoM4IJxVziyJkMKuz','Y3qGnF35eYocIzn5F3FXEGWX1Wr1fQ6zk54n2h0B3PKYRLVerjk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '', a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('rmCC1RZ8fu9Zq6DwO','0vLyV4LMJuHlwPG5245J5yVDuapHQWy3vqHdlTQkQGqJWcFUz0kDWL38DeyT8nQ5WLbDqGHREisps27bINC3Ew5p7Uuf4XBleBD12f6K7g59gWBnYxd6ZsYcwcphcMWq2c8bQmbwLy1fHQ2IJaCTTAjWGd4wBHcXyg5ogi9lomnebSeI1ox1HfjWI0H6GAdsHGibXcY7QPUgVOKA5BB7jrIVpj92YSW1YAbIJLSfncht4iUlSRdyA');
INSERT INTO t (a, b) VALUES ('TNRqYm8EcJq5FPYZVG','3ucsPU7FCarudjiggvea0gjmR7OhidgIqNR4oGKzuaGxNcbxoqx8MrFGARPTE4YYyJln2HJkL9t161aLwAyJfka3PVSqScYEq8qiqt7QLAOEOa8vZYzIob3He5XBQVpC4voPO9JUblGXL9jxj56M5EjhalzF3RWM2QKcAdPg7m');
INSERT INTO t (a, b) VALUES ('3a4oOgf661u4JDOTIoGBWVpJtLi7ZM','JpTFN1KqC8cgYHjIyZWnC9tETzpvMMvLCM92u0sUpKEJagqrTThSCiHPuPWiP8kH45n6dbZPedVYv1OBZ501sPzo0dPt7ykLLemlT4aTx22AxnEGpk6LYoDmMrSWJdhbq3rhVU7QqgzmwWBGDPRyNfvdc15YROPXLohUVG2taIpNfV4km8JugoBRdy5OKDzP512JOysxUxFMgSgv2nd0nJzo9AzH8BGP7EnqXmxj40JfioAmCuGQRt8kkZi6e9l20');
Warnings:
Warning 1265 Data truncated for column 'b' at row 1
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '', a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('84XkENBIpBOSIA9X','LLq2mrmKvbMURprQVllY6xdk1TyqLir7dVBLIcXMsroq60cdRUdMKNHhsMReUaIovhRPz9K20MJ45FRldiEcPig0YPQpPRchf8or8X9FDk4dnLBstqPdWPRN4yKcpQQ8d');
INSERT INTO t (a, b) VALUES ('PQhihnoGkj','aWJwkEEahH8DcGLc6hDEwqoVdz7N0dS7aVqr8y2iGR08uF4iRrskP9hm17GBgU3oJwtFNCd6PgaqILMmgOaFxIKdwl6L830lHqIP8QGxgt9YOj1jnTbNC8oacra2C4RlEneP7RXUNnLiUltyOqg8iOS2AElrpsqg5AITkU5lhzEcu1OzvILTQmILr7fwOWGafQnumBLLf4FV1XEQehYYCQznGVO5AC4AqxljiVTm2VKwgHK');
INSERT INTO t (a, b) VALUES ('Wp7SRNSBTdZ5FMy','L7CJ7KHDvKZREFq0NoHwbeQv7Gp9S68J4fvTSVSOKXmB3XqleUZTUrWaB9UsXzSSv4uiUucM25pIWXIkGKY1k8FVopLD5l2rewYrWtSWiZ6kD9k4dVzR3hbBgapWc2mimRwBS4gpD2AVCrpZAI');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('9jLJ0ZIO55FP61poxeO4L','qDlG0rPg6pQ7scksQFOqxTGZIaOHz90VSV78nGu0wQQzXIEBiNp4Kq7hDgs1eW5ot9uKyvz');
INSERT INTO t (a, b) VALUES ('OoVm8w69Ktnc','Qj2yRoLmXbGrTk5IP0rzJ5x7T5NnVjEISVkei0Ed5b29Fx2f2DkxWdPByyHmTZ0V60rd4z6ivkGLfiSpqoIGyOLsvuKd5zywn3tmwiBN211n4g9lol8TGqczWGMVAtcxgkzYnprghq1MfGAkmr8hzCqFcmZPkTNmTcXDhAK9Uzmhr6EUysjNHiXwMYXDqnLu7tFEmaBa5s1SFIXapUFcF');
INSERT INTO t (a, b) VALUES ('UNTOvmwoyYR3vytsxjYXIzNe3uNSZGXy','tud2Ue9TqNmenuidjnFqU3blsesSRJnZnsgW3ZxqfbM8EHWfrdmIu7LiOBgUxmQEWXmCOh1j8ycxhDfuGGtZ56RxCSk2lmHFPj3mdroOf2ftB3PHOV9Jga257NjIuR75nItrdTEseUrxnoRAfN0ZtDVAQjnA7ZjMiKh1E7kUZioBoKqdbP306aeN5bENlRZt9UJ3vE4w5nbRsJfId5');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('Id','eKhtNKGQb2m0JpvyzVayefC7fAbhKzbR0wVzLCarlBdjxgEfVx4Fbm8C0uzQn9UuSsL5unnHgR2DQ9bzpbXY1ib7q5');
INSERT INTO t (a, b) VALUES ('F109GMWyA6Bo4KDr1eAoLdMbm5pAJf','6aN1H6jHsqeidqmzMLnj95JHX0nV2Xn1CNFwVYOHkLpuySrmbRUS8rzSTXTB5yuaMjr8fsSVpnakiiMBtTf5oCPue6J2VCvIn3ujshgM3YNp851bZ3pY3iaQpzLPYBFP3MHdtzJfM9kYZjn8FCYZqYEVEzvhmJb6H5Oqroue8qemeTdZOpq7cg3LWMkH6gJxUTnBv6K');
INSERT INTO t (a, b) VALUES ('TFKZn3C86JoZFMJ','w0veu9pqoguz7U0AUnbK6cN7nk0VKHVcnnNDbKKDOvjbkzQoqHaHK3Vzice2nj53vyggmMFnGM8A9CWkMggifctRCQxm1XfFf5ilzvyv7uxBlA3yo1Eozl3tL4Dt5WcDx4zvJrzG9Cs1cvHKcbYEdqipr3Tl9iEPZQLPWDMPWPhbbZHrFmdkYLTj7SV4KjW21jPCk0o2zUXh6N8Vk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
......@@ -27,7 +27,6 @@ CREATE TABLE t (a TINYTEXT NULL);
ALTER TABLE t CHANGE COLUMN a a BLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a TEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TINYTEXT NULL);
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
......@@ -45,13 +44,11 @@ CREATE TABLE t (a TINYTEXT NOT NULL);
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TINYTEXT NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TINYTEXT NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
......@@ -69,13 +66,11 @@ CREATE TABLE t (a TINYTEXT NOT NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TINYTEXT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TINYTEXT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
......@@ -93,7 +88,6 @@ CREATE TABLE t (a TINYTEXT NOT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TEXT NULL);
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NULL;
......@@ -145,7 +139,6 @@ CREATE TABLE t (a TEXT NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TEXT NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
......@@ -163,13 +156,11 @@ CREATE TABLE t (a TEXT NOT NULL);
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TEXT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a TEXT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
......@@ -187,7 +178,6 @@ CREATE TABLE t (a TEXT NOT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a MEDIUMTEXT NULL);
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NULL;
......@@ -263,7 +253,6 @@ CREATE TABLE t (a MEDIUMTEXT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a MEDIUMTEXT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
......@@ -281,7 +270,6 @@ CREATE TABLE t (a MEDIUMTEXT NOT NULL);
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ERROR 42000: Table 't' uses an extension that doesn't exist in this XYZ version
DROP TABLE t;
CREATE TABLE t (a LONGTEXT NULL);
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NULL;
......
DROP TABLE IF EXISTS t, ti;
SET SESSION DEFAULT_STORAGE_ENGINE="TokuDB";
SET SESSION TOKUDB_DISABLE_SLOW_ALTER=1;
CREATE TABLE t (a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('8WPikf','NncLFE7');
INSERT INTO t (a, b) VALUES ('b5u4x0oGQ','x6RJHM6SPsczuiSMneMy23veyjvsPjHCqNfokW2AsiSZBVE3mp7NA5wf0UAwhWd4dwn4nc11P5RLTpTT4o4Wwdf8h0JJ6qQV99ns6LEeLJ5ZI');
INSERT INTO t (a, b) VALUES ('ObPOoXqFyK9PjPwXUp1iXjEcEPvW0DIO','GDWDp3EQNTrnvSM3Sely8IKdaZsMCxBkUcUZvBKpxou5U30Eipxfc3CjHIYGaRwWPG8DAwZROrT9Nf7hsDMCOg01lcPBXlEDZgm1lRBzRhTSwXMIzbDOSp2EpdT12HZ3PYsVXk0ZSYG9');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('T3V0h0kB7Z43jqSTiaI','czB9GVLA611e55NpukvYdrc4UOTWiIFEfvtvXcTMbn8TFqhie2D3gRzU5AjZoxtSSMMMcsWl0wnsoWtK2tfGQCRgayc9pv0t4NRCFwlH2Un3cpiiQdW59gYphjYXlE1q5ABTuPPv32nb0Ws5deOTxIc11qWPfYnHeuZ91SG94wXYxQLKAqMx1EHaUssU8N6cz8JKrJTVvp5cA4nbGgFLZKOEvqFuHq1mgcaFm71NvcOui2BaVRfUbl64shd');
INSERT INTO t (a, b) VALUES ('8q5sLEUIhKJ0BNIaZpOUfV243Rpc9','1MLR6uDgHb6svgtcsukdEx9GV6DTmSo3bnVgf2aIbQD0d77p1H0PzzWEX7IW2j6JhKymA59w8s3aEjH5Ta3CSVw5ks0yezu5woSjcxDslNVUs4L8YR8ckJWL11YvkZuWepkxwTMzYgujdJOZLNOX9rgqRFk5JabNZ9QePdbTjbthHQ1SXsdK6');
INSERT INTO t (a, b) VALUES ('OuS6FKVN8GvFSetNwujNG6Z4jv3bNrfS','8VZPpTjiHG0wwu1YuCm4GkaSiIyQMBHzI806VRXXi1VqL50IeFFoRQUeYunmRotO46Iyv3i8syseHo2zP2TzHFdueH');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '', a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('1pR3ukt4Ue1ddcv7l7cdLUtIvUrc','3KWeNropDQVN59sEvm1JNuyNGawl467fqCbpsyxZi9SsxJ8D0WLw6TdCCs2E7TOwtSD5g5rvVFelfdMCe59d9jJ06jpriiPl');
INSERT INTO t (a, b) VALUES ('ijiiau1MlZKqMXrw','WLZn5o7znhPvNfzfszV41k0YDE0Sb0MDV79qrdp3d');
INSERT INTO t (a, b) VALUES ('qmty3prkW0culdhbxFQ','WblIKvRYbVjNyKbpCbft2hDCLuPjmFTzz2lZg9VUklZ1bWQ4OpSCGDZuZ5q0LeBzVrqkO91P0puZECeuUX6jfTyBR7piwkR77yyaMfK7Vm9435Qswmknye6h7zo');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '', a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('ZCcIgA','TgeHsGJbqV0cK6PHoJXwkuk3KeExgjHUouDUAHtuyIrkkegjoIkgZk8Ue77o3Rb4bLsf674Xs0OuzlXFOcaSqU');
INSERT INTO t (a, b) VALUES ('ZdomEveQpjAySuPD3PO3xgGsZ82U','2iF9na7SSX8ORsRIzJ41RPC0chuPNa1BmL5QJfAX5OZJqhQ0SEB3MxDkZTmlc21F10A7nhqug9Y9Dei4B7Sg5AHvVa1AUUiUBDIk5pJ51rixI8iF3gTfp9drR9JKDQLVzCEtyROSCeHIjFT8bInB6i24c9kSUE4JkLrvA1wEPuN5Pxnu9kOscnn6PGJLIthj8J1z9ghydfn1H8meLLgV6hMdfN');
INSERT INTO t (a, b) VALUES ('4wf92gh8AJAyUPIPDQYR47xk','bl9CVOgsrrEAjEC4UZgeDHy17IqbI6LQha5ec0t5igrw8RBf84rmgr');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('4','8COJIsoEwzuFuY0XobeNMr1uhHotDoFksHC4sKkv3MLMI0Rm1XHKUKkEfnFYeog0y1qbkhyM5OhUhczN4uUH2rwA3BZb00rHLE5cxCFsQqGr3RlAX4uDGshnxozQfi7DL3IlRqYjwy0ItkISRHGYwPpW3CuC3cMSOidb48kt1cqqzy7XWtA93KNpBJhcYxAyPO1on5U5N4fgOl0JOZRvzxR5m5yma378hXl3C5W');
INSERT INTO t (a, b) VALUES ('dGzO9u7KQt3XM2ZkwHRRQkt','eQzl1IBr7VSdb1fgb8xKREQVgXVxhkCtdNpQstvAdPYMipmmgZTtheuiOwnYjSc');
INSERT INTO t (a, b) VALUES ('P1bQAeV4','bf4KDOM79ZLUg5qJd0zchNwdAm6v2AbOd');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('zhUb9Hu5Wlv2kL3j9w','C4AQe2AZNlGu8CVuqp7Cygd1bF9pm7W6dBTdd6tAfe6Ac1GscSl');
INSERT INTO t (a, b) VALUES ('jimRpHhtrsTxQ2TW99uPgPtLp51Xam7w','cFZ7PbSsyswGd5YmgsK6v0A0TkZwzzAQAy5hrRjFl6ik88GJxoeRNqjUsrKowaKjZPw5ae3LuRFNgBlobkWT60Qm9Wh4PGjTVsEdssmt2Q0vAVpw9WPxsb9aDA9Il7ya5cchLPAivle7bk8Y5lBL8Q7Vc90JrJ0ueClS1ag');
INSERT INTO t (a, b) VALUES ('zo7kaZFbvZW9XpHmq5bBY9dwRn5','6HjHkuaHhufqwPrEONNEZSdJTKVFC2egT4vA1SK4BV81knPBmVDmIrosYgMAEpl0fLtnsROepeggWvqblGbNhjbzU8cDZZ5284nTRUXbZG2T1kLhNcMwJu00JdU9PpLQuEWw7dAbR5vcHGnTsttJwLW80ko1tdPycGMYeguqiCefW4yBEn');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('WdaEkmCiDOrvN5RGfjGGD17','Rv7pU4m11NDa2H2mE89d6ztify9OAlmPs');
INSERT INTO t (a, b) VALUES ('bXfE3gz','j7TeWw2dIoiw0Z1VjwWpJ82dao3TS6zuiMARW2rEPYecSP1FsMRpCB2iXn8Gt89pBreJ9jKJPEQ1OTlEY1lfvYjUbpSKYp6MsR0RbTOitJbdHPKL7BmxZj4iCGmYMBoxTqEoxBU954RXa3EOoXGpYlNbWvncVrqQhwNi71p5O9bUAR5imiRQkNkSbMEF8gWXPjZ');
INSERT INTO t (a, b) VALUES ('hS2f2J1vjF8G','GPbTuMoMkKdNqMiVkhjuBdFwnSxLLLTaM1tpp0vWNbZMJyLSI5JEJVr27UnDEqgAajCMh1TmGghnmvUD6xfYrUDRbar80bSvQtiAkfunQHibMZ8Wjao24adjeSXHGB2fSNbCGWm9AlLE0qamKoazjXhSpcrhHJZPJmEBI9yGxthevepsNVASlNlNUOLNAc1d1GkNUzXtoxN6AYgZb5Ao2');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('2ajs1f82ZmqPhqXBpaH','N8Xvw6uv9i7oZJZ');
INSERT INTO t (a, b) VALUES ('0av8oRjJwXqtBhMVMcUw','Y95YaQZc7Td');
INSERT INTO t (a, b) VALUES ('MI5GfQLpDFr75U3rz','RTd6Lve0ZNbBe1fqkWK4j7SKbxJpeyvkdNllf0Y1gu9uVs21W6LB23A8Uhx3K7rFHDJUAl01RpCDAhLFDvAAD66UOtNv8fCw0c1cjlbel');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '', a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('EznArw','vo6j2j3be9KBIlTHlP4bUwWKoZhbVrl6y8utY7cLGtoAMNy7xQSUjbQk7q1eWkzqjhbNqxWcROhC3YNQpizFk8rKTX9cCMuiGrDVBaVnHEaIQ5xhOrao1RDIYctYYn');
INSERT INTO t (a, b) VALUES ('d9gNCvqIg4MO2iMp','2XKg4Jwh0TjwQGHo4jlYKKQxiL6qUbFdIyvYKNGUseZoW0HVTX2mqJ4lAIgzOWK83miQgQ2D3WyA3cNXmUl5h72AQsdHGaYmYWrQCX8AFZy1EWCuPocm0K2uSOLvB');
INSERT INTO t (a, b) VALUES ('9','BWWKSYPaVdjrRK');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '', a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('lL','MjEImtvTwSkiFTBkVCjUv7ns1KFK6e7SQucDDCrKxVF9DLGnhNP1a4nnT9ix3PfdlCn08iu9FbMV0mVCisdmGhXgXxzjohZwBGrN54fLsg7L6h5O3KMvv2XeUB6AenAmZsKa6ZpRKYJiWmq64XLLocD9vjLDnRQ1Op10YuqBe08eNi0QU8oNJuMqnCrVLbw1a8bVrX6CvTRGETBPj4BWb2nyLCIQLZ2brn');
INSERT INTO t (a, b) VALUES ('oMIeJPUVsv8QB6l70BX7yMC','Le4iLiDZtvn6FhBSvlign3Z5w0EwGr2I1q1p7jgrLzrEIcoBzOeIB1WVxoOp4ap8iTwAAelm5ceZVdvGzTT3Sd9wMkrMVW0hRw6MmEo3Fug42SPo0ZshF21Lz5F2seYEBCVt0qCZeZ5lslwWkfJaPZ6pkQMkOx2F858U1efHqDYlphj3NyvAnDHJc6lr7qDPt');
INSERT INTO t (a, b) VALUES ('zJt9LaCnNRQ','mk7xoElj1vePgkHeANO7pF9pTBYPGT0VWqoObtqyrzJ6HL8qPuL48UScNJ0E4Gg4VKs8q2N8XFv5IE');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('1N585BBQh0iEW93L','l6Rgi1dWfXEDfaibVhy8R3DvrDLuelXzLrwGW1FEQx2BgWGfzomHJfhGfzSVSqszNdifYmCyRheks');
INSERT INTO t (a, b) VALUES ('cxMQyKae772Lb9L4JI9UlKHTgaKg','pTSl4p1LPHIEaR4PjEwij');
INSERT INTO t (a, b) VALUES ('rzrD','DWqVXqVdfvcbaSwHdGejTyDcz7hfTFxI3dGAnx4kW5W9w63zywUaHJmlBLHBHYnhQdgjTfyocZoq03klA97YgFBz6DoTwmiXi5TEPjIcfLrW0m3B97CLCxXP52SO98ue31Ye3CGS520HeaQ4QhTTsZe60Th748zXpwP5w9azS4FdRE7EFptHcE9HThEVdUWqqzcLgq9oV6xaM4VZfsNoyvD1o034Y5Nk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('HhNGpHAPWQ8','0Q5hSkbZLKKzavHJ7sZ7S9GKzds4BhnE');
INSERT INTO t (a, b) VALUES ('ml','XyUksmKLHMjoW0lpB3tcpSLTIhOP0slD62f81zkxgX38ec3gNAYOS6CwzAoQO14RYiWSogY4WF3xZDqrhYtFp5rvmILv6KWiFy1qivIYlim3LvOfmEb6hFXCjeENyAlTPmQgucWetoK96IhJo3DkPeWqI0tGKENsyKLhD1gXRghIj081Z6VA1GusGHZWSYCYH80RTGypEZtE4kDo69yQHyBCzGzTZKg');
INSERT INTO t (a, b) VALUES ('g','evftctLEjTtiV2ug5CDuqVlORXTrmfEhaiy2j3PWNgLhzDlWqp6zmzzqZUQrlJ3Z6yYOYLaxvdnYGToHsvBHlwD13DaJKPAS3hGAYIR1efumgFBkBQjVc97zcC5aaCZzL7bEpxViveWKYRAbruyH5Nid3CsaLlJEt');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('8P49xApofl0PNKnNcmj','DhRrz27wl2mOIoYOvZb6UCzr4u4rxwCoAFrMuM92y3hFjIu0iLUa7xUUZe1F8doEg9nBHcFo5NY4DMm0PNYKpkerTYPmIwE2gnTcCq77SgqgyeM60MdFsnO34MLEEA35Zr3MjeuJ37oGjf6vfSNUpiL0UAmhfWwfO6tLqrHtUtJhNVMvIS1pdahZJTV');
INSERT INTO t (a, b) VALUES ('FsBSfn4R7aEpUck7HhRk8w3Vt','Zrve2K');
INSERT INTO t (a, b) VALUES ('JR8yYX4uaWqC3IYfRJPOgvvz6','wzLOzhTNHY4GqRXOSWuUpYfvg5vDjL');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('hPDlpbufOe8shVHIYUo','W6SMefVaBzMArHmqFdw3Z9OAuZHMjfyQ');
INSERT INTO t (a, b) VALUES ('O3Z8ZebVhd5IXWs8iE9','2wrVG5FdWqidL69kmRynY2qQEKIukkauagG2iejdI1JaRs2yxwsSF2NsUnLn8VztEfEh');
INSERT INTO t (a, b) VALUES ('Vmsynq5mDAoM4IJxVziyJkMKuz','Y3qGnF35eYocIzn5F3FXEGWX1Wr1fQ6zk54n2h0B3PKYRLVerjk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '', a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('rmCC1RZ8fu9Zq6DwO','0vLyV4LMJuHlwPG5245J5yVDuapHQWy3vqHdlTQkQGqJWcFUz0kDWL38DeyT8nQ5WLbDqGHREisps27bINC3Ew5p7Uuf4XBleBD12f6K7g59gWBnYxd6ZsYcwcphcMWq2c8bQmbwLy1fHQ2IJaCTTAjWGd4wBHcXyg5ogi9lomnebSeI1ox1HfjWI0H6GAdsHGibXcY7QPUgVOKA5BB7jrIVpj92YSW1YAbIJLSfncht4iUlSRdyA');
INSERT INTO t (a, b) VALUES ('TNRqYm8EcJq5FPYZVG','3ucsPU7FCarudjiggvea0gjmR7OhidgIqNR4oGKzuaGxNcbxoqx8MrFGARPTE4YYyJln2HJkL9t161aLwAyJfka3PVSqScYEq8qiqt7QLAOEOa8vZYzIob3He5XBQVpC4voPO9JUblGXL9jxj56M5EjhalzF3RWM2QKcAdPg7m');
INSERT INTO t (a, b) VALUES ('3a4oOgf661u4JDOTIoGBWVpJtLi7ZM','JpTFN1KqC8cgYHjIyZWnC9tETzpvMMvLCM92u0sUpKEJagqrTThSCiHPuPWiP8kH45n6dbZPedVYv1OBZ501sPzo0dPt7ykLLemlT4aTx22AxnEGpk6LYoDmMrSWJdhbq3rhVU7QqgzmwWBGDPRyNfvdc15YROPXLohUVG2taIpNfV4km8JugoBRdy5OKDzP512JOysxUxFMgSgv2nd0nJzo9AzH8BGP7EnqXmxj40JfioAmCuGQRt8kkZi6e9l20');
Warnings:
Warning 1265 Data truncated for column 'b' at row 1
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '', a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('84XkENBIpBOSIA9X','LLq2mrmKvbMURprQVllY6xdk1TyqLir7dVBLIcXMsroq60cdRUdMKNHhsMReUaIovhRPz9K20MJ45FRldiEcPig0YPQpPRchf8or8X9FDk4dnLBstqPdWPRN4yKcpQQ8d');
INSERT INTO t (a, b) VALUES ('PQhihnoGkj','aWJwkEEahH8DcGLc6hDEwqoVdz7N0dS7aVqr8y2iGR08uF4iRrskP9hm17GBgU3oJwtFNCd6PgaqILMmgOaFxIKdwl6L830lHqIP8QGxgt9YOj1jnTbNC8oacra2C4RlEneP7RXUNnLiUltyOqg8iOS2AElrpsqg5AITkU5lhzEcu1OzvILTQmILr7fwOWGafQnumBLLf4FV1XEQehYYCQznGVO5AC4AqxljiVTm2VKwgHK');
INSERT INTO t (a, b) VALUES ('Wp7SRNSBTdZ5FMy','L7CJ7KHDvKZREFq0NoHwbeQv7Gp9S68J4fvTSVSOKXmB3XqleUZTUrWaB9UsXzSSv4uiUucM25pIWXIkGKY1k8FVopLD5l2rewYrWtSWiZ6kD9k4dVzR3hbBgapWc2mimRwBS4gpD2AVCrpZAI');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('9jLJ0ZIO55FP61poxeO4L','qDlG0rPg6pQ7scksQFOqxTGZIaOHz90VSV78nGu0wQQzXIEBiNp4Kq7hDgs1eW5ot9uKyvz');
INSERT INTO t (a, b) VALUES ('OoVm8w69Ktnc','Qj2yRoLmXbGrTk5IP0rzJ5x7T5NnVjEISVkei0Ed5b29Fx2f2DkxWdPByyHmTZ0V60rd4z6ivkGLfiSpqoIGyOLsvuKd5zywn3tmwiBN211n4g9lol8TGqczWGMVAtcxgkzYnprghq1MfGAkmr8hzCqFcmZPkTNmTcXDhAK9Uzmhr6EUysjNHiXwMYXDqnLu7tFEmaBa5s1SFIXapUFcF');
INSERT INTO t (a, b) VALUES ('UNTOvmwoyYR3vytsxjYXIzNe3uNSZGXy','tud2Ue9TqNmenuidjnFqU3blsesSRJnZnsgW3ZxqfbM8EHWfrdmIu7LiOBgUxmQEWXmCOh1j8ycxhDfuGGtZ56RxCSk2lmHFPj3mdroOf2ftB3PHOV9Jga257NjIuR75nItrdTEseUrxnoRAfN0ZtDVAQjnA7ZjMiKh1E7kUZioBoKqdbP306aeN5bENlRZt9UJ3vE4w5nbRsJfId5');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('Id','eKhtNKGQb2m0JpvyzVayefC7fAbhKzbR0wVzLCarlBdjxgEfVx4Fbm8C0uzQn9UuSsL5unnHgR2DQ9bzpbXY1ib7q5');
INSERT INTO t (a, b) VALUES ('F109GMWyA6Bo4KDr1eAoLdMbm5pAJf','6aN1H6jHsqeidqmzMLnj95JHX0nV2Xn1CNFwVYOHkLpuySrmbRUS8rzSTXTB5yuaMjr8fsSVpnakiiMBtTf5oCPue6J2VCvIn3ujshgM3YNp851bZ3pY3iaQpzLPYBFP3MHdtzJfM9kYZjn8FCYZqYEVEzvhmJb6H5Oqroue8qemeTdZOpq7cg3LWMkH6gJxUTnBv6K');
INSERT INTO t (a, b) VALUES ('TFKZn3C86JoZFMJ','w0veu9pqoguz7U0AUnbK6cN7nk0VKHVcnnNDbKKDOvjbkzQoqHaHK3Vzice2nj53vyggmMFnGM8A9CWkMggifctRCQxm1XfFf5ilzvyv7uxBlA3yo1Eozl3tL4Dt5WcDx4zvJrzG9Cs1cvHKcbYEdqipr3Tl9iEPZQLPWDMPWPhbbZHrFmdkYLTj7SV4KjW21jPCk0o2zUXh6N8Vk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
include/diff_tables.inc [test.t, test.ti]
DROP TABLE t, ti;
......@@ -73,7 +73,7 @@ class Field_varchar(Field):
def __init__(self, name, size, is_binary, is_nullible):
Field.__init__(self, name, is_nullible)
assert 0 <= size and size < 64*1024
self.size= size
self.size = size
self.is_binary = is_binary
def get_type(self):
t = "%s(%d)" % (Field_varchar.types[self.is_binary], self.size)
......@@ -96,15 +96,25 @@ class Field_varchar(Field):
return Field_varchar(self.name, new_size, self.is_binary, self.is_nullible)
class Field_blob(Field):
def __init__(self, name, size, is_nullible):
types = [ "TINYBLOB", "BLOB", "MEDIUMBLOB", "LONGBLOB" ]
def __init__(self, name, size, is_nullible, idx):
Field.__init__(self, name, is_nullible)
self.size = size
self.idx = idx
def get_type(self):
return "BLOB(%d)" % (self.size)
t = "%s" % (Field_blob.types[self.idx])
if not self.is_nullible:
t += " NOT NULL"
return t
def get_value(self):
l = random.randint(1, self.size)
s = ''.join(random.choice(string.ascii_lowercase + string.ascii_uppercase + string.digits) for x in range(l))
return "'%s'" % (s)
def next_field(self):
self.size += 1
if self.idx < 3:
self.idx += 1
return Field_blob(self.name, self.size, self.is_nullible, self.idx)
def main():
experiments = 1000
......@@ -131,7 +141,7 @@ def main():
print "INSERT INTO ti SELECT * FROM t;"
# transform table schema and contents
for f in [ 0, 2, 3, 5 ]:
for f in [ 0, 2, 3, 5, 6, 7 ]:
fields[f] = fields[f].next_field()
print "ALTER TABLE t CHANGE COLUMN %s %s %s;" % (fields[f].name, fields[f].name, fields[f].get_type())
print "ALTER TABLE ti CHANGE COLUMN %s %s %s;" % (fields[f].name, fields[f].name, fields[f].get_type())
......@@ -157,8 +167,8 @@ def create_fields():
fields.append(create_varchar('d'))
fields.append(create_varchar('e'))
fields.append(create_varchar('f'))
fields.append(Field_blob('g', 100, 0))
fields.append(Field_blob('h', 100, 0))
fields.append(create_blob('g'))
fields.append(create_blob('h'))
fields.append(Field_int_auto_inc('id', 8, 0, 0))
return fields
......@@ -172,6 +182,9 @@ def create_char(name):
def create_varchar(name):
return Field_varchar(name, random.randint(1, 100), random.randint(0,1), random.randint(0,1))
def create_blob(name):
return Field_blob(name, random.randint(1,2), random.randint(0,1), random.randint(0,3))
def create_table(fields):
t = "CREATE TABLE t ("
for f in fields:
......@@ -191,7 +204,7 @@ def insert_row(fields):
return t
def header():
print "# generated from change_all.py"
print "# generated from change_column_all.py"
print "# test random column change on wide tables"
print "--disable_warnings"
print "DROP TABLE IF EXISTS t, ti;"
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -18,8 +18,7 @@ def gen_tests(base_types, null_types):
print "--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/"
print "--error ER_UNSUPPORTED_EXTENSION"
print "ALTER TABLE t CHANGE COLUMN a a %sTEXT %s;" % (base_types[to_index], null_types[to_null]);
# if from_null != to_null or from_index > to_index:
if from_null != to_null or from_index != to_index:
if from_null != to_null or from_index > to_index:
print "--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/"
print "--error ER_UNSUPPORTED_EXTENSION"
print "ALTER TABLE t CHANGE COLUMN a a %sBLOB %s;" % (base_types[to_index], null_types[to_null]);
......
......@@ -37,8 +37,6 @@ CREATE TABLE t (a TINYBLOB NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a TEXT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a BLOB NULL;
DROP TABLE t;
CREATE TABLE t (a TINYBLOB NULL);
......@@ -61,16 +59,12 @@ CREATE TABLE t (a TINYBLOB NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
DROP TABLE t;
CREATE TABLE t (a TINYBLOB NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NULL;
DROP TABLE t;
CREATE TABLE t (a TINYBLOB NULL);
......@@ -93,16 +87,12 @@ CREATE TABLE t (a TINYBLOB NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
DROP TABLE t;
CREATE TABLE t (a TINYBLOB NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
DROP TABLE t;
CREATE TABLE t (a TINYBLOB NULL);
......@@ -125,8 +115,6 @@ CREATE TABLE t (a TINYBLOB NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
DROP TABLE t;
CREATE TABLE t (a BLOB NULL);
......@@ -193,8 +181,6 @@ CREATE TABLE t (a BLOB NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NULL;
DROP TABLE t;
CREATE TABLE t (a BLOB NULL);
......@@ -217,16 +203,12 @@ CREATE TABLE t (a BLOB NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
DROP TABLE t;
CREATE TABLE t (a BLOB NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
DROP TABLE t;
CREATE TABLE t (a BLOB NULL);
......@@ -249,8 +231,6 @@ CREATE TABLE t (a BLOB NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
DROP TABLE t;
CREATE TABLE t (a MEDIUMBLOB NULL);
......@@ -349,8 +329,6 @@ CREATE TABLE t (a MEDIUMBLOB NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
DROP TABLE t;
CREATE TABLE t (a MEDIUMBLOB NULL);
......@@ -373,8 +351,6 @@ CREATE TABLE t (a MEDIUMBLOB NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
DROP TABLE t;
CREATE TABLE t (a LONGBLOB NULL);
......
import sys
import random
import string
def main():
print "# this test is generated by change_column_blob_data.py"
print "# generate hot blob expansion test cases"
print "source include/have_tokudb.inc;"
print "--disable_warnings"
print "DROP TABLE IF EXISTS t, ti;"
print "--enable_warnings"
print "SET SESSION DEFAULT_STORAGE_ENGINE=\"TokuDB\";"
print "SET SESSION TOKUDB_DISABLE_SLOW_ALTER=1;"
for f in [ "", "f INT DEFAULT 0", "f INT DEFAULT 0 NOT NULL" ]:
for v in [ "", "v VARCHAR(32) DEFAULT ''", "v VARCHAR(32) DEFAULT '' NOT NULL" ]:
for nn in [ "", "NOT NULL" ]:
gen_test(f, v, nn)
return 0
def gen_test(f, v, nn):
blob_types = [ "TINYBLOB", "BLOB", "MEDIUMBLOB", "LONGBLOB" ]
print gen_table(f, v, nn)
for r in range(3):
print insert_row("t")
print "CREATE TABLE ti LIKE t;"
print "ALTER TABLE ti ENGINE=myisam;"
print "INSERT INTO ti SELECT * FROM t;"
for i in range(len(blob_types)):
print "ALTER TABLE t CHANGE COLUMN a a %s %s;" % (blob_types[i], nn)
print "ALTER TABLE ti CHANGE COLUMN a a %s %s;" % (blob_types[i], nn)
for i in range(len(blob_types)):
print "ALTER TABLE t CHANGE COLUMN b b %s %s;" % (blob_types[i], nn)
print "ALTER TABLE ti CHANGE COLUMN b b %s %s;" % (blob_types[i], nn)
# compare tables
print "let $diff_tables = test.t, test.ti;"
print "source include/diff_tables.inc;"
print "DROP TABLE t, ti;"
def gen_table(f, v, nn):
t = "CREATE TABLE t ("
if f != "":
t += "%s, " % (f)
if v != "":
t += "%s, " % (v)
t += "a TINYBLOB %s, b TINYBLOB %s);" % (nn, nn)
return t
def insert_row(t):
t = "INSERT INTO %s (a, b) VALUES (" % (t)
l = random.randint(1, 32)
s = ''.join(random.choice(string.ascii_lowercase + string.ascii_uppercase + string.digits) for x in range(l))
t += "'%s'," % (s)
l = random.randint(1, 260)
s = ''.join(random.choice(string.ascii_lowercase + string.ascii_uppercase + string.digits) for x in range(l))
t += "'%s');" % (s)
return t
sys.exit(main())
# this test is generated by change_column_blob_data.py
# generate hot blob expansion test cases
source include/have_tokudb.inc;
--disable_warnings
DROP TABLE IF EXISTS t, ti;
--enable_warnings
SET SESSION DEFAULT_STORAGE_ENGINE="TokuDB";
SET SESSION TOKUDB_DISABLE_SLOW_ALTER=1;
CREATE TABLE t (a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('8WPikf','NncLFE7');
INSERT INTO t (a, b) VALUES ('b5u4x0oGQ','x6RJHM6SPsczuiSMneMy23veyjvsPjHCqNfokW2AsiSZBVE3mp7NA5wf0UAwhWd4dwn4nc11P5RLTpTT4o4Wwdf8h0JJ6qQV99ns6LEeLJ5ZI');
INSERT INTO t (a, b) VALUES ('ObPOoXqFyK9PjPwXUp1iXjEcEPvW0DIO','GDWDp3EQNTrnvSM3Sely8IKdaZsMCxBkUcUZvBKpxou5U30Eipxfc3CjHIYGaRwWPG8DAwZROrT9Nf7hsDMCOg01lcPBXlEDZgm1lRBzRhTSwXMIzbDOSp2EpdT12HZ3PYsVXk0ZSYG9');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('T3V0h0kB7Z43jqSTiaI','czB9GVLA611e55NpukvYdrc4UOTWiIFEfvtvXcTMbn8TFqhie2D3gRzU5AjZoxtSSMMMcsWl0wnsoWtK2tfGQCRgayc9pv0t4NRCFwlH2Un3cpiiQdW59gYphjYXlE1q5ABTuPPv32nb0Ws5deOTxIc11qWPfYnHeuZ91SG94wXYxQLKAqMx1EHaUssU8N6cz8JKrJTVvp5cA4nbGgFLZKOEvqFuHq1mgcaFm71NvcOui2BaVRfUbl64shd');
INSERT INTO t (a, b) VALUES ('8q5sLEUIhKJ0BNIaZpOUfV243Rpc9','1MLR6uDgHb6svgtcsukdEx9GV6DTmSo3bnVgf2aIbQD0d77p1H0PzzWEX7IW2j6JhKymA59w8s3aEjH5Ta3CSVw5ks0yezu5woSjcxDslNVUs4L8YR8ckJWL11YvkZuWepkxwTMzYgujdJOZLNOX9rgqRFk5JabNZ9QePdbTjbthHQ1SXsdK6');
INSERT INTO t (a, b) VALUES ('OuS6FKVN8GvFSetNwujNG6Z4jv3bNrfS','8VZPpTjiHG0wwu1YuCm4GkaSiIyQMBHzI806VRXXi1VqL50IeFFoRQUeYunmRotO46Iyv3i8syseHo2zP2TzHFdueH');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '', a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('1pR3ukt4Ue1ddcv7l7cdLUtIvUrc','3KWeNropDQVN59sEvm1JNuyNGawl467fqCbpsyxZi9SsxJ8D0WLw6TdCCs2E7TOwtSD5g5rvVFelfdMCe59d9jJ06jpriiPl');
INSERT INTO t (a, b) VALUES ('ijiiau1MlZKqMXrw','WLZn5o7znhPvNfzfszV41k0YDE0Sb0MDV79qrdp3d');
INSERT INTO t (a, b) VALUES ('qmty3prkW0culdhbxFQ','WblIKvRYbVjNyKbpCbft2hDCLuPjmFTzz2lZg9VUklZ1bWQ4OpSCGDZuZ5q0LeBzVrqkO91P0puZECeuUX6jfTyBR7piwkR77yyaMfK7Vm9435Qswmknye6h7zo');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '', a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('ZCcIgA','TgeHsGJbqV0cK6PHoJXwkuk3KeExgjHUouDUAHtuyIrkkegjoIkgZk8Ue77o3Rb4bLsf674Xs0OuzlXFOcaSqU');
INSERT INTO t (a, b) VALUES ('ZdomEveQpjAySuPD3PO3xgGsZ82U','2iF9na7SSX8ORsRIzJ41RPC0chuPNa1BmL5QJfAX5OZJqhQ0SEB3MxDkZTmlc21F10A7nhqug9Y9Dei4B7Sg5AHvVa1AUUiUBDIk5pJ51rixI8iF3gTfp9drR9JKDQLVzCEtyROSCeHIjFT8bInB6i24c9kSUE4JkLrvA1wEPuN5Pxnu9kOscnn6PGJLIthj8J1z9ghydfn1H8meLLgV6hMdfN');
INSERT INTO t (a, b) VALUES ('4wf92gh8AJAyUPIPDQYR47xk','bl9CVOgsrrEAjEC4UZgeDHy17IqbI6LQha5ec0t5igrw8RBf84rmgr');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('4','8COJIsoEwzuFuY0XobeNMr1uhHotDoFksHC4sKkv3MLMI0Rm1XHKUKkEfnFYeog0y1qbkhyM5OhUhczN4uUH2rwA3BZb00rHLE5cxCFsQqGr3RlAX4uDGshnxozQfi7DL3IlRqYjwy0ItkISRHGYwPpW3CuC3cMSOidb48kt1cqqzy7XWtA93KNpBJhcYxAyPO1on5U5N4fgOl0JOZRvzxR5m5yma378hXl3C5W');
INSERT INTO t (a, b) VALUES ('dGzO9u7KQt3XM2ZkwHRRQkt','eQzl1IBr7VSdb1fgb8xKREQVgXVxhkCtdNpQstvAdPYMipmmgZTtheuiOwnYjSc');
INSERT INTO t (a, b) VALUES ('P1bQAeV4','bf4KDOM79ZLUg5qJd0zchNwdAm6v2AbOd');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('zhUb9Hu5Wlv2kL3j9w','C4AQe2AZNlGu8CVuqp7Cygd1bF9pm7W6dBTdd6tAfe6Ac1GscSl');
INSERT INTO t (a, b) VALUES ('jimRpHhtrsTxQ2TW99uPgPtLp51Xam7w','cFZ7PbSsyswGd5YmgsK6v0A0TkZwzzAQAy5hrRjFl6ik88GJxoeRNqjUsrKowaKjZPw5ae3LuRFNgBlobkWT60Qm9Wh4PGjTVsEdssmt2Q0vAVpw9WPxsb9aDA9Il7ya5cchLPAivle7bk8Y5lBL8Q7Vc90JrJ0ueClS1ag');
INSERT INTO t (a, b) VALUES ('zo7kaZFbvZW9XpHmq5bBY9dwRn5','6HjHkuaHhufqwPrEONNEZSdJTKVFC2egT4vA1SK4BV81knPBmVDmIrosYgMAEpl0fLtnsROepeggWvqblGbNhjbzU8cDZZ5284nTRUXbZG2T1kLhNcMwJu00JdU9PpLQuEWw7dAbR5vcHGnTsttJwLW80ko1tdPycGMYeguqiCefW4yBEn');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('WdaEkmCiDOrvN5RGfjGGD17','Rv7pU4m11NDa2H2mE89d6ztify9OAlmPs');
INSERT INTO t (a, b) VALUES ('bXfE3gz','j7TeWw2dIoiw0Z1VjwWpJ82dao3TS6zuiMARW2rEPYecSP1FsMRpCB2iXn8Gt89pBreJ9jKJPEQ1OTlEY1lfvYjUbpSKYp6MsR0RbTOitJbdHPKL7BmxZj4iCGmYMBoxTqEoxBU954RXa3EOoXGpYlNbWvncVrqQhwNi71p5O9bUAR5imiRQkNkSbMEF8gWXPjZ');
INSERT INTO t (a, b) VALUES ('hS2f2J1vjF8G','GPbTuMoMkKdNqMiVkhjuBdFwnSxLLLTaM1tpp0vWNbZMJyLSI5JEJVr27UnDEqgAajCMh1TmGghnmvUD6xfYrUDRbar80bSvQtiAkfunQHibMZ8Wjao24adjeSXHGB2fSNbCGWm9AlLE0qamKoazjXhSpcrhHJZPJmEBI9yGxthevepsNVASlNlNUOLNAc1d1GkNUzXtoxN6AYgZb5Ao2');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('2ajs1f82ZmqPhqXBpaH','N8Xvw6uv9i7oZJZ');
INSERT INTO t (a, b) VALUES ('0av8oRjJwXqtBhMVMcUw','Y95YaQZc7Td');
INSERT INTO t (a, b) VALUES ('MI5GfQLpDFr75U3rz','RTd6Lve0ZNbBe1fqkWK4j7SKbxJpeyvkdNllf0Y1gu9uVs21W6LB23A8Uhx3K7rFHDJUAl01RpCDAhLFDvAAD66UOtNv8fCw0c1cjlbel');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '', a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('EznArw','vo6j2j3be9KBIlTHlP4bUwWKoZhbVrl6y8utY7cLGtoAMNy7xQSUjbQk7q1eWkzqjhbNqxWcROhC3YNQpizFk8rKTX9cCMuiGrDVBaVnHEaIQ5xhOrao1RDIYctYYn');
INSERT INTO t (a, b) VALUES ('d9gNCvqIg4MO2iMp','2XKg4Jwh0TjwQGHo4jlYKKQxiL6qUbFdIyvYKNGUseZoW0HVTX2mqJ4lAIgzOWK83miQgQ2D3WyA3cNXmUl5h72AQsdHGaYmYWrQCX8AFZy1EWCuPocm0K2uSOLvB');
INSERT INTO t (a, b) VALUES ('9','BWWKSYPaVdjrRK');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '', a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('lL','MjEImtvTwSkiFTBkVCjUv7ns1KFK6e7SQucDDCrKxVF9DLGnhNP1a4nnT9ix3PfdlCn08iu9FbMV0mVCisdmGhXgXxzjohZwBGrN54fLsg7L6h5O3KMvv2XeUB6AenAmZsKa6ZpRKYJiWmq64XLLocD9vjLDnRQ1Op10YuqBe08eNi0QU8oNJuMqnCrVLbw1a8bVrX6CvTRGETBPj4BWb2nyLCIQLZ2brn');
INSERT INTO t (a, b) VALUES ('oMIeJPUVsv8QB6l70BX7yMC','Le4iLiDZtvn6FhBSvlign3Z5w0EwGr2I1q1p7jgrLzrEIcoBzOeIB1WVxoOp4ap8iTwAAelm5ceZVdvGzTT3Sd9wMkrMVW0hRw6MmEo3Fug42SPo0ZshF21Lz5F2seYEBCVt0qCZeZ5lslwWkfJaPZ6pkQMkOx2F858U1efHqDYlphj3NyvAnDHJc6lr7qDPt');
INSERT INTO t (a, b) VALUES ('zJt9LaCnNRQ','mk7xoElj1vePgkHeANO7pF9pTBYPGT0VWqoObtqyrzJ6HL8qPuL48UScNJ0E4Gg4VKs8q2N8XFv5IE');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('1N585BBQh0iEW93L','l6Rgi1dWfXEDfaibVhy8R3DvrDLuelXzLrwGW1FEQx2BgWGfzomHJfhGfzSVSqszNdifYmCyRheks');
INSERT INTO t (a, b) VALUES ('cxMQyKae772Lb9L4JI9UlKHTgaKg','pTSl4p1LPHIEaR4PjEwij');
INSERT INTO t (a, b) VALUES ('rzrD','DWqVXqVdfvcbaSwHdGejTyDcz7hfTFxI3dGAnx4kW5W9w63zywUaHJmlBLHBHYnhQdgjTfyocZoq03klA97YgFBz6DoTwmiXi5TEPjIcfLrW0m3B97CLCxXP52SO98ue31Ye3CGS520HeaQ4QhTTsZe60Th748zXpwP5w9azS4FdRE7EFptHcE9HThEVdUWqqzcLgq9oV6xaM4VZfsNoyvD1o034Y5Nk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('HhNGpHAPWQ8','0Q5hSkbZLKKzavHJ7sZ7S9GKzds4BhnE');
INSERT INTO t (a, b) VALUES ('ml','XyUksmKLHMjoW0lpB3tcpSLTIhOP0slD62f81zkxgX38ec3gNAYOS6CwzAoQO14RYiWSogY4WF3xZDqrhYtFp5rvmILv6KWiFy1qivIYlim3LvOfmEb6hFXCjeENyAlTPmQgucWetoK96IhJo3DkPeWqI0tGKENsyKLhD1gXRghIj081Z6VA1GusGHZWSYCYH80RTGypEZtE4kDo69yQHyBCzGzTZKg');
INSERT INTO t (a, b) VALUES ('g','evftctLEjTtiV2ug5CDuqVlORXTrmfEhaiy2j3PWNgLhzDlWqp6zmzzqZUQrlJ3Z6yYOYLaxvdnYGToHsvBHlwD13DaJKPAS3hGAYIR1efumgFBkBQjVc97zcC5aaCZzL7bEpxViveWKYRAbruyH5Nid3CsaLlJEt');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('8P49xApofl0PNKnNcmj','DhRrz27wl2mOIoYOvZb6UCzr4u4rxwCoAFrMuM92y3hFjIu0iLUa7xUUZe1F8doEg9nBHcFo5NY4DMm0PNYKpkerTYPmIwE2gnTcCq77SgqgyeM60MdFsnO34MLEEA35Zr3MjeuJ37oGjf6vfSNUpiL0UAmhfWwfO6tLqrHtUtJhNVMvIS1pdahZJTV');
INSERT INTO t (a, b) VALUES ('FsBSfn4R7aEpUck7HhRk8w3Vt','Zrve2K');
INSERT INTO t (a, b) VALUES ('JR8yYX4uaWqC3IYfRJPOgvvz6','wzLOzhTNHY4GqRXOSWuUpYfvg5vDjL');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('hPDlpbufOe8shVHIYUo','W6SMefVaBzMArHmqFdw3Z9OAuZHMjfyQ');
INSERT INTO t (a, b) VALUES ('O3Z8ZebVhd5IXWs8iE9','2wrVG5FdWqidL69kmRynY2qQEKIukkauagG2iejdI1JaRs2yxwsSF2NsUnLn8VztEfEh');
INSERT INTO t (a, b) VALUES ('Vmsynq5mDAoM4IJxVziyJkMKuz','Y3qGnF35eYocIzn5F3FXEGWX1Wr1fQ6zk54n2h0B3PKYRLVerjk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '', a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('rmCC1RZ8fu9Zq6DwO','0vLyV4LMJuHlwPG5245J5yVDuapHQWy3vqHdlTQkQGqJWcFUz0kDWL38DeyT8nQ5WLbDqGHREisps27bINC3Ew5p7Uuf4XBleBD12f6K7g59gWBnYxd6ZsYcwcphcMWq2c8bQmbwLy1fHQ2IJaCTTAjWGd4wBHcXyg5ogi9lomnebSeI1ox1HfjWI0H6GAdsHGibXcY7QPUgVOKA5BB7jrIVpj92YSW1YAbIJLSfncht4iUlSRdyA');
INSERT INTO t (a, b) VALUES ('TNRqYm8EcJq5FPYZVG','3ucsPU7FCarudjiggvea0gjmR7OhidgIqNR4oGKzuaGxNcbxoqx8MrFGARPTE4YYyJln2HJkL9t161aLwAyJfka3PVSqScYEq8qiqt7QLAOEOa8vZYzIob3He5XBQVpC4voPO9JUblGXL9jxj56M5EjhalzF3RWM2QKcAdPg7m');
INSERT INTO t (a, b) VALUES ('3a4oOgf661u4JDOTIoGBWVpJtLi7ZM','JpTFN1KqC8cgYHjIyZWnC9tETzpvMMvLCM92u0sUpKEJagqrTThSCiHPuPWiP8kH45n6dbZPedVYv1OBZ501sPzo0dPt7ykLLemlT4aTx22AxnEGpk6LYoDmMrSWJdhbq3rhVU7QqgzmwWBGDPRyNfvdc15YROPXLohUVG2taIpNfV4km8JugoBRdy5OKDzP512JOysxUxFMgSgv2nd0nJzo9AzH8BGP7EnqXmxj40JfioAmCuGQRt8kkZi6e9l20');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '', a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('84XkENBIpBOSIA9X','LLq2mrmKvbMURprQVllY6xdk1TyqLir7dVBLIcXMsroq60cdRUdMKNHhsMReUaIovhRPz9K20MJ45FRldiEcPig0YPQpPRchf8or8X9FDk4dnLBstqPdWPRN4yKcpQQ8d');
INSERT INTO t (a, b) VALUES ('PQhihnoGkj','aWJwkEEahH8DcGLc6hDEwqoVdz7N0dS7aVqr8y2iGR08uF4iRrskP9hm17GBgU3oJwtFNCd6PgaqILMmgOaFxIKdwl6L830lHqIP8QGxgt9YOj1jnTbNC8oacra2C4RlEneP7RXUNnLiUltyOqg8iOS2AElrpsqg5AITkU5lhzEcu1OzvILTQmILr7fwOWGafQnumBLLf4FV1XEQehYYCQznGVO5AC4AqxljiVTm2VKwgHK');
INSERT INTO t (a, b) VALUES ('Wp7SRNSBTdZ5FMy','L7CJ7KHDvKZREFq0NoHwbeQv7Gp9S68J4fvTSVSOKXmB3XqleUZTUrWaB9UsXzSSv4uiUucM25pIWXIkGKY1k8FVopLD5l2rewYrWtSWiZ6kD9k4dVzR3hbBgapWc2mimRwBS4gpD2AVCrpZAI');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB , b TINYBLOB );
INSERT INTO t (a, b) VALUES ('9jLJ0ZIO55FP61poxeO4L','qDlG0rPg6pQ7scksQFOqxTGZIaOHz90VSV78nGu0wQQzXIEBiNp4Kq7hDgs1eW5ot9uKyvz');
INSERT INTO t (a, b) VALUES ('OoVm8w69Ktnc','Qj2yRoLmXbGrTk5IP0rzJ5x7T5NnVjEISVkei0Ed5b29Fx2f2DkxWdPByyHmTZ0V60rd4z6ivkGLfiSpqoIGyOLsvuKd5zywn3tmwiBN211n4g9lol8TGqczWGMVAtcxgkzYnprghq1MfGAkmr8hzCqFcmZPkTNmTcXDhAK9Uzmhr6EUysjNHiXwMYXDqnLu7tFEmaBa5s1SFIXapUFcF');
INSERT INTO t (a, b) VALUES ('UNTOvmwoyYR3vytsxjYXIzNe3uNSZGXy','tud2Ue9TqNmenuidjnFqU3blsesSRJnZnsgW3ZxqfbM8EHWfrdmIu7LiOBgUxmQEWXmCOh1j8ycxhDfuGGtZ56RxCSk2lmHFPj3mdroOf2ftB3PHOV9Jga257NjIuR75nItrdTEseUrxnoRAfN0ZtDVAQjnA7ZjMiKh1E7kUZioBoKqdbP306aeN5bENlRZt9UJ3vE4w5nbRsJfId5');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB ;
ALTER TABLE t CHANGE COLUMN a a BLOB ;
ALTER TABLE ti CHANGE COLUMN a a BLOB ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB ;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB ;
ALTER TABLE t CHANGE COLUMN b b BLOB ;
ALTER TABLE ti CHANGE COLUMN b b BLOB ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB ;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB ;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYBLOB NOT NULL, b TINYBLOB NOT NULL);
INSERT INTO t (a, b) VALUES ('Id','eKhtNKGQb2m0JpvyzVayefC7fAbhKzbR0wVzLCarlBdjxgEfVx4Fbm8C0uzQn9UuSsL5unnHgR2DQ9bzpbXY1ib7q5');
INSERT INTO t (a, b) VALUES ('F109GMWyA6Bo4KDr1eAoLdMbm5pAJf','6aN1H6jHsqeidqmzMLnj95JHX0nV2Xn1CNFwVYOHkLpuySrmbRUS8rzSTXTB5yuaMjr8fsSVpnakiiMBtTf5oCPue6J2VCvIn3ujshgM3YNp851bZ3pY3iaQpzLPYBFP3MHdtzJfM9kYZjn8FCYZqYEVEzvhmJb6H5Oqroue8qemeTdZOpq7cg3LWMkH6gJxUTnBv6K');
INSERT INTO t (a, b) VALUES ('TFKZn3C86JoZFMJ','w0veu9pqoguz7U0AUnbK6cN7nk0VKHVcnnNDbKKDOvjbkzQoqHaHK3Vzice2nj53vyggmMFnGM8A9CWkMggifctRCQxm1XfFf5ilzvyv7uxBlA3yo1Eozl3tL4Dt5WcDx4zvJrzG9Cs1cvHKcbYEdqipr3Tl9iEPZQLPWDMPWPhbbZHrFmdkYLTj7SV4KjW21jPCk0o2zUXh6N8Vk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b BLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMBLOB NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGBLOB NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGBLOB NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
......@@ -18,8 +18,7 @@ def gen_tests(base_types, null_types):
print "--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/"
print "--error ER_UNSUPPORTED_EXTENSION"
print "ALTER TABLE t CHANGE COLUMN a a %sBLOB %s;" % (base_types[to_index], null_types[to_null]);
# if from_null != to_null or from_index > to_index
if from_null != to_null or from_index != to_index:
if from_null != to_null or from_index > to_index:
print "--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/"
print "--error ER_UNSUPPORTED_EXTENSION"
print "ALTER TABLE t CHANGE COLUMN a a %sTEXT %s;" % (base_types[to_index], null_types[to_null]);
......
......@@ -37,8 +37,6 @@ CREATE TABLE t (a TINYTEXT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a BLOB NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a TEXT NULL;
DROP TABLE t;
CREATE TABLE t (a TINYTEXT NULL);
......@@ -61,16 +59,12 @@ CREATE TABLE t (a TINYTEXT NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a BLOB NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
DROP TABLE t;
CREATE TABLE t (a TINYTEXT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NULL;
DROP TABLE t;
CREATE TABLE t (a TINYTEXT NULL);
......@@ -93,16 +87,12 @@ CREATE TABLE t (a TINYTEXT NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
DROP TABLE t;
CREATE TABLE t (a TINYTEXT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
DROP TABLE t;
CREATE TABLE t (a TINYTEXT NULL);
......@@ -125,8 +115,6 @@ CREATE TABLE t (a TINYTEXT NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
DROP TABLE t;
CREATE TABLE t (a TEXT NULL);
......@@ -193,8 +181,6 @@ CREATE TABLE t (a TEXT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NULL;
DROP TABLE t;
CREATE TABLE t (a TEXT NULL);
......@@ -217,16 +203,12 @@ CREATE TABLE t (a TEXT NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMBLOB NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
DROP TABLE t;
CREATE TABLE t (a TEXT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
DROP TABLE t;
CREATE TABLE t (a TEXT NULL);
......@@ -249,8 +231,6 @@ CREATE TABLE t (a TEXT NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
DROP TABLE t;
CREATE TABLE t (a MEDIUMTEXT NULL);
......@@ -349,8 +329,6 @@ CREATE TABLE t (a MEDIUMTEXT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NULL;
DROP TABLE t;
CREATE TABLE t (a MEDIUMTEXT NULL);
......@@ -373,8 +351,6 @@ CREATE TABLE t (a MEDIUMTEXT NOT NULL);
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGBLOB NOT NULL;
--replace_regex /MariaDB/XYZ/ /MySQL/XYZ/
--error ER_UNSUPPORTED_EXTENSION
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
DROP TABLE t;
CREATE TABLE t (a LONGTEXT NULL);
......
# this test is generated by change_column_blob_data.py
# generate hot blob expansion test cases
source include/have_tokudb.inc;
--disable_warnings
DROP TABLE IF EXISTS t, ti;
--enable_warnings
SET SESSION DEFAULT_STORAGE_ENGINE="TokuDB";
SET SESSION TOKUDB_DISABLE_SLOW_ALTER=1;
CREATE TABLE t (a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('8WPikf','NncLFE7');
INSERT INTO t (a, b) VALUES ('b5u4x0oGQ','x6RJHM6SPsczuiSMneMy23veyjvsPjHCqNfokW2AsiSZBVE3mp7NA5wf0UAwhWd4dwn4nc11P5RLTpTT4o4Wwdf8h0JJ6qQV99ns6LEeLJ5ZI');
INSERT INTO t (a, b) VALUES ('ObPOoXqFyK9PjPwXUp1iXjEcEPvW0DIO','GDWDp3EQNTrnvSM3Sely8IKdaZsMCxBkUcUZvBKpxou5U30Eipxfc3CjHIYGaRwWPG8DAwZROrT9Nf7hsDMCOg01lcPBXlEDZgm1lRBzRhTSwXMIzbDOSp2EpdT12HZ3PYsVXk0ZSYG9');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('T3V0h0kB7Z43jqSTiaI','czB9GVLA611e55NpukvYdrc4UOTWiIFEfvtvXcTMbn8TFqhie2D3gRzU5AjZoxtSSMMMcsWl0wnsoWtK2tfGQCRgayc9pv0t4NRCFwlH2Un3cpiiQdW59gYphjYXlE1q5ABTuPPv32nb0Ws5deOTxIc11qWPfYnHeuZ91SG94wXYxQLKAqMx1EHaUssU8N6cz8JKrJTVvp5cA4nbGgFLZKOEvqFuHq1mgcaFm71NvcOui2BaVRfUbl64shd');
INSERT INTO t (a, b) VALUES ('8q5sLEUIhKJ0BNIaZpOUfV243Rpc9','1MLR6uDgHb6svgtcsukdEx9GV6DTmSo3bnVgf2aIbQD0d77p1H0PzzWEX7IW2j6JhKymA59w8s3aEjH5Ta3CSVw5ks0yezu5woSjcxDslNVUs4L8YR8ckJWL11YvkZuWepkxwTMzYgujdJOZLNOX9rgqRFk5JabNZ9QePdbTjbthHQ1SXsdK6');
INSERT INTO t (a, b) VALUES ('OuS6FKVN8GvFSetNwujNG6Z4jv3bNrfS','8VZPpTjiHG0wwu1YuCm4GkaSiIyQMBHzI806VRXXi1VqL50IeFFoRQUeYunmRotO46Iyv3i8syseHo2zP2TzHFdueH');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '', a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('1pR3ukt4Ue1ddcv7l7cdLUtIvUrc','3KWeNropDQVN59sEvm1JNuyNGawl467fqCbpsyxZi9SsxJ8D0WLw6TdCCs2E7TOwtSD5g5rvVFelfdMCe59d9jJ06jpriiPl');
INSERT INTO t (a, b) VALUES ('ijiiau1MlZKqMXrw','WLZn5o7znhPvNfzfszV41k0YDE0Sb0MDV79qrdp3d');
INSERT INTO t (a, b) VALUES ('qmty3prkW0culdhbxFQ','WblIKvRYbVjNyKbpCbft2hDCLuPjmFTzz2lZg9VUklZ1bWQ4OpSCGDZuZ5q0LeBzVrqkO91P0puZECeuUX6jfTyBR7piwkR77yyaMfK7Vm9435Qswmknye6h7zo');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '', a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('ZCcIgA','TgeHsGJbqV0cK6PHoJXwkuk3KeExgjHUouDUAHtuyIrkkegjoIkgZk8Ue77o3Rb4bLsf674Xs0OuzlXFOcaSqU');
INSERT INTO t (a, b) VALUES ('ZdomEveQpjAySuPD3PO3xgGsZ82U','2iF9na7SSX8ORsRIzJ41RPC0chuPNa1BmL5QJfAX5OZJqhQ0SEB3MxDkZTmlc21F10A7nhqug9Y9Dei4B7Sg5AHvVa1AUUiUBDIk5pJ51rixI8iF3gTfp9drR9JKDQLVzCEtyROSCeHIjFT8bInB6i24c9kSUE4JkLrvA1wEPuN5Pxnu9kOscnn6PGJLIthj8J1z9ghydfn1H8meLLgV6hMdfN');
INSERT INTO t (a, b) VALUES ('4wf92gh8AJAyUPIPDQYR47xk','bl9CVOgsrrEAjEC4UZgeDHy17IqbI6LQha5ec0t5igrw8RBf84rmgr');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('4','8COJIsoEwzuFuY0XobeNMr1uhHotDoFksHC4sKkv3MLMI0Rm1XHKUKkEfnFYeog0y1qbkhyM5OhUhczN4uUH2rwA3BZb00rHLE5cxCFsQqGr3RlAX4uDGshnxozQfi7DL3IlRqYjwy0ItkISRHGYwPpW3CuC3cMSOidb48kt1cqqzy7XWtA93KNpBJhcYxAyPO1on5U5N4fgOl0JOZRvzxR5m5yma378hXl3C5W');
INSERT INTO t (a, b) VALUES ('dGzO9u7KQt3XM2ZkwHRRQkt','eQzl1IBr7VSdb1fgb8xKREQVgXVxhkCtdNpQstvAdPYMipmmgZTtheuiOwnYjSc');
INSERT INTO t (a, b) VALUES ('P1bQAeV4','bf4KDOM79ZLUg5qJd0zchNwdAm6v2AbOd');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('zhUb9Hu5Wlv2kL3j9w','C4AQe2AZNlGu8CVuqp7Cygd1bF9pm7W6dBTdd6tAfe6Ac1GscSl');
INSERT INTO t (a, b) VALUES ('jimRpHhtrsTxQ2TW99uPgPtLp51Xam7w','cFZ7PbSsyswGd5YmgsK6v0A0TkZwzzAQAy5hrRjFl6ik88GJxoeRNqjUsrKowaKjZPw5ae3LuRFNgBlobkWT60Qm9Wh4PGjTVsEdssmt2Q0vAVpw9WPxsb9aDA9Il7ya5cchLPAivle7bk8Y5lBL8Q7Vc90JrJ0ueClS1ag');
INSERT INTO t (a, b) VALUES ('zo7kaZFbvZW9XpHmq5bBY9dwRn5','6HjHkuaHhufqwPrEONNEZSdJTKVFC2egT4vA1SK4BV81knPBmVDmIrosYgMAEpl0fLtnsROepeggWvqblGbNhjbzU8cDZZ5284nTRUXbZG2T1kLhNcMwJu00JdU9PpLQuEWw7dAbR5vcHGnTsttJwLW80ko1tdPycGMYeguqiCefW4yBEn');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('WdaEkmCiDOrvN5RGfjGGD17','Rv7pU4m11NDa2H2mE89d6ztify9OAlmPs');
INSERT INTO t (a, b) VALUES ('bXfE3gz','j7TeWw2dIoiw0Z1VjwWpJ82dao3TS6zuiMARW2rEPYecSP1FsMRpCB2iXn8Gt89pBreJ9jKJPEQ1OTlEY1lfvYjUbpSKYp6MsR0RbTOitJbdHPKL7BmxZj4iCGmYMBoxTqEoxBU954RXa3EOoXGpYlNbWvncVrqQhwNi71p5O9bUAR5imiRQkNkSbMEF8gWXPjZ');
INSERT INTO t (a, b) VALUES ('hS2f2J1vjF8G','GPbTuMoMkKdNqMiVkhjuBdFwnSxLLLTaM1tpp0vWNbZMJyLSI5JEJVr27UnDEqgAajCMh1TmGghnmvUD6xfYrUDRbar80bSvQtiAkfunQHibMZ8Wjao24adjeSXHGB2fSNbCGWm9AlLE0qamKoazjXhSpcrhHJZPJmEBI9yGxthevepsNVASlNlNUOLNAc1d1GkNUzXtoxN6AYgZb5Ao2');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('2ajs1f82ZmqPhqXBpaH','N8Xvw6uv9i7oZJZ');
INSERT INTO t (a, b) VALUES ('0av8oRjJwXqtBhMVMcUw','Y95YaQZc7Td');
INSERT INTO t (a, b) VALUES ('MI5GfQLpDFr75U3rz','RTd6Lve0ZNbBe1fqkWK4j7SKbxJpeyvkdNllf0Y1gu9uVs21W6LB23A8Uhx3K7rFHDJUAl01RpCDAhLFDvAAD66UOtNv8fCw0c1cjlbel');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '', a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('EznArw','vo6j2j3be9KBIlTHlP4bUwWKoZhbVrl6y8utY7cLGtoAMNy7xQSUjbQk7q1eWkzqjhbNqxWcROhC3YNQpizFk8rKTX9cCMuiGrDVBaVnHEaIQ5xhOrao1RDIYctYYn');
INSERT INTO t (a, b) VALUES ('d9gNCvqIg4MO2iMp','2XKg4Jwh0TjwQGHo4jlYKKQxiL6qUbFdIyvYKNGUseZoW0HVTX2mqJ4lAIgzOWK83miQgQ2D3WyA3cNXmUl5h72AQsdHGaYmYWrQCX8AFZy1EWCuPocm0K2uSOLvB');
INSERT INTO t (a, b) VALUES ('9','BWWKSYPaVdjrRK');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '', a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('lL','MjEImtvTwSkiFTBkVCjUv7ns1KFK6e7SQucDDCrKxVF9DLGnhNP1a4nnT9ix3PfdlCn08iu9FbMV0mVCisdmGhXgXxzjohZwBGrN54fLsg7L6h5O3KMvv2XeUB6AenAmZsKa6ZpRKYJiWmq64XLLocD9vjLDnRQ1Op10YuqBe08eNi0QU8oNJuMqnCrVLbw1a8bVrX6CvTRGETBPj4BWb2nyLCIQLZ2brn');
INSERT INTO t (a, b) VALUES ('oMIeJPUVsv8QB6l70BX7yMC','Le4iLiDZtvn6FhBSvlign3Z5w0EwGr2I1q1p7jgrLzrEIcoBzOeIB1WVxoOp4ap8iTwAAelm5ceZVdvGzTT3Sd9wMkrMVW0hRw6MmEo3Fug42SPo0ZshF21Lz5F2seYEBCVt0qCZeZ5lslwWkfJaPZ6pkQMkOx2F858U1efHqDYlphj3NyvAnDHJc6lr7qDPt');
INSERT INTO t (a, b) VALUES ('zJt9LaCnNRQ','mk7xoElj1vePgkHeANO7pF9pTBYPGT0VWqoObtqyrzJ6HL8qPuL48UScNJ0E4Gg4VKs8q2N8XFv5IE');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('1N585BBQh0iEW93L','l6Rgi1dWfXEDfaibVhy8R3DvrDLuelXzLrwGW1FEQx2BgWGfzomHJfhGfzSVSqszNdifYmCyRheks');
INSERT INTO t (a, b) VALUES ('cxMQyKae772Lb9L4JI9UlKHTgaKg','pTSl4p1LPHIEaR4PjEwij');
INSERT INTO t (a, b) VALUES ('rzrD','DWqVXqVdfvcbaSwHdGejTyDcz7hfTFxI3dGAnx4kW5W9w63zywUaHJmlBLHBHYnhQdgjTfyocZoq03klA97YgFBz6DoTwmiXi5TEPjIcfLrW0m3B97CLCxXP52SO98ue31Ye3CGS520HeaQ4QhTTsZe60Th748zXpwP5w9azS4FdRE7EFptHcE9HThEVdUWqqzcLgq9oV6xaM4VZfsNoyvD1o034Y5Nk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('HhNGpHAPWQ8','0Q5hSkbZLKKzavHJ7sZ7S9GKzds4BhnE');
INSERT INTO t (a, b) VALUES ('ml','XyUksmKLHMjoW0lpB3tcpSLTIhOP0slD62f81zkxgX38ec3gNAYOS6CwzAoQO14RYiWSogY4WF3xZDqrhYtFp5rvmILv6KWiFy1qivIYlim3LvOfmEb6hFXCjeENyAlTPmQgucWetoK96IhJo3DkPeWqI0tGKENsyKLhD1gXRghIj081Z6VA1GusGHZWSYCYH80RTGypEZtE4kDo69yQHyBCzGzTZKg');
INSERT INTO t (a, b) VALUES ('g','evftctLEjTtiV2ug5CDuqVlORXTrmfEhaiy2j3PWNgLhzDlWqp6zmzzqZUQrlJ3Z6yYOYLaxvdnYGToHsvBHlwD13DaJKPAS3hGAYIR1efumgFBkBQjVc97zcC5aaCZzL7bEpxViveWKYRAbruyH5Nid3CsaLlJEt');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('8P49xApofl0PNKnNcmj','DhRrz27wl2mOIoYOvZb6UCzr4u4rxwCoAFrMuM92y3hFjIu0iLUa7xUUZe1F8doEg9nBHcFo5NY4DMm0PNYKpkerTYPmIwE2gnTcCq77SgqgyeM60MdFsnO34MLEEA35Zr3MjeuJ37oGjf6vfSNUpiL0UAmhfWwfO6tLqrHtUtJhNVMvIS1pdahZJTV');
INSERT INTO t (a, b) VALUES ('FsBSfn4R7aEpUck7HhRk8w3Vt','Zrve2K');
INSERT INTO t (a, b) VALUES ('JR8yYX4uaWqC3IYfRJPOgvvz6','wzLOzhTNHY4GqRXOSWuUpYfvg5vDjL');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('hPDlpbufOe8shVHIYUo','W6SMefVaBzMArHmqFdw3Z9OAuZHMjfyQ');
INSERT INTO t (a, b) VALUES ('O3Z8ZebVhd5IXWs8iE9','2wrVG5FdWqidL69kmRynY2qQEKIukkauagG2iejdI1JaRs2yxwsSF2NsUnLn8VztEfEh');
INSERT INTO t (a, b) VALUES ('Vmsynq5mDAoM4IJxVziyJkMKuz','Y3qGnF35eYocIzn5F3FXEGWX1Wr1fQ6zk54n2h0B3PKYRLVerjk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '', a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('rmCC1RZ8fu9Zq6DwO','0vLyV4LMJuHlwPG5245J5yVDuapHQWy3vqHdlTQkQGqJWcFUz0kDWL38DeyT8nQ5WLbDqGHREisps27bINC3Ew5p7Uuf4XBleBD12f6K7g59gWBnYxd6ZsYcwcphcMWq2c8bQmbwLy1fHQ2IJaCTTAjWGd4wBHcXyg5ogi9lomnebSeI1ox1HfjWI0H6GAdsHGibXcY7QPUgVOKA5BB7jrIVpj92YSW1YAbIJLSfncht4iUlSRdyA');
INSERT INTO t (a, b) VALUES ('TNRqYm8EcJq5FPYZVG','3ucsPU7FCarudjiggvea0gjmR7OhidgIqNR4oGKzuaGxNcbxoqx8MrFGARPTE4YYyJln2HJkL9t161aLwAyJfka3PVSqScYEq8qiqt7QLAOEOa8vZYzIob3He5XBQVpC4voPO9JUblGXL9jxj56M5EjhalzF3RWM2QKcAdPg7m');
INSERT INTO t (a, b) VALUES ('3a4oOgf661u4JDOTIoGBWVpJtLi7ZM','JpTFN1KqC8cgYHjIyZWnC9tETzpvMMvLCM92u0sUpKEJagqrTThSCiHPuPWiP8kH45n6dbZPedVYv1OBZ501sPzo0dPt7ykLLemlT4aTx22AxnEGpk6LYoDmMrSWJdhbq3rhVU7QqgzmwWBGDPRyNfvdc15YROPXLohUVG2taIpNfV4km8JugoBRdy5OKDzP512JOysxUxFMgSgv2nd0nJzo9AzH8BGP7EnqXmxj40JfioAmCuGQRt8kkZi6e9l20');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '', a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('84XkENBIpBOSIA9X','LLq2mrmKvbMURprQVllY6xdk1TyqLir7dVBLIcXMsroq60cdRUdMKNHhsMReUaIovhRPz9K20MJ45FRldiEcPig0YPQpPRchf8or8X9FDk4dnLBstqPdWPRN4yKcpQQ8d');
INSERT INTO t (a, b) VALUES ('PQhihnoGkj','aWJwkEEahH8DcGLc6hDEwqoVdz7N0dS7aVqr8y2iGR08uF4iRrskP9hm17GBgU3oJwtFNCd6PgaqILMmgOaFxIKdwl6L830lHqIP8QGxgt9YOj1jnTbNC8oacra2C4RlEneP7RXUNnLiUltyOqg8iOS2AElrpsqg5AITkU5lhzEcu1OzvILTQmILr7fwOWGafQnumBLLf4FV1XEQehYYCQznGVO5AC4AqxljiVTm2VKwgHK');
INSERT INTO t (a, b) VALUES ('Wp7SRNSBTdZ5FMy','L7CJ7KHDvKZREFq0NoHwbeQv7Gp9S68J4fvTSVSOKXmB3XqleUZTUrWaB9UsXzSSv4uiUucM25pIWXIkGKY1k8FVopLD5l2rewYrWtSWiZ6kD9k4dVzR3hbBgapWc2mimRwBS4gpD2AVCrpZAI');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT , b TINYTEXT );
INSERT INTO t (a, b) VALUES ('9jLJ0ZIO55FP61poxeO4L','qDlG0rPg6pQ7scksQFOqxTGZIaOHz90VSV78nGu0wQQzXIEBiNp4Kq7hDgs1eW5ot9uKyvz');
INSERT INTO t (a, b) VALUES ('OoVm8w69Ktnc','Qj2yRoLmXbGrTk5IP0rzJ5x7T5NnVjEISVkei0Ed5b29Fx2f2DkxWdPByyHmTZ0V60rd4z6ivkGLfiSpqoIGyOLsvuKd5zywn3tmwiBN211n4g9lol8TGqczWGMVAtcxgkzYnprghq1MfGAkmr8hzCqFcmZPkTNmTcXDhAK9Uzmhr6EUysjNHiXwMYXDqnLu7tFEmaBa5s1SFIXapUFcF');
INSERT INTO t (a, b) VALUES ('UNTOvmwoyYR3vytsxjYXIzNe3uNSZGXy','tud2Ue9TqNmenuidjnFqU3blsesSRJnZnsgW3ZxqfbM8EHWfrdmIu7LiOBgUxmQEWXmCOh1j8ycxhDfuGGtZ56RxCSk2lmHFPj3mdroOf2ftB3PHOV9Jga257NjIuR75nItrdTEseUrxnoRAfN0ZtDVAQjnA7ZjMiKh1E7kUZioBoKqdbP306aeN5bENlRZt9UJ3vE4w5nbRsJfId5');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT ;
ALTER TABLE t CHANGE COLUMN a a TEXT ;
ALTER TABLE ti CHANGE COLUMN a a TEXT ;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT ;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT ;
ALTER TABLE t CHANGE COLUMN b b TEXT ;
ALTER TABLE ti CHANGE COLUMN b b TEXT ;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT ;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT ;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT ;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
CREATE TABLE t (f INT DEFAULT 0 NOT NULL, v VARCHAR(32) DEFAULT '' NOT NULL, a TINYTEXT NOT NULL, b TINYTEXT NOT NULL);
INSERT INTO t (a, b) VALUES ('Id','eKhtNKGQb2m0JpvyzVayefC7fAbhKzbR0wVzLCarlBdjxgEfVx4Fbm8C0uzQn9UuSsL5unnHgR2DQ9bzpbXY1ib7q5');
INSERT INTO t (a, b) VALUES ('F109GMWyA6Bo4KDr1eAoLdMbm5pAJf','6aN1H6jHsqeidqmzMLnj95JHX0nV2Xn1CNFwVYOHkLpuySrmbRUS8rzSTXTB5yuaMjr8fsSVpnakiiMBtTf5oCPue6J2VCvIn3ujshgM3YNp851bZ3pY3iaQpzLPYBFP3MHdtzJfM9kYZjn8FCYZqYEVEzvhmJb6H5Oqroue8qemeTdZOpq7cg3LWMkH6gJxUTnBv6K');
INSERT INTO t (a, b) VALUES ('TFKZn3C86JoZFMJ','w0veu9pqoguz7U0AUnbK6cN7nk0VKHVcnnNDbKKDOvjbkzQoqHaHK3Vzice2nj53vyggmMFnGM8A9CWkMggifctRCQxm1XfFf5ilzvyv7uxBlA3yo1Eozl3tL4Dt5WcDx4zvJrzG9Cs1cvHKcbYEdqipr3Tl9iEPZQLPWDMPWPhbbZHrFmdkYLTj7SV4KjW21jPCk0o2zUXh6N8Vk');
CREATE TABLE ti LIKE t;
ALTER TABLE ti ENGINE=myisam;
INSERT INTO ti SELECT * FROM t;
ALTER TABLE t CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN a a LONGTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TINYTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b TEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b MEDIUMTEXT NOT NULL;
ALTER TABLE t CHANGE COLUMN b b LONGTEXT NOT NULL;
ALTER TABLE ti CHANGE COLUMN b b LONGTEXT NOT NULL;
let $diff_tables = test.t, test.ti;
source include/diff_tables.inc;
DROP TABLE t, ti;
......@@ -665,6 +665,7 @@ class ha_tokudb : public handler {
int alter_table_expand_varchar_offsets(TABLE *altered_table, Alter_inplace_info *ha_alter_info);
int alter_table_expand_columns(TABLE *altered_table, Alter_inplace_info *ha_alter_info);
int alter_table_expand_one_column(TABLE *altered_table, Alter_inplace_info *ha_alter_info, int expand_field_num);
int alter_table_expand_blobs(TABLE *altered_table, Alter_inplace_info *ha_alter_info);
void print_alter_info(TABLE *altered_table, Alter_inplace_info *ha_alter_info);
int setup_kc_info(TABLE *altered_table, KEY_AND_COL_INFO *kc_info);
int new_row_descriptor(TABLE *table, TABLE *altered_table, Alter_inplace_info *ha_alter_info, uint32_t idx, DBT *row_descriptor);
......
......@@ -115,6 +115,7 @@ class tokudb_alter_ctx : public inplace_alter_handler_ctx {
compression_changed(false),
expand_varchar_update_needed(false),
expand_fixed_update_needed(false),
expand_blob_update_needed(false),
table_kc_info(NULL),
altered_table_kc_info(NULL) {
}
......@@ -133,6 +134,7 @@ class tokudb_alter_ctx : public inplace_alter_handler_ctx {
enum toku_compression_method orig_compression_method;
bool expand_varchar_update_needed;
bool expand_fixed_update_needed;
bool expand_blob_update_needed;
Dynamic_array<uint> changed_fields;
KEY_AND_COL_INFO *table_kc_info;
KEY_AND_COL_INFO *altered_table_kc_info;
......@@ -472,12 +474,18 @@ bool ha_tokudb::inplace_alter_table(TABLE *altered_table, Alter_inplace_info *ha
ctx->compression_changed = true;
}
}
if (error == 0 && ctx->expand_varchar_update_needed)
error = alter_table_expand_varchar_offsets(altered_table, ha_alter_info);
// note: only one column expansion is allowed
if (error == 0 && ctx->expand_fixed_update_needed)
error = alter_table_expand_columns(altered_table, ha_alter_info);
if (error == 0 && ctx->expand_varchar_update_needed)
error = alter_table_expand_varchar_offsets(altered_table, ha_alter_info);
if (error == 0 && ctx->expand_blob_update_needed)
error = alter_table_expand_blobs(altered_table, ha_alter_info);
if (error == 0 && ctx->reset_card)
tokudb::set_card_from_status(share->status_block, ctx->alter_txn, table->s, altered_table->s);
......@@ -969,6 +977,60 @@ int ha_tokudb::alter_table_expand_one_column(TABLE *altered_table, Alter_inplace
return error;
}
static void marshall_blob_lengths(tokudb::buffer &b, uint32_t n, TABLE *table, KEY_AND_COL_INFO *kc_info) {
for (uint i = 0; i < n; i++) {
uint blob_field_index = kc_info->blob_fields[i];
assert(blob_field_index < table->s->fields);
uint8_t blob_field_length = table->s->field[blob_field_index]->row_pack_length();
b.append(&blob_field_length, sizeof blob_field_length);
}
}
int ha_tokudb::alter_table_expand_blobs(TABLE *altered_table, Alter_inplace_info *ha_alter_info) {
int error = 0;
tokudb_alter_ctx *ctx = static_cast<tokudb_alter_ctx *>(ha_alter_info->handler_ctx);
uint32_t curr_num_DBs = table->s->keys + test(hidden_primary_key);
for (uint32_t i = 0; i < curr_num_DBs; i++) {
// change to a new descriptor
DBT row_descriptor; memset(&row_descriptor, 0, sizeof row_descriptor);
error = new_row_descriptor(table, altered_table, ha_alter_info, i, &row_descriptor);
if (error)
break;
error = share->key_file[i]->change_descriptor(share->key_file[i], ctx->alter_txn, &row_descriptor, 0);
my_free(row_descriptor.data);
if (error)
break;
// for all trees that have values, make an update blobs message and broadcast it into the tree
if (i == primary_key || (table_share->key_info[i].flags & HA_CLUSTERING)) {
tokudb::buffer b;
uint8_t op = UPDATE_OP_EXPAND_BLOB;
b.append(&op, sizeof op);
b.append_ui<uint32_t>(table->s->null_bytes + ctx->table_kc_info->mcp_info[i].fixed_field_size);
uint32_t var_offset_bytes = ctx->table_kc_info->mcp_info[i].len_of_offsets;
b.append_ui<uint32_t>(var_offset_bytes);
b.append_ui<uint32_t>(var_offset_bytes == 0 ? 0 : ctx->table_kc_info->num_offset_bytes);
// add blobs info
uint32_t num_blobs = ctx->table_kc_info->num_blobs;
b.append_ui<uint32_t>(num_blobs);
marshall_blob_lengths(b, num_blobs, table, ctx->table_kc_info);
marshall_blob_lengths(b, num_blobs, altered_table, ctx->altered_table_kc_info);
// and broadcast it into the tree
DBT expand; memset(&expand, 0, sizeof expand);
expand.data = b.data();
expand.size = b.size();
error = share->key_file[i]->update_broadcast(share->key_file[i], ctx->alter_txn, &expand, DB_IS_RESETTING_OP);
if (error)
break;
}
}
return error;
}
// Return true if two fixed length fields can be changed inplace
static bool change_fixed_length_is_supported(TABLE *table, TABLE *altered_table, Field *old_field, Field *new_field, tokudb_alter_ctx *ctx) {
// no change in size is supported
......@@ -981,6 +1043,22 @@ static bool change_fixed_length_is_supported(TABLE *table, TABLE *altered_table,
return true;
}
static bool change_blob_length_is_supported(TABLE *table, TABLE *altered_table, Field *old_field, Field *new_field, tokudb_alter_ctx *ctx) {
// blob -> longer or equal length blob
if (old_field->binary() && new_field->binary() && old_field->pack_length() <= new_field->pack_length()) {
ctx->expand_blob_update_needed = true;
return true;
}
// text -> longer or equal length text
if (!old_field->binary() && !new_field->binary() &&
old_field->pack_length() <= new_field->pack_length() &&
old_field->charset()->number == new_field->charset()->number) {
ctx->expand_blob_update_needed = true;
return true;
}
return false;
}
// Return true if the MySQL type is an int or unsigned int type
static bool is_int_type(enum_field_types t) {
switch (t) {
......@@ -1017,6 +1095,8 @@ static bool change_field_type_is_supported(Field *old_field, Field *new_field, T
// varchar(X) -> varchar(Y) and varbinary(X) -> varbinary(Y) expansion where X < 256 <= Y
// the ALTER_COLUMN_TYPE handler flag is set for these cases
return change_varchar_length_is_supported(old_field, new_field, table, altered_table, ha_alter_info, ctx);
} else if (old_type == MYSQL_TYPE_BLOB && new_type == MYSQL_TYPE_BLOB) {
return change_blob_length_is_supported(table, altered_table, old_field, new_field, ctx);
} else
return false;
}
......
......@@ -188,19 +188,20 @@ class buffer {
}
// Return a pointer to the data in the buffer
void *data() {
void *data() const {
return m_data;
}
// Return the size of the data in the buffer
size_t size() {
size_t size() const {
return m_size;
}
// Return the size of the underlying memory in the buffer
size_t limit() {
size_t limit() const {
return m_limit;
}
private:
// Maybe reallocate the buffer when it becomes full by doubling its size.
void maybe_realloc(size_t s) {
......
......@@ -99,6 +99,7 @@ enum {
UPDATE_OP_EXPAND_UINT = 3,
UPDATE_OP_EXPAND_CHAR = 4,
UPDATE_OP_EXPAND_BINARY = 5,
UPDATE_OP_EXPAND_BLOB = 6,
UPDATE_OP_UPDATE_1 = 10,
UPDATE_OP_UPSERT_1 = 11,
......@@ -168,25 +169,35 @@ enum {
// at most, 4 0's
// So, upperbound is num_blobs(1+4+1+4) = num_columns*10
// The expand varchar offsets message is used to expand the size of an offset from 1 to 2 bytes.
// operation 1 == UPDATE_OP_EXPAND_VARIABLE_OFFSETS
// n_offsets 4 number of offsets
// offset_start 4 starting offset of the variable length field offsets
// The expand varchar offsets message is used to expand the size of an offset from 1 to 2 bytes. Not VLQ coded.
// uint8 operation = UPDATE_OP_EXPAND_VARIABLE_OFFSETS
// uint32 number of offsets
// uint32 starting offset of the variable length field offsets
// These expand messages are used to expand the size of a fixed length field.
// Expand the size of a fixed length column message. Not VLQ coded.
// The field type is encoded in the operation code.
// operation 1 == UPDATE_OP_EXPAND_INT/UINT/CHAR/BINARY
// offset 4 offset of the field
// old length 4 the old length of the field's value
// new length 4 the new length of the field's value
// operation 1 == UPDATE_OP_EXPAND_CHAR/BINARY
// offset 4 offset of the field
// old length 4 the old length of the field's value
// new length 4 the new length of the field's value
// pad char 1
// Update and Upsert version 1
// uint8 operation = UPDATE_OP_EXPAND_INT/UINT/CHAR/BINARY
// uint32 offset offset of the field
// uint32 old length the old length of the field's value
// uint32 new length the new length of the field's value
// uint8 operation = UPDATE_OP_EXPAND_CHAR/BINARY
// uint32 offset offset of the field
// uint32 old length the old length of the field's value
// uint32 new length the new length of the field's value
// uint8 pad char
// Expand blobs message. VLQ coded.
// uint8 operation = UPDATE_OP_EXPAND_BLOB
// uint32 start variable offset
// uint32 variable offset bytes
// uint32 bytes per offset
// uint32 num blobs = N
// uint8 old lengths[N]
// uint8 new lengths[N]
// Update and Upsert version 1 messages. Not VLQ coded. Not used anymore, but may be in the
// fractal tree from a previous build.
//
// Field descriptor:
// Operations:
......@@ -223,52 +234,53 @@ enum {
// Number of update ops 4 == N
// Update ops [N]
// Update and Upserver version 2 messages. VLQ coded.
// Update version 2
// Operation uint32 == UPDATE_OP_UPDATE_2
// Number of update ops uint32 == N
// Update ops uint8 [ N ]
// uint8 operation = UPDATE_OP_UPDATE_2
// uint32 number of update ops = N
// uint8 update ops [ N ]
//
// Upsert version 2
// Operation uint32 == UPDATE_OP_UPSERT_2
// Insert length uint32 == N
// Insert data uint8 [ N ]
// Number of update ops uint32 == N
// Update ops uint8 [ N ]
// uint8 operation = UPDATE_OP_UPSERT_2
// uint32 insert length = N
// uint8 insert data [ N ]
// uint32 number of update ops = M
// update ops [ M ]
//
// Variable fields info
// Update operation uint32 == 'v'
// Start offset uint32
// Num varchars uint32
// Bytes per offset uint32
// uint32 update operation = 'v'
// uint32 start offset
// uint32 num varchars
// uint32 bytes per offset
//
// Blobs info
// Update operation uint32 == 'b'
// Num blobs uint32 == N
// Blob lengths uint8 [ N ]
// uint32 update operation = 'b'
// uint32 num blobs = N
// uint8 blob lengths [ N ]
//
// Update operation on fixed length fields
// Update operation uint32 == '=', '+', '-'
// Field type uint32
// Null num uint32 0 => not nullable, otherwise encoded as field_null_num + 1
// Offset uint32
// Value length uint32 == N
// Value uint8 [ N ]
// uint32 update operation = '=', '+', '-'
// uint32 field type
// uint32 null num 0 => not nullable, otherwise encoded as field_null_num + 1
// uint32 offset
// uint32 value length = N
// uint8 value [ N ]
//
// Update operation on varchar fields
// Update operation uint32 == '='
// Field type uint32
// Null num uint32
// Var index uint32
// Value length uint32 == N
// Value uint8 [ N ]
// uint32 update operation = '='
// uint32 field type
// uint32 null num
// uint32 var index
// uint32 value length = N
// uint8 value [ N ]
//
// Update operation on blob fields
// Update operation uint32 == '='
// Field type uint32
// Null num uint32
// Blob index uint32
// Value length 4 == N
// Value [ N ]
// uint32 update operation = '='
// uint32 field type
// uint32 null num
// uint32 blob index
// uint32 value length = N
// uint8 value [ N ]
#include "tokudb_buffer.h"
#include "tokudb_math.h"
......@@ -820,7 +832,7 @@ static int tokudb_expand_variable_offsets(
tokudb::buffer extra_val(extra->data, 0, extra->size);
// decode the operation
uchar operation;
uint8_t operation;
extra_val.consume(&operation, sizeof operation);
assert(operation == UPDATE_OP_EXPAND_VARIABLE_OFFSETS);
......@@ -898,7 +910,7 @@ static int tokudb_expand_int_field(
int error = 0;
tokudb::buffer extra_val(extra->data, 0, extra->size);
uchar operation;
uint8_t operation;
extra_val.consume(&operation, sizeof operation);
assert(operation == UPDATE_OP_EXPAND_INT || operation == UPDATE_OP_EXPAND_UINT);
uint32_t the_offset;
......@@ -986,7 +998,7 @@ static int tokudb_expand_char_field(
int error = 0;
tokudb::buffer extra_val(extra->data, 0, extra->size);
uchar operation;
uint8_t operation;
extra_val.consume(&operation, sizeof operation);
assert(operation == UPDATE_OP_EXPAND_CHAR || operation == UPDATE_OP_EXPAND_BINARY);
uint32_t the_offset;
......@@ -1060,11 +1072,9 @@ namespace tokudb {
class var_fields {
public:
var_fields() : m_initialized(false) {
var_fields() {
}
void init_var_fields(uint32_t var_offset, uint32_t offset_bytes, uint32_t bytes_per_offset, tokudb::buffer *val_buffer) {
if (m_initialized)
return;
assert(bytes_per_offset == 0 || bytes_per_offset == 1 || bytes_per_offset == 2);
m_var_offset = var_offset;
m_val_offset = m_var_offset + offset_bytes;
......@@ -1076,10 +1086,6 @@ class var_fields {
m_num_fields = 0;
}
m_val_buffer = val_buffer;
m_initialized = true;
}
bool is_initialized() {
return m_initialized;
}
uint32_t value_offset(uint32_t var_index);
uint32_t value_length(uint32_t var_index);
......@@ -1095,7 +1101,6 @@ class var_fields {
uint32_t m_bytes_per_offset;
uint32_t m_num_fields;
tokudb::buffer *m_val_buffer;
bool m_initialized;
};
// Return the ith variable length offset
......@@ -1150,7 +1155,6 @@ uint32_t var_fields::end_offset() {
}
void var_fields::replace(uint32_t var_index, void *new_val_ptr, uint32_t new_val_length) {
assert(m_initialized);
// replace the new val with the extra val
uint32_t the_offset = value_offset(var_index);
uint32_t old_s = value_length(var_index);
......@@ -1163,21 +1167,17 @@ void var_fields::replace(uint32_t var_index, void *new_val_ptr, uint32_t new_val
class blob_fields {
public:
blob_fields() : m_initialized(false) {
blob_fields() {
}
bool is_initialized() {
return m_initialized;
}
void init_blob_fields(uint32_t num_blobs, uint8_t *blob_lengths, tokudb::buffer *val_buffer) {
if (m_initialized)
return;
void init_blob_fields(uint32_t num_blobs, const uint8_t *blob_lengths, tokudb::buffer *val_buffer) {
m_num_blobs = num_blobs; m_blob_lengths = blob_lengths; m_val_buffer = val_buffer;
m_initialized = true;
}
void start_blobs(uint32_t offset) {
m_blob_offset = offset;
}
void replace(uint32_t blob_index, uint32_t length, void *p);
void expand_length(uint32_t blob_index, uint8_t old_length_length, uint8_t new_length_length);
private:
uint32_t read_length(uint32_t offset, size_t size);
void write_length(uint32_t offset, size_t size, uint32_t new_length);
......@@ -1185,9 +1185,8 @@ class blob_fields {
private:
uint32_t m_blob_offset;
uint32_t m_num_blobs;
uint8_t *m_blob_lengths;
const uint8_t *m_blob_lengths;
tokudb::buffer *m_val_buffer;
bool m_initialized;
};
uint32_t blob_fields::read_length(uint32_t offset, size_t blob_length) {
......@@ -1212,7 +1211,6 @@ uint32_t blob_fields::blob_offset(uint32_t blob_index) {
}
void blob_fields::replace(uint32_t blob_index, uint32_t new_length, void *new_value) {
assert(m_initialized);
assert(blob_index < m_num_blobs);
// compute the ith blob offset
......@@ -1229,6 +1227,20 @@ void blob_fields::replace(uint32_t blob_index, uint32_t new_length, void *new_va
write_length(offset, blob_length, new_length);
}
void blob_fields::expand_length(uint32_t blob_index, uint8_t old_length_length, uint8_t new_length_length) {
assert(blob_index < m_num_blobs);
assert(old_length_length == m_blob_lengths[blob_index]);
// compute the ith blob offset
uint32_t offset = blob_offset(blob_index);
// read the blob length
uint32_t blob_length = read_length(offset, old_length_length);
// expand the length
m_val_buffer->replace(offset, old_length_length, &blob_length, new_length_length);
}
class value_map {
public:
value_map(tokudb::buffer *val_buffer) : m_val_buffer(val_buffer) {
......@@ -1238,7 +1250,7 @@ class value_map {
m_var_fields.init_var_fields(var_offset, offset_bytes, bytes_per_offset, m_val_buffer);
}
void init_blob_fields(uint32_t num_blobs, uint8_t *blob_lengths) {
void init_blob_fields(uint32_t num_blobs, const uint8_t *blob_lengths) {
m_blob_fields.init_blob_fields(num_blobs, blob_lengths, m_val_buffer);
}
......@@ -1261,6 +1273,8 @@ class value_map {
maybe_clear_null(field_null_num);
}
void expand_blob_lengths(uint32_t num_blob, const uint8_t *old_length, const uint8_t *new_length);
void int_op(uint32_t operation, uint32_t the_offset, uint32_t length, uint32_t field_null_num,
tokudb::buffer &old_val, void *extra_val);
......@@ -1382,6 +1396,78 @@ void value_map::uint_op(uint32_t operation, uint32_t the_offset, uint32_t length
}
}
void value_map::expand_blob_lengths(uint32_t num_blob, const uint8_t *old_length, const uint8_t *new_length) {
uint8_t current_length[num_blob];
memcpy(current_length, old_length, num_blob);
for (uint32_t i = 0; i < num_blob; i++) {
if (new_length[i] > current_length[i]) {
m_blob_fields.init_blob_fields(num_blob, current_length, m_val_buffer);
m_blob_fields.start_blobs(m_var_fields.end_offset());
m_blob_fields.expand_length(i, current_length[i], new_length[i]);
current_length[i] = new_length[i];
}
}
}
}
static uint32_t consume_uint32(tokudb::buffer &b) {
uint32_t n;
size_t s = b.consume_ui<uint32_t>(&n);
assert(s > 0);
return n;
}
static uint8_t *consume_uint8_array(tokudb::buffer &b, uint32_t array_size) {
uint8_t *p = (uint8_t *) b.consume_ptr(array_size);
assert(p);
return p;
}
static int tokudb_expand_blobs(
DB* db,
const DBT *key_dbt,
const DBT *old_val_dbt,
const DBT *extra,
void (*set_val)(const DBT *new_val_dbt, void *set_extra),
void *set_extra
)
{
tokudb::buffer extra_val(extra->data, 0, extra->size);
uint8_t operation;
extra_val.consume(&operation, sizeof operation);
assert(operation == UPDATE_OP_EXPAND_BLOB);
if (old_val_dbt != NULL) {
// new val = old val
tokudb::buffer new_val;
new_val.append(old_val_dbt->data, old_val_dbt->size);
tokudb::value_map vd(&new_val);
// decode variable field info
uint32_t var_field_offset = consume_uint32(extra_val);
uint32_t var_offset_bytes = consume_uint32(extra_val);
uint32_t bytes_per_offset = consume_uint32(extra_val);
vd.init_var_fields(var_field_offset, var_offset_bytes, bytes_per_offset);
// decode blob info
uint32_t num_blob = consume_uint32(extra_val);
const uint8_t *old_blob_length = consume_uint8_array(extra_val, num_blob);
const uint8_t *new_blob_length = consume_uint8_array(extra_val, num_blob);
assert(extra_val.size() == extra_val.limit());
// expand blob lengths
vd.expand_blob_lengths(num_blob, old_blob_length, new_blob_length);
// set the new val
DBT new_val_dbt; memset(&new_val_dbt, 0, sizeof new_val_dbt);
new_val_dbt.data = new_val.data();
new_val_dbt.size = new_val.size();
set_val(&new_val_dbt, set_extra);
}
return 0;
}
// Decode and apply a sequence of update operations defined in the extra to the old value and put the result in the new value.
......@@ -1445,7 +1531,7 @@ static int tokudb_update_1_fun(
{
tokudb::buffer extra_val(extra->data, 0, extra->size);
uchar operation;
uint8_t operation;
extra_val.consume(&operation, sizeof operation);
assert(operation == UPDATE_OP_UPDATE_1);
......@@ -1495,7 +1581,7 @@ static int tokudb_upsert_1_fun(
{
tokudb::buffer extra_val(extra->data, 0, extra->size);
uchar operation;
uint8_t operation;
extra_val.consume(&operation, sizeof operation);
assert(operation == UPDATE_OP_UPSERT_1);
......@@ -1544,24 +1630,24 @@ static int tokudb_upsert_1_fun(
// Decode and apply a sequence of update operations defined in the extra to the old value and put the result in the new value.
static void apply_2_updates(tokudb::value_map &vd, tokudb::buffer &new_val, tokudb::buffer &old_val, tokudb::buffer &extra_val) {
uint32_t num_updates; extra_val.consume_ui<uint32_t>(&num_updates);
uint32_t num_updates = consume_uint32(extra_val);
for (uint32_t i = 0; i < num_updates; i++) {
uint32_t update_operation; extra_val.consume_ui<uint32_t>(&update_operation);
uint32_t update_operation = consume_uint32(extra_val);
if (update_operation == 'v') {
uint32_t var_field_offset; extra_val.consume_ui<uint32_t>(&var_field_offset);
uint32_t var_offset_bytes; extra_val.consume_ui<uint32_t>(&var_offset_bytes);
uint32_t bytes_per_offset; extra_val.consume_ui<uint32_t>(&bytes_per_offset);
uint32_t var_field_offset = consume_uint32(extra_val);
uint32_t var_offset_bytes = consume_uint32(extra_val);
uint32_t bytes_per_offset = consume_uint32(extra_val);
vd.init_var_fields(var_field_offset, var_offset_bytes, bytes_per_offset);
} else if (update_operation == 'b') {
uint32_t num_blobs; extra_val.consume_ui<uint32_t>(&num_blobs);
uint8_t *blob_lengths = (uint8_t *)extra_val.consume_ptr(num_blobs);
uint32_t num_blobs = consume_uint32(extra_val);
const uint8_t *blob_lengths = consume_uint8_array(extra_val, num_blobs);
vd.init_blob_fields(num_blobs, blob_lengths);
} else {
uint32_t field_type; extra_val.consume_ui<uint32_t>(&field_type);
uint32_t field_null_num; extra_val.consume_ui<uint32_t>(&field_null_num);
uint32_t the_offset; extra_val.consume_ui<uint32_t>(&the_offset);
uint32_t extra_val_length; extra_val.consume_ui<uint32_t>(&extra_val_length);
void *extra_val_ptr = extra_val.consume_ptr(extra_val_length);
uint32_t field_type = consume_uint32(extra_val);
uint32_t field_null_num = consume_uint32(extra_val);
uint32_t the_offset = consume_uint32(extra_val);
uint32_t extra_val_length = consume_uint32(extra_val);
void *extra_val_ptr = extra_val.consume_ptr(extra_val_length); assert(extra_val_ptr);
switch (field_type) {
case UPDATE_TYPE_INT:
......@@ -1661,9 +1747,9 @@ static int tokudb_upsert_2_fun(
extra_val.consume(&op, sizeof op);
assert(op == UPDATE_OP_UPSERT_2);
uint32_t insert_length; extra_val.consume_ui<uint32_t>(&insert_length);
uint32_t insert_length = consume_uint32(extra_val);
assert(insert_length < extra_val.limit());
void *insert_row = extra_val.consume_ptr(insert_length);
void *insert_row = extra_val.consume_ptr(insert_length); assert(insert_row);
if (old_val_dbt == NULL) {
// insert a new row
......@@ -1705,8 +1791,9 @@ int tokudb_update_fun(
void *set_extra
)
{
uchar *extra_pos = (uchar *)extra->data;
uchar operation = extra_pos[0];
assert(extra->size > 0);
uint8_t *extra_pos = (uchar *)extra->data;
uint8_t operation = extra_pos[0];
int error;
switch (operation) {
case UPDATE_OP_COL_ADD_OR_DROP:
......@@ -1723,6 +1810,9 @@ int tokudb_update_fun(
case UPDATE_OP_EXPAND_BINARY:
error = tokudb_expand_char_field(db, key, old_val, extra, set_val, set_extra);
break;
case UPDATE_OP_EXPAND_BLOB:
error = tokudb_expand_blobs(db, key, old_val, extra, set_val, set_extra);
break;
case UPDATE_OP_UPDATE_1:
error = tokudb_update_1_fun(db, key, old_val, extra, set_val, set_extra);
break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment