diff options
author | Igor Babaev <igor@askmonty.org> | 2018-04-16 07:19:19 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2018-04-16 07:22:26 -0700 |
commit | 224f7af911487f25cc2f768b66a1cce1b3833fd0 (patch) | |
tree | 98e340cc133c98531ce6cf586aa843fc84732053 /mysql-test/t/subselect3.test | |
parent | 87af52d7dd733e71fc7a9e39b882a4fd44f41fec (diff) | |
download | mariadb-git-224f7af911487f25cc2f768b66a1cce1b3833fd0.tar.gz |
MDEV-15575 different results when using CTE and big_tables=1.
This bug happened due to a defect of the implementation of the handler
function ha_delete_all_rows() for the ARIA engine.
The function maria_delete_all_rows() truncated the table, but it didn't
touch the write cache, so the cache's write offset was not reset.
In the scenario like in the function st_select_lex_unit::exec_recursive
when first all records were deleted from the table and then several new
records were added some metadata became inconsistent with the state of
the cache. As a result the table scan function could not read records
at the end of the table.
The same defect could be found in the implementation of ha_delete_all_rows()
for the MYISAM engine mi_delete_all_rows().
Additionally made late instantiation for the temporary table used to store
rows that were used for each new iteration when executing a recursive CTE.
Diffstat (limited to 'mysql-test/t/subselect3.test')
0 files changed, 0 insertions, 0 deletions