The MIN/MAX optimizer code from the function opt_sum_query erroneously
did not take into account conjunctive conditions that did not depend on
any table, yet were not identified as constant items. These could be
items containing rand() or PS/SP parameters. These items are supposed
to be evaluated at the execution phase. That's why if such conditions
can be extracted from the WHERE condition the MIN/MAX optimization is
not applied as currently it is always done at the optimization phase.
(In 5.3 expensive subqueries are also evaluated only at the execution
phase. So, if a constant condition with such subquery can be extracted
from the WHERE clause the MIN/MAX optimization should not be applied
in 5.3.)
IF an IN/ALL/SOME predicate with a constant left part is transformed
into an EXISTS subquery the resulting subquery should not be considered
uncacheable if the right part of the predicate is not uncacheable.
Backported the function dbug_print_item() from 5.3. The function is used
only for debugging.
- Moved end_pagecache() to after maria_close()
- Flush page cache before closing files (in maria_pack)
Fixed test suite failure for PBXT
mysql-test/suite/pbxt/r/select.result:
We mask out the 'rows' column because it may differ from run to run
mysql-test/suite/pbxt/t/select.test:
We mask out the 'rows' column because it may differ from run to run
storage/maria/maria_chk.c:
Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache.
storage/maria/maria_pack.c:
Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache.
flush page cache before closing files.
- Update EXPLAIN results after table elimination
- mysqlslap now specifies 'Engine=' in CREATE TABLE instead of using
SET storage_engine=...
- For some reason, mysqltest logs "connect" command differently when PBXT
is the default storage engine. This is probably a bug in mysqltest which
we can't be bothered to investigate at the moment, so add --replace
mysql-test/suite/pbxt/r/connect.result:
Fix pbxt test suite failures:
- For some reason, mysqltest logs "connect" command differently when PBXT
is the default storage engine. This is probably a bug in mysqltest which
we can't be bothered to investigate at the moment, so add --replace
mysql-test/suite/pbxt/r/mysqlslap.result:
Fix pbxt test suite failures:
- mysqlslap now specifies 'Engine=' in CREATE TABLE instead of using
SET storage_engine=...
mysql-test/suite/pbxt/r/ps_11bugs.result:
Fix pbxt test suite failures:
- Update EXPLAIN results after table elimination
mysql-test/suite/pbxt/r/select.result:
Fix pbxt test suite failures:
- Update EXPLAIN results after table elimination
mysql-test/suite/pbxt/r/union.result:
Fix pbxt test suite failures:
- Update EXPLAIN results after table elimination
mysql-test/suite/pbxt/t/connect.test:
Fix pbxt test suite failures:
- For some reason, mysqltest logs "connect" command differently when PBXT
is the default storage engine. This is probably a bug in mysqltest which
we can't be bothered to investigate at the moment, so add --replace