diff options
author | unknown <knielsen@knielsen-hq.org> | 2010-03-09 16:03:54 +0100 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2010-03-09 16:03:54 +0100 |
commit | c9dffa993a845752a847c4fe36c99cc6adbc35a8 (patch) | |
tree | 5fa3fbbdfccf7e04807fcada9aaa36c2e9f6ae59 /sql/sql_partition.cc | |
parent | 4bf849c23c2fe2174016da630705a362f76d3922 (diff) | |
download | mariadb-git-c9dffa993a845752a847c4fe36c99cc6adbc35a8.tar.gz |
A number of after-merge fixes following merge of MySQL 5.1.44 into MariaDB.
Bug#46949: memory leak with failed alter table to create partitions based on extract()
Bug#51830: Incorrect partition pruning on range partition (regression)
Fixed valgrind failure in select_describe(), read of uninitialized
Item_subselect::eliminated.
PBXT test file updates to reflect changes done in MySQL.
mysql-test/suite/pbxt/r/partition_error.result:
Result file update following MySQL 5.1.44 changes.
mysql-test/suite/pbxt/r/partition_pruning.result:
Result file update following MySQL 5.1.44 changes.
mysql-test/suite/pbxt/t/partition_error.test:
Test file update following MySQL 5.1.44 changes.
sql/item_subselect.cc:
Fixed valgrind failure in select_describe(), read of uninitialized
Item_subselect::eliminated:
- it turns out we can call select_describe() without having fixed
subquery items for child subselects. These are not the kind of subqueries
that we could eliminate, so the fix is to ensure that
item_subselect->eliminated==FALSE even before fix_fields is called.
Also added code to reset item_subselect->eliminated back to FALSE in
Item::reset() call.
sql/item_subselect.h:
Fixed valgrind failure in select_describe(), read of uninitialized
Item_subselect::eliminated:
- it turns out we can call select_describe() without having fixed
subquery items for child subselects. These are not the kind of subqueries
that we could eliminate, so the fix is to ensure that
item_subselect->eliminated==FALSE even before fix_fields is called.
Also added code to reset item_subselect->eliminated back to FALSE in
Item::reset() call.
sql/sql_partition.cc:
Fix Bug#51830: Revert part of the patch for Bug#49742, which caused the regression.
sql/table.cc:
Fix Bug#46949: memory leak in failed ALTER TABLE with partitioning.
Diffstat (limited to 'sql/sql_partition.cc')
-rw-r--r-- | sql/sql_partition.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc index c5c5191d176..143073a67b5 100644 --- a/sql/sql_partition.cc +++ b/sql/sql_partition.cc @@ -3019,8 +3019,9 @@ uint32 get_partition_id_range_for_endpoint(partition_info *part_info, In case of PARTITION p VALUES LESS THAN MAXVALUE the maximum value is in the current partition. */ - if (part_func_value == part_end_val && - (loc_part_id < max_partition || !part_info->defined_max_value)) + if (part_func_value > part_end_val || + (part_func_value == part_end_val && + (loc_part_id < max_partition || !part_info->defined_max_value))) loc_part_id++; } else |