summaryrefslogtreecommitdiff
path: root/mysql-test/t/partition_error.test
diff options
context:
space:
mode:
authorunknown <mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-05-31 13:32:14 -0400
committerunknown <mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-05-31 13:32:14 -0400
commita706b2a33a8450f8ce8b3da728d39eb72271d0a3 (patch)
tree39ade1255f49b17f2254392e7ecc88ecfba1018c /mysql-test/t/partition_error.test
parent34a11a322d5a534cceec4d13293a491cf5077c0d (diff)
downloadmariadb-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.test28
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'));