mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Bug#38083 Error-causing row inserted into partitioned table despite error
problems are located in the sql_partition.cc where functions calculation partition_id don't expect error returned from item->val_int(). Fixed by adding checks to these functions. Note - it tries to fix more problems than just the reported bug. per-file comments: modified: mysql-test/r/partition.result Bug#38083 Error-causing row inserted into partitioned table despite error test result mysql-test/t/partition.test Bug#38083 Error-causing row inserted into partitioned table despite error test case sql/opt_range.cc Bug#38083 Error-causing row inserted into partitioned table despite error get_part_id() call fixed sql/partition_info.h Bug#38083 Error-causing row inserted into partitioned table despite error get_subpart_id_func interface changed. sql/sql_partition.cc Bug#38083 Error-causing row inserted into partitioned table despite error various functions calculationg partition_id and subpart_id didn't expect an error returned from item->val_int(). Error checks added.
This commit is contained in:
@ -3215,10 +3215,12 @@ int find_used_partitions(PART_PRUNE_PARAM *ppar, SEL_ARG *key_tree)
|
||||
ppar->subpart_fields););
|
||||
/* Find the subpartition (it's HASH/KEY so we always have one) */
|
||||
partition_info *part_info= ppar->part_info;
|
||||
uint32 subpart_id= part_info->get_subpartition_id(part_info);
|
||||
|
||||
uint32 part_id, subpart_id;
|
||||
|
||||
if (part_info->get_subpartition_id(part_info, &subpart_id))
|
||||
return 0;
|
||||
|
||||
/* Mark this partition as used in each subpartition. */
|
||||
uint32 part_id;
|
||||
while ((part_id= ppar->part_iter.get_next(&ppar->part_iter)) !=
|
||||
NOT_A_PARTITION_ID)
|
||||
{
|
||||
|
Reference in New Issue
Block a user