summaryrefslogtreecommitdiff
path: root/sql/partition_info.cc
diff options
context:
space:
mode:
authorunknown <mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-05-31 13:51:01 -0400
committerunknown <mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-05-31 13:51:01 -0400
commitbc37b287b4f7f1716282c28e1808e010ed39d274 (patch)
treeb6bde0eeab254f838c4a0e127ffffd44b077dcbe /sql/partition_info.cc
parentc402b00638a7912fd8bc55ab38db9a30eaeaf879 (diff)
parenta706b2a33a8450f8ce8b3da728d39eb72271d0a3 (diff)
downloadmariadb-git-bc37b287b4f7f1716282c28e1808e010ed39d274.tar.gz
Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug18198 sql/item_cmpfunc.h: Auto merged sql/item_func.h: Auto merged sql/item_strfunc.h: Auto merged sql/item_timefunc.h: Auto merged sql/partition_info.cc: Auto merged sql/item.h: manual merge sql/share/errmsg.txt: manual merge
Diffstat (limited to 'sql/partition_info.cc')
-rw-r--r--sql/partition_info.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/sql/partition_info.cc b/sql/partition_info.cc
index 0924a8adf6e..289296fcac3 100644
--- a/sql/partition_info.cc
+++ b/sql/partition_info.cc
@@ -685,8 +685,20 @@ bool partition_info::check_partition_info(handlerton **eng_type,
uint i, tot_partitions;
bool result= TRUE;
char *same_name;
+ bool part_expression_ok= TRUE;
DBUG_ENTER("partition_info::check_partition_info");
+ if (part_type != HASH_PARTITION || !list_of_part_fields)
+ part_expr->walk(&Item::check_partition_func_processor,
+ (byte*)(&part_expression_ok));
+ if (is_sub_partitioned() && !list_of_subpart_fields)
+ subpart_expr->walk(&Item::check_partition_func_processor,
+ (byte*)(&part_expression_ok));
+ if (!part_expression_ok)
+ {
+ my_error(ER_PARTITION_FUNCTION_IS_NOT_ALLOWED, MYF(0));
+ goto end;
+ }
if (unlikely(!is_sub_partitioned() &&
!(use_default_subpartitions && use_default_no_subpartitions)))
{