diff options
author | unknown <brian@zim.tangent.org> | 2006-02-07 22:42:57 -0800 |
---|---|---|
committer | unknown <brian@zim.tangent.org> | 2006-02-07 22:42:57 -0800 |
commit | 4bc2c558081252850399bf6a0197dae30145cfc5 (patch) | |
tree | 7770998af161d1eeb1a27e1e53e19e3bd6afa97c /mysql-test | |
parent | f43fa49b3d2c2bebc61564900c014159cb2f51f1 (diff) | |
download | mariadb-git-4bc2c558081252850399bf6a0197dae30145cfc5.tar.gz |
The handlerton structures for archive and CSV had not been updated. Nicht so gute. I also fixed CSV to use fast alter table and put in a test in archive in case someone tries to do the same there (hint... it won't work).
mysql-test/r/archive.result:
New results
mysql-test/r/csv.result:
New results
mysql-test/t/archive.test:
Adding test for new fast alter table
mysql-test/t/csv.test:
Adding test for new fast alter table
sql/ha_archive.cc:
Updating handlerton to remove warnings.
storage/csv/ha_tina.cc:
Updating handlerton to remove warnings, and updated CSV to handle fast alter table.
storage/csv/ha_tina.h:
New method.
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/archive.result | 55 | ||||
-rw-r--r-- | mysql-test/r/csv.result | 55 | ||||
-rw-r--r-- | mysql-test/t/archive.test | 28 | ||||
-rw-r--r-- | mysql-test/t/csv.test | 26 |
4 files changed, 164 insertions, 0 deletions
diff --git a/mysql-test/r/archive.result b/mysql-test/r/archive.result index 201383b06be..26d95a4dc8d 100644 --- a/mysql-test/r/archive.result +++ b/mysql-test/r/archive.result @@ -12537,4 +12537,59 @@ SELECT c FROM t5 WHERE a IN (32, 23, 5); c NULL posterity +drop table t1; +create table t1 (v varchar(32)); +insert into t1 values ('def'),('abc'),('hij'),('3r4f'); +select * from t1; +v +def +abc +hij +3r4f +alter table t1 change v v2 varchar(32); +select * from t1; +v2 +def +abc +hij +3r4f +alter table t1 change v2 v varchar(64); +select * from t1; +v +def +abc +hij +3r4f +update t1 set v = 'lmn' where v = 'hij'; +select * from t1; +v +def +abc +lmn +3r4f +alter table t1 add i int auto_increment not null primary key first; +select * from t1; +i v +1 def +2 abc +3 lmn +4 3r4f +update t1 set i=5 where i=3; +select * from t1; +i v +1 def +2 abc +5 lmn +4 3r4f +alter table t1 change i i bigint; +select * from t1; +i v +1 def +2 abc +5 lmn +4 3r4f +alter table t1 add unique key (i, v); +select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn'); +i v +4 3r4f drop table t1, t2, t4, t5; diff --git a/mysql-test/r/csv.result b/mysql-test/r/csv.result index 6f58fdfe54a..9e63b82c29d 100644 --- a/mysql-test/r/csv.result +++ b/mysql-test/r/csv.result @@ -5017,3 +5017,58 @@ insert t1 values (1),(2),(3),(4),(5); truncate table t1; affected rows: 0 drop table t1; +create table t1 (v varchar(32)); +insert into t1 values ('def'),('abc'),('hij'),('3r4f'); +select * from t1; +v +def +abc +hij +3r4f +alter table t1 change v v2 varchar(32); +select * from t1; +v2 +def +abc +hij +3r4f +alter table t1 change v2 v varchar(64); +select * from t1; +v +def +abc +hij +3r4f +update t1 set v = 'lmn' where v = 'hij'; +select * from t1; +v +def +abc +lmn +3r4f +alter table t1 add i int auto_increment not null primary key first; +select * from t1; +i v +1 def +2 abc +3 lmn +4 3r4f +update t1 set i=5 where i=3; +select * from t1; +i v +1 def +2 abc +5 lmn +4 3r4f +alter table t1 change i i bigint; +select * from t1; +i v +1 def +2 abc +5 lmn +4 3r4f +alter table t1 add unique key (i, v); +select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn'); +i v +4 3r4f +drop table t1; diff --git a/mysql-test/t/archive.test b/mysql-test/t/archive.test index 185210b8c54..68e3192e8a4 100644 --- a/mysql-test/t/archive.test +++ b/mysql-test/t/archive.test @@ -1456,6 +1456,34 @@ SELECT c FROM t5; SELECT c FROM t5 WHERE a =3; SELECT c FROM t5 WHERE a IN (32, 23, 5); +# Adding this in case someone tries to add fast alter table and doesn't tes +# it. +# Some additional tests for new, faster alter table. Note that most of the +# whole alter table code is being tested all around the test suite already. +# + +drop table t1; +create table t1 (v varchar(32)); +insert into t1 values ('def'),('abc'),('hij'),('3r4f'); +select * from t1; +# Fast alter, no copy performed +alter table t1 change v v2 varchar(32); +select * from t1; +# Fast alter, no copy performed +alter table t1 change v2 v varchar(64); +select * from t1; +update t1 set v = 'lmn' where v = 'hij'; +select * from t1; +# Regular alter table +alter table t1 add i int auto_increment not null primary key first; +select * from t1; +update t1 set i=5 where i=3; +select * from t1; +alter table t1 change i i bigint; +select * from t1; +alter table t1 add unique key (i, v); +select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn'); + # # Cleanup, test is over # diff --git a/mysql-test/t/csv.test b/mysql-test/t/csv.test index 6f0f42f109c..916a2132deb 100644 --- a/mysql-test/t/csv.test +++ b/mysql-test/t/csv.test @@ -1418,3 +1418,29 @@ truncate table t1; -- truncate --disable_info drop table t1; +# +# Some additional tests for new, faster alter table. Note that most of the +# whole alter table code is being tested all around the test suite already. +# + +create table t1 (v varchar(32)); +insert into t1 values ('def'),('abc'),('hij'),('3r4f'); +select * from t1; +# Fast alter, no copy performed +alter table t1 change v v2 varchar(32); +select * from t1; +# Fast alter, no copy performed +alter table t1 change v2 v varchar(64); +select * from t1; +update t1 set v = 'lmn' where v = 'hij'; +select * from t1; +# Regular alter table +alter table t1 add i int auto_increment not null primary key first; +select * from t1; +update t1 set i=5 where i=3; +select * from t1; +alter table t1 change i i bigint; +select * from t1; +alter table t1 add unique key (i, v); +select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn'); +drop table t1; |