diff options
author | unknown <mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se> | 2006-05-31 13:32:14 -0400 |
---|---|---|
committer | unknown <mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se> | 2006-05-31 13:32:14 -0400 |
commit | a706b2a33a8450f8ce8b3da728d39eb72271d0a3 (patch) | |
tree | 39ade1255f49b17f2254392e7ecc88ecfba1018c /mysql-test/t/partition_error.test | |
parent | 34a11a322d5a534cceec4d13293a491cf5077c0d (diff) | |
download | mariadb-git-a706b2a33a8450f8ce8b3da728d39eb72271d0a3.tar.gz |
BUG#18198: Many strange partition functions were allowed, now only strictly allowed functions are ok
mysql-test/r/partition_error.result:
New test cases
mysql-test/t/partition_error.test:
New test cases
sql/item.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_cmpfunc.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_func.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_strfunc.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_timefunc.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_xmlfunc.h:
Added method check_partition_func_processor for check if item tree is valid
Diffstat (limited to 'mysql-test/t/partition_error.test')
-rw-r--r-- | mysql-test/t/partition_error.test | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/mysql-test/t/partition_error.test b/mysql-test/t/partition_error.test index 03a2ab41807..659f0b8cef4 100644 --- a/mysql-test/t/partition_error.test +++ b/mysql-test/t/partition_error.test @@ -747,3 +747,31 @@ CREATE TABLE t1(a int) --error ER_NO_PARTITION_FOR_GIVEN_VALUE insert into t1 values (10); drop table t1; + +# +# Bug 18198 Partitions: Verify that erroneus partition functions doesn't work +# +create table t1 (v varchar(12)) +partition by range (ascii(v)) +(partition p0 values less than (10)); +drop table t1; + +-- error 1064 +create table t1 (a int) +partition by hash (rand(a)); +-- error 1064 +create table t1 (a int) +partition by hash(CURTIME() + a); +-- error 1064 +create table t1 (a int) +partition by hash (NOW()+a); +-- error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED +create table t1 (a int) +partition by hash (extract(hour from convert_tz(a, '+00:00', '+00:00'))); +-- error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED +create table t1 (a int) +partition by range (a + (select count(*) from t1)) +(partition p1 values less than (1)); +-- error ER_PARTITION_FUNC_NOT_ALLOWED_ERROR +create table t1 (a char(10)) +partition by hash (extractvalue(a,'a')); |