diff options
author | unknown <monty@mashka.mysql.fi> | 2002-07-24 19:55:08 +0300 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2002-07-24 19:55:08 +0300 |
commit | 72dec69046e315080d17e4764f911c4c9f29459c (patch) | |
tree | 31ee919bea7e4456572b62d5ea7302dc58bc0b6a /mysql-test | |
parent | c911e9d72161045364893a838624c1484590a9cb (diff) | |
download | mariadb-git-72dec69046e315080d17e4764f911c4c9f29459c.tar.gz |
Removed wrong implementation of CUBE/ROLLUP
Fixed bugfix of INSERT ... SET db_name.table_name.column_name
Changed locking to external-locking
Fix client hangup for some invalid SQL queries.
Docs/manual.texi:
Changelog & recent incompatible changes to 4.0.3
include/mysqld_error.h:
New error messages
myisam/ft_boolean_search.c:
Removed compiler warning
myisam/mi_check.c:
Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_dynrec.c:
Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_extra.c:
Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_key.c:
Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_open.c:
Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/mi_packrec.c:
Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/myisamdef.h:
Change mi_fix_rec_buff_for_blob to mi_alloc_rec_buff
myisam/sort.c:
Fixed uninitialized variable
mysql-test/r/insert_set.result:
Change test case to use database foo
mysql-test/r/union.result:
Test wrong usage of union
mysql-test/t/insert_set.test:
Test bug in insert
mysql-test/t/union.test:
Test wrong usage of union
sql/item.h:
Indentation cleanup
sql/item_cmpfunc.h:
Indentation cleanup
sql/item_func.h:
Indentation cleanup
sql/item_strfunc.h:
Indentation cleanup
sql/item_sum.h:
Indentation cleanup
sql/item_timefunc.h:
Indentation cleanup
sql/item_uniq.h:
Indentation cleanup
sql/mysql_priv.h:
Fix that we always generate an error message when calling YYABORT
sql/mysqld.cc:
Changed command line arguments regarding locking to always use --external-locking
Disable external locking by default
sql/procedure.h:
Cleanup
sql/set_var.cc:
change locking -> external_locking
sql/share/czech/errmsg.txt:
New error messages
sql/share/danish/errmsg.txt:
New error messages
sql/share/dutch/errmsg.txt:
New error messages
sql/share/english/errmsg.txt:
New error messages
sql/share/estonian/errmsg.txt:
New error messages
sql/share/french/errmsg.txt:
New error messages
sql/share/german/errmsg.txt:
New error messages
sql/share/greek/errmsg.txt:
New error messages
sql/share/hungarian/errmsg.txt:
New error messages
sql/share/italian/errmsg.txt:
New error messages
sql/share/japanese/errmsg.txt:
New error messages
sql/share/korean/errmsg.txt:
New error messages
mysql-test/r/olap.result:
Removed CUBE/ROLLUP
mysql-test/t/olap.test:
Removed CUBE/ROLLUP
sql/share/norwegian-ny/errmsg.txt:
New error messages
sql/share/norwegian/errmsg.txt:
New error messages
sql/share/polish/errmsg.txt:
New error messages
sql/share/portuguese/errmsg.txt:
New error messages
sql/share/romanian/errmsg.txt:
New error messages
sql/share/russian/errmsg.txt:
New error messages
sql/share/slovak/errmsg.txt:
New error messages
sql/share/spanish/errmsg.txt:
New error messages
sql/share/swedish/errmsg.txt:
New error messages
sql/share/ukrainian/errmsg.txt:
New error messages
sql/sql_base.cc:
Removed wrong patch for INSERT...
sql/sql_insert.cc:
Fix bug in INSERT ... SET db_name.table_name.column_name
sql/sql_lex.h:
Changed NON_EXISTIONG_ONE -> UNSPECIFIED_OLAP_TYPE
sql/sql_olap.cc:
Removed wrong implementation of CUBE/ROLLUP
sql/sql_parse.cc:
Removed wrong implementation of CUBE/ROLLUP
Added function to give better error messages
sql/sql_select.cc:
Removed wrong implementation of CUBE/ROLLUP
sql/sql_union.cc:
Added comment
sql/sql_yacc.yy:
Fix that we always generate an error message when calling YYABORT
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/insert_set.result | 10 | ||||
-rw-r--r-- | mysql-test/r/olap.result | 121 | ||||
-rw-r--r-- | mysql-test/r/union.result | 2 | ||||
-rw-r--r-- | mysql-test/t/insert_set.test | 10 | ||||
-rw-r--r-- | mysql-test/t/olap.test | 5 | ||||
-rw-r--r-- | mysql-test/t/union.test | 7 |
6 files changed, 29 insertions, 126 deletions
diff --git a/mysql-test/r/insert_set.result b/mysql-test/r/insert_set.result index 438c2c95147..d95765c6472 100644 --- a/mysql-test/r/insert_set.result +++ b/mysql-test/r/insert_set.result @@ -1,6 +1,6 @@ -drop database if exists a; -create database a; -use a; +drop database if exists foo; +create database foo; +use foo; create table b (c int); -insert into a.b set a.b.c = '1'; -drop database a; +insert into foo.b set foo.b.c = '1'; +drop database foo; diff --git a/mysql-test/r/olap.result b/mysql-test/r/olap.result index 0842b038235..fa6008e99f7 100644 --- a/mysql-test/r/olap.result +++ b/mysql-test/r/olap.result @@ -15,124 +15,13 @@ insert into sales values ( 'Computer', 'India',2000, 1200), ( 'Computer', 'United States', 2000,1500), ( 'Calculator', 'United States', 2000,75); select product, country , year, sum(profit) from sales group by product, country, year with cube; -product country year sum(profit) -Calculator India 2000 75 -Calculator United States 1999 50 -Calculator United States 2000 150 -Computer India 1999 1200 -Computer India 2000 1200 -Computer United States 1999 1500 -Computer United States 2000 3000 -TV India 1999 100 -TV India 2000 200 -TV United States 1999 150 -TV United States 2000 150 -Calculator India 0 75 -Calculator United States 0 200 -Computer India 0 2400 -Computer United States 0 4500 -TV India 0 300 -TV United States 0 300 -Calculator ALL 1999 50 -Calculator ALL 2000 225 -Computer ALL 1999 2700 -Computer ALL 2000 4200 -TV ALL 1999 250 -TV ALL 2000 350 -ALL India 1999 1300 -ALL India 2000 1475 -ALL United States 1999 1700 -ALL United States 2000 3300 -Calculator ALL 0 275 -Computer ALL 0 6900 -TV ALL 0 600 -ALL India 0 2775 -ALL United States 0 5000 -ALL ALL 1999 3000 -ALL ALL 2000 4775 -ALL ALL 0 7775 +This version of MySQL doesn't yet support 'CUBE', explain select product, country , year, sum(profit) from sales group by product, country, year with cube; -table type possible_keys key key_len ref rows Extra -sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort -sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort -sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort -sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort -sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort -sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort -sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort -sales ALL NULL NULL NULL NULL 14 +This version of MySQL doesn't yet support 'CUBE', select product, country , year, sum(profit) from sales group by product, country, year with rollup; -product country year sum(profit) -Calculator India 2000 75 -Calculator United States 1999 50 -Calculator United States 2000 150 -Computer India 1999 1200 -Computer India 2000 1200 -Computer United States 1999 1500 -Computer United States 2000 3000 -TV India 1999 100 -TV India 2000 200 -TV United States 1999 150 -TV United States 2000 150 -ALL India 1999 1300 -ALL India 2000 1475 -ALL United States 1999 1700 -ALL United States 2000 3300 -ALL ALL 1999 3000 -ALL ALL 2000 4775 -ALL ALL 0 7775 +This version of MySQL doesn't yet support 'ROLLUP', explain select product, country , year, sum(profit) from sales group by product, country, year with rollup; -table type possible_keys key key_len ref rows Extra -sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort -sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort -sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort -sales ALL NULL NULL NULL NULL 14 +This version of MySQL doesn't yet support 'ROLLUP', select product, country , year, sum(profit) from sales group by product, country, year with cube union all select product, country , year, sum(profit) from sales group by product, country, year with rollup; -product country year sum(profit) -Calculator India 2000 75 -Calculator United States 1999 50 -Calculator United States 2000 150 -Computer India 1999 1200 -Computer India 2000 1200 -Computer United States 1999 1500 -Computer United States 2000 3000 -TV India 1999 100 -TV India 2000 200 -TV United States 1999 150 -TV United States 2000 150 -Calculator India 0 75 -Calculator United States 0 200 -Computer India 0 2400 -Computer United States 0 4500 -TV India 0 300 -TV United States 0 300 -Calculator ALL 1999 50 -Calculator ALL 2000 225 -Computer ALL 1999 2700 -Computer ALL 2000 4200 -TV ALL 1999 250 -TV ALL 2000 350 -ALL India 1999 1300 -ALL India 2000 1475 -ALL United States 1999 1700 -ALL United States 2000 3300 -Calculator ALL 0 275 -Computer ALL 0 6900 -TV ALL 0 600 -ALL India 0 2775 -ALL United States 0 5000 -ALL ALL 1999 3000 -ALL ALL 2000 4775 -ALL ALL 0 7775 -Calculator India 2000 75 -Calculator United States 1999 50 -Calculator United States 2000 150 -Computer India 1999 1200 -Computer India 2000 1200 -Computer United States 1999 1500 -Computer United States 2000 3000 -TV India 1999 100 -TV India 2000 200 -TV United States 1999 150 -TV United States 2000 150 +This version of MySQL doesn't yet support 'CUBE', drop table sales; diff --git a/mysql-test/r/union.result b/mysql-test/r/union.result index 52f4d4a14f6..896901dd8af 100644 --- a/mysql-test/r/union.result +++ b/mysql-test/r/union.result @@ -129,6 +129,8 @@ select * from t1 union select a from t2; The used SELECT statements have a different number of columns select a from t1 union select * from t2; The used SELECT statements have a different number of columns +select * from t1 union select SQL_BUFFER_RESULT * from t2; +Wrong usage/placement of 'SQL_BUFFER_RESULT' create table t3 select a,b from t1 union all select a,b from t2; insert into t3 select a,b from t1 union all select a,b from t2; replace into t3 select a,b as c from t1 union all select a,b from t2; diff --git a/mysql-test/t/insert_set.test b/mysql-test/t/insert_set.test index 41d20eaefdb..2f7e8408ea3 100644 --- a/mysql-test/t/insert_set.test +++ b/mysql-test/t/insert_set.test @@ -2,9 +2,9 @@ # Test of mysqld crash with fully qualified column names # -drop database if exists a; -create database a; -use a; +drop database if exists foo; +create database foo; +use foo; create table b (c int); -insert into a.b set a.b.c = '1'; -drop database a; +insert into foo.b set foo.b.c = '1'; +drop database foo; diff --git a/mysql-test/t/olap.test b/mysql-test/t/olap.test index b91bf2fb193..8fe547db615 100644 --- a/mysql-test/t/olap.test +++ b/mysql-test/t/olap.test @@ -14,9 +14,14 @@ insert into sales values ( 'Computer', 'India',2000, 1200), ( 'Computer', 'India', 1999,1200), ( 'Computer', 'United States', 2000,1500), ( 'Calculator', 'United States', 2000,75); +--error 1235 select product, country , year, sum(profit) from sales group by product, country, year with cube; +--error 1235 explain select product, country , year, sum(profit) from sales group by product, country, year with cube; +--error 1235 select product, country , year, sum(profit) from sales group by product, country, year with rollup; +--error 1235 explain select product, country , year, sum(profit) from sales group by product, country, year with rollup; +--error 1235 select product, country , year, sum(profit) from sales group by product, country, year with cube union all select product, country , year, sum(profit) from sales group by product, country, year with rollup; drop table sales; diff --git a/mysql-test/t/union.test b/mysql-test/t/union.test index d13b5dec662..6e6b43ebe3b 100644 --- a/mysql-test/t/union.test +++ b/mysql-test/t/union.test @@ -23,7 +23,11 @@ select 't1',b,count(*) from t1 group by b UNION select 't2',b,count(*) from t2 g explain (select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by b desc; (select sql_calc_found_rows a,b from t1 limit 2) union all (select a,b from t2 order by a) limit 2; select found_rows(); + +# # Test some error conditions with UNION +# + explain select a,b from t1 union all select a,b from t2; --error 1054 @@ -53,6 +57,9 @@ select * from t1 union select a from t2; --error 1222 select a from t1 union select * from t2; +--error 1234 +select * from t1 union select SQL_BUFFER_RESULT * from t2; + # Test CREATE, INSERT and REPLACE create table t3 select a,b from t1 union all select a,b from t2; insert into t3 select a,b from t1 union all select a,b from t2; |