Altered the test to accommodate the new behavior of max_allowed_packet.
Had to disconnect / reconnect the default connection for the new value to register.
Re-enabled certain parts of the test that were commented out and added
some setup / cleanup code to ensure proper reset of max_allowed_packet at the end of the test.
Re-recorded the .result file to account for changes to the test.
Bug#32136: mysqld_multi --defaults-file not respected while using \
--mysqld=mysqld_safe
Revert change that adds "--no-defaults" to mysqld_multi.
This closes Bug#43508 and re-opens Bug#32136.
Original commentary:
Bug #37348: Crash in or immediately after JOIN::make_sum_func_list
The optimizer pulls up aggregate functions which should be aggregated in
an outer select. At some point it may substitute such a function for a field
in the temporary table. The setup_copy_fields function doesn't take this
into account and may overrun the copy_field buffer.
Fixed by filtering out the fields referenced through the specialized
reference for aggregates (Item_aggregate_ref).
Added an assertion to make sure bugs that cause similar discrepancy
don't go undetected.
mysql-test/r/func_group.result:
Backport bug #37348 fix 5.1 --> 5.0.
mysql-test/t/func_group.test:
Backport bug #37348 fix 5.1 --> 5.0.
sql/item.cc:
Backport bug #37348 fix 5.1 --> 5.0.
sql/item.h:
Backport bug #37348 fix 5.1 --> 5.0.
sql/sql_select.cc:
Backport bug #37348 fix 5.1 --> 5.0.
The problem is that XML functions(items) do not reset null_value
before their execution and further item excution may use
null_value value of the previous result.
The fix is to reset null_value.
mysql-test/r/xml.result:
test result
mysql-test/t/xml.test:
test case
sql/item_xmlfunc.cc:
The problem is that XML functions(items) do not reset null_value
before their execution and further item excution may use
null_value value of the previous result.
The fix is to reset null_value.
Problem: we don't prune a LESS THAN partition if MAXVALUE is given and
given value is equal to a LESS THAN value.
Fix: prune partitions in such cases.
mysql-test/r/partition.result:
Fix for bug#42944: partition not pruned correctly
- test result.
mysql-test/t/partition.test:
Fix for bug#42944: partition not pruned correctly
- test case.
sql/sql_partition.cc:
Fix for bug#42944: partition not pruned correctly
- prune partition if given value is equal to a LESS THAN value
and it's not a "PARTITION ... LESS THAN MAXVALUE" one.
Merged from 5.0 version of this patch:
- Removed entire isamchk section. Support for ISAM tables was removed in 5.0.
- Replaced key_buffer with key_buffer_size (correct spelling).
- Removed skip-bdb, as BDB is no longer included in 5.0 and above.
- Removed commented-out bdb_cache_size and bdb_max_lock for the same reason.
- Removed commented-out innodb_log_arch_dir, deprecated in 5.0.24.
- Removed myisam_max_extra_sort_file_size, deprecated in 5.0.6.
- Removed log_long_format, deprecated in 4.1.
- Replaced default_table_type with default-storage-engine.
New in 5.1:
- Replaced table_cache with table_open_cache.
- Removed skip-federated, should have been in 5.0 only.
- Replaced log_slow_queries with slow_query_log, deprecated in 5.1.29.
- Removed entire isamchk section. Support for ISAM tables was removed in 5.0.
- Replaced key_buffer with key_buffer_size (correct spelling).
- Removed skip-bdb, as BDB is no longer included in 5.0 and above.
- Removed commented-out bdb_cache_size and bdb_max_lock for the same reason.
- Removed commented-out innodb_log_arch_dir, deprecated in 5.0.24.
- Removed myisam_max_extra_sort_file_size, deprecated in 5.0.6.
- Removed log_long_format, deprecated in 4.1.
- Replaced default_table_type with default-storage-engine.
more for completeness than for relevance.
Also, update copyright notices.
support-files/mysql.spec.sh:
Using the occasion of the (late) merge,
correct the copyright notices.
Note the merge is in 2009, but the code changes were all done in 2008.
on 5.0
The server crashes on an assert in net_end_statement indicating that the
Diagnostics area wasn't set properly during execution.
This happened on a multi table DELETE operation using the IGNORE keyword.
The keyword is suppose to allow for execution to continue on a best effort
despite some non-fatal errors. Instead execution stopped and no client
response was sent which would have led to a protocol error if it hadn't been
for the assert.
This patch corrects this issue by checking for the existence of an IGNORE
option before setting an error state during row-by-row delete iteration.
mysql-test/r/innodb_mysql.result:
* Added test case for bug40127
mysql-test/t/innodb_mysql.test:
* Added test case for bug40127
sql/sql_delete.cc:
* IGNORE option wasn't implemented in multi_delete::send_data
and multi_delete::do_deletes