Commit ceb74b35 authored by unknown's avatar unknown

Bug #27359 Partition: memory allocation error message

if ndbcluster's nodes aren't set, the handlerton can return zero partitions
in the partitioned table. So we should check for that.


sql/partition_info.cc:
  check for zero return added
mysql-test/r/ndb_partition_error2.result:
  New BitKeeper file ``mysql-test/r/ndb_partition_error2.result''
mysql-test/t/ndb_partition_error2-master.opt:
  New BitKeeper file ``mysql-test/t/ndb_partition_error2-master.opt''
mysql-test/t/ndb_partition_error2.test:
  New BitKeeper file ``mysql-test/t/ndb_partition_error2.test''
parent a88dac08
drop table if exists t1;
create table t1 (s1 int) engine=ndbcluster;
ERROR HY000: For the partitioned engine it is necessary to define all partition
disable_query_log;
--require r/true.require
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'ndbcluster';
enable_query_log;
--disable_warnings
drop table if exists t1;
--enable_warnings
#
# Bug #27359 Partitions: memory allocation error message
#
--error ER_PARTITION_NOT_DEFINED_ERROR
create table t1 (s1 int) engine=ndbcluster;
......@@ -753,7 +753,11 @@ bool partition_info::check_partition_info(THD *thd, handlerton **eng_type,
}
if (unlikely(set_up_defaults_for_partitioning(file, info, (uint)0)))
goto end;
tot_partitions= get_tot_partitions();
if (!(tot_partitions= get_tot_partitions()))
{
my_error(ER_PARTITION_NOT_DEFINED_ERROR, MYF(0), "partitions");
goto end;
}
if (unlikely(tot_partitions > MAX_PARTITIONS))
{
my_error(ER_TOO_MANY_PARTITIONS_ERROR, MYF(0));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment