diff options
author | unknown <mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se> | 2006-05-24 13:41:04 -0400 |
---|---|---|
committer | unknown <mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se> | 2006-05-24 13:41:04 -0400 |
commit | ed55bc9e6ab34102cbf064e496e2bb40ee79d0cc (patch) | |
tree | 680280c0e4ac213352352b07c05d0e7107b6e337 /sql/partition_info.cc | |
parent | a04d9fa947ec5fc22368c15d7c6c7ba47898405f (diff) | |
parent | 301c7e0721a7ae1d53fce24706a933d3e5a01e10 (diff) | |
download | mariadb-git-ed55bc9e6ab34102cbf064e496e2bb40ee79d0cc.tar.gz |
Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19304
sql/partition_info.cc:
Auto merged
mysql-test/r/partition.result:
manual merge
mysql-test/t/partition.test:
manual merge
sql/share/errmsg.txt:
manual merge
Diffstat (limited to 'sql/partition_info.cc')
-rw-r--r-- | sql/partition_info.cc | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/sql/partition_info.cc b/sql/partition_info.cc index 6761b28331e..0635c80296f 100644 --- a/sql/partition_info.cc +++ b/sql/partition_info.cc @@ -432,18 +432,22 @@ char *partition_info::has_unique_names() bool partition_info::check_engine_mix(handlerton **engine_array, uint no_parts) { uint i= 0; - bool result= FALSE; DBUG_ENTER("partition_info::check_engine_mix"); do { if (engine_array[i] != engine_array[0]) { - result= TRUE; - break; + my_error(ER_MIX_HANDLER_ERROR, MYF(0)); + DBUG_RETURN(TRUE); } } while (++i < no_parts); - DBUG_RETURN(result); + if (ha_legacy_type(engine_array[0]) == DB_TYPE_MRG_MYISAM) + { + my_error(ER_PARTITION_MERGE_ERROR, MYF(0)); + DBUG_RETURN(TRUE); + } + DBUG_RETURN(FALSE); } @@ -757,10 +761,7 @@ bool partition_info::check_partition_info(handlerton **eng_type, } while (++i < no_parts); } if (unlikely(partition_info::check_engine_mix(engine_array, part_count))) - { - my_error(ER_MIX_HANDLER_ERROR, MYF(0)); goto end; - } if (eng_type) *eng_type= (handlerton*)engine_array[0]; |