Hi!
11.06.2013 11:11, [email protected] пишет:
At file:///home/tsk/mprog/src/10.0-md83/
------------------------------------------------------------
revno: 3551
revision-id: [email protected]
parent: [email protected]
fixes bug: https://mariadb.atlassian.net/browse/MDEV-4612
committer: [email protected]
branch nick: 10.0-md83
timestamp: Tue 2013-06-11 11:11:35 +0300
message:
MDEV-4612 SQ pushdown: Server crashes in make_join_statistics with
materialization+semijoin, IN subqueries, constant table, impossible condition
Analysis:
The subquery materialization execution method
subselect_hash_sj_engine::exec()
didn't restore thd->lex->current_select through all return paths. This was
not a problem when the method is called during execution. When a subquery
was executed during the optimization phase of the outer query, current_select
remained to point to the wrong subquery. This resulted in
update_ref_and_keys()
getting the wrong number of conditions via
thd->lex->current_select->cond_count,
thus allocating a smaller buffer for sargable conditions. This later resulted
in memory overwrite.
Solution:
Make sure that subselect_hash_sj_engine::exec() always restores
current_select.
The patch looks OK to push.
[skip]
_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help : https://help.launchpad.net/ListHelp