diff options
author | unknown <monty@donna.mysql.com> | 2001-01-31 04:47:25 +0200 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2001-01-31 04:47:25 +0200 |
commit | 495231ea25a82d97e69e96ff9e5d7688434cfff2 (patch) | |
tree | 851a8ba92ed9883efe2504e0726aae6843c317c0 /mysql-test | |
parent | bf1f8fd3eb4b98dadd265f8ed10d92220dabe1bb (diff) | |
download | mariadb-git-495231ea25a82d97e69e96ff9e5d7688434cfff2.tar.gz |
New myisamchk option --sort-recover
Allow delete of crashed MyISAM tables
Fixed bug when BLOB was first part of key
Fixed bug when using result from CASE in GROUP BY
Fixed core-dump bug in monthname()
Optimized calling of check_db_name()
Docs/manual.texi:
Added more information about myisamchk
client/mysqladmin.c:
Added error message for CREATE database and fixed possible overflow bug
include/myisam.h:
New myisamchk option --sort-recover
libmysql/libmysql.c:
Removed commented code
Don't define getpwuid (breaks on SCO 3.2)
myisam/mi_check.c:
Fixed (new) bug when using --recover --optimize
myisam/mi_delete_table.c:
Allow delete of crashed tables
myisam/mi_key.c:
Fixed bug when BLOB was first part of key
myisam/myisamchk.c:
New myisamchk option --sort-recover
mysql-test/r/case.result:
New test cases to check for reported bugs
mysql-test/r/func_time.result:
New test cases to check for reported bugs
mysql-test/r/type_blob.result:
New test cases to check for reported bugs
mysql-test/r/type_datetime.result:
New test cases to check for reported bugs
mysql-test/t/case.test:
New test cases to check for reported bugs
mysql-test/t/func_time.test:
New test cases to check for reported bugs
mysql-test/t/type_blob.test:
New test cases to check for reported bugs
mysql-test/t/type_datetime.test:
New test cases to check for reported bugs
mysys/my_bitmap.c:
Optimize
sql-bench/limits/ms-sql.cfg:
Updated limits
sql/item_cmpfunc.cc:
Fixed bug when using result from CASE in GROUP BY
sql/item_cmpfunc.h:
Fixed bug when using result from CASE in GROUP BY
sql/item_timefunc.cc:
Fixed core-dump bug in monthname()
sql/sql_db.cc:
Optimized calling of check_db_name()
sql/sql_parse.cc:
Optimized calling of check_db_name()
sql/table.cc:
Fixed typo
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/case.result | 8 | ||||
-rw-r--r-- | mysql-test/r/func_time.result | 6 | ||||
-rw-r--r-- | mysql-test/r/type_blob.result | 4 | ||||
-rw-r--r-- | mysql-test/r/type_datetime.result | 2 | ||||
-rw-r--r-- | mysql-test/t/case.test | 11 | ||||
-rw-r--r-- | mysql-test/t/func_time.test | 16 | ||||
-rw-r--r-- | mysql-test/t/type_blob.test | 10 | ||||
-rw-r--r-- | mysql-test/t/type_datetime.test | 3 |
8 files changed, 59 insertions, 1 deletions
diff --git a/mysql-test/r/case.result b/mysql-test/r/case.result index 66538c2fbee..073164aa035 100644 --- a/mysql-test/r/case.result +++ b/mysql-test/r/case.result @@ -32,3 +32,11 @@ case when 1>0 then "TRUE" else "FALSE" END TRUE case when 1<0 then "TRUE" else "FALSE" END FALSE +fcase count(*) +0 2 +2 1 +3 1 +fcase count(*) +nothing 2 +one 1 +two 1 diff --git a/mysql-test/r/func_time.result b/mysql-test/r/func_time.result index 79a03bdbd48..5c55475e628 100644 --- a/mysql-test/r/func_time.result +++ b/mysql-test/r/func_time.result @@ -186,3 +186,9 @@ extract(SECOND FROM "1999-01-02 10:11:12") 12 ctime hour(ctime) 2001-01-12 12:23:40 12 +monthname(date) +NULL +January +monthname(date) +NULL +January diff --git a/mysql-test/r/type_blob.result b/mysql-test/r/type_blob.result index 0ead1c30200..bc80ba38452 100644 --- a/mysql-test/r/type_blob.result +++ b/mysql-test/r/type_blob.result @@ -257,3 +257,7 @@ hello hello word count(*) 2 +foobar boggle +fish 10 +foobar boggle +fish 10 diff --git a/mysql-test/r/type_datetime.result b/mysql-test/r/type_datetime.result index 3a816e2ff68..7028b5ffe33 100644 --- a/mysql-test/r/type_datetime.result +++ b/mysql-test/r/type_datetime.result @@ -13,6 +13,8 @@ t 9999-12-31 23:59:59 Table Op Msg_type Msg_text test.t1 optimize status OK +Table Op Msg_type Msg_text +test.t1 check status OK t 2000-01-01 00:00:00 2069-12-31 00:00:00 diff --git a/mysql-test/t/case.test b/mysql-test/t/case.test index 9e594675c19..79511f5f546 100644 --- a/mysql-test/t/case.test +++ b/mysql-test/t/case.test @@ -2,6 +2,8 @@ # Testing of CASE # +drop table if exists t1; + select CASE "b" when "a" then 1 when "b" then 2 END; select CASE "c" when "a" then 1 when "b" then 2 END; select CASE "c" when "a" then 1 when "b" then 2 ELSE 3 END; @@ -19,3 +21,12 @@ select (case 1/0 when "a" then "true" END) | 0; select (case 1/0 when "a" then "true" END) + 0.0; select case when 1>0 then "TRUE" else "FALSE" END; select case when 1<0 then "TRUE" else "FALSE" END; + +# +# Test bug when using GROUP BY on CASE +# +create table t1 (a int); +insert into t1 values(1),(2),(3),(4); +select case a when 1 then 2 when 2 then 3 else 0 end as fcase, count(*) from t1 group by fcase; +select case a when 1 then "one" when 2 then "two" else "nothing" end as fcase, count(*) from t1 group by fcase; +drop table t1; diff --git a/mysql-test/t/func_time.test b/mysql-test/t/func_time.test index d6427d121ec..f9424ed4320 100644 --- a/mysql-test/t/func_time.test +++ b/mysql-test/t/func_time.test @@ -1,6 +1,8 @@ # # time functions # +drop table if exists t1,t2; + select from_days(to_days("960101")),to_days(960201)-to_days("19960101"),to_days(date_add(curdate(), interval 1 day))-to_days(curdate()),weekday("1997-11-29"); select period_add("9602",-12),period_diff(199505,"9404") ; select now()-now(),weekday(curdate())-weekday(now()),unix_timestamp()-unix_timestamp(now()); @@ -99,9 +101,21 @@ select extract(MINUTE FROM "10:11:12"); select extract(MINUTE_SECOND FROM "10:11:12"); select extract(SECOND FROM "1999-01-02 10:11:12"); -drop table if exists t1; create table t1 (ctime varchar(20)); insert into t1 values ('2001-01-12 12:23:40'); select ctime, hour(ctime) from t1; drop table t1; +# +# Test bug with monthname() and NULL +# + +create table t1 (id int); +create table t2 (id int, date date); +insert into t1 values (1); +insert into t2 values (1, "0000-00-00"); +insert into t1 values (2); +insert into t2 values (2, "2000-01-01"); +select monthname(date) from t1 inner join t2 on t1.id = t2.id; +select monthname(date) from t1 inner join t2 on t1.id = t2.id order by t1.id; +drop table t1,t2; diff --git a/mysql-test/t/type_blob.test b/mysql-test/t/type_blob.test index 80c7f3538dd..2b23617ec8b 100644 --- a/mysql-test/t/type_blob.test +++ b/mysql-test/t/type_blob.test @@ -239,3 +239,13 @@ INSERT INTO t1 VALUES (0,'traktor','1111111111111'); INSERT INTO t1 VALUES (1,'traktor','1111111111111111111111111'); select count(*) from t1 where f2='traktor'; drop table t1; + +# +# Test of found bug when blob is first key part +# + +create table t1 (foobar tinyblob not null, boggle smallint not null, key (foobar(32), boggle)); +insert into t1 values ('fish', 10),('bear', 20); +select foobar, boggle from t1 where foobar = 'fish'; +select foobar, boggle from t1 where foobar = 'fish' and boggle = 10; +drop table t1; diff --git a/mysql-test/t/type_datetime.test b/mysql-test/t/type_datetime.test index 36f9629b53b..1e7bd11bab1 100644 --- a/mysql-test/t/type_datetime.test +++ b/mysql-test/t/type_datetime.test @@ -1,11 +1,14 @@ # # testing different DATETIME ranges # + +drop table if exists t1; create table t1 (t datetime); insert into t1 values(101),(691231),(700101),(991231),(10000101),(99991231),(101000000),(691231000000),(700101000000),(991231235959),(10000101000000),(99991231235959); select * from t1; delete from t1 where t > 0; optimize table t1; +check table t1; insert into t1 values("000101"),("691231"),("700101"),("991231"),("00000101"),("00010101"),("99991231"),("00101000000"),("691231000000"),("700101000000"),("991231235959"),("10000101000000"),("99991231235959"); select * from t1; drop table t1; |