1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-02 09:41:40 +03:00
Files
mariadb/sql
Georgi Kodinov ba47e3bc4d Bug #38795: Automatic search depth and nested join's results in server crash
The greedy optimizer tracks the current level of nested joins and the position
inside these by setting and maintaining a state that's global for the whole FROM
clause.
This state was correctly maintained inside the selection of the next partial plan
table (in best_extension_by_limited_search()). 
greedy_search() also moves the current position by adding the last partial match 
table when there's not enough tables in the partial plan found by 
best_extension_by_limited_search().
This may require update of the global state variables that describe the current
position in the plan if the last table placed by greedy_search is not a top-level 
join table.
Fixed by updating the state after placing the partial plan table in greedy_search()
in the same way this is done on entering the best_extension_by_limited_search().
Fixed the signature of the function called to update the state : 
check_interleaving_with_nj

mysql-test/r/greedy_optimizer.result:
  Bug #38795: test case
mysql-test/t/greedy_optimizer.test:
  Bug #38795: test case
sql/sql_select.cc:
  Bug #38795: correctly update current position when placing
  the next partial plan table in greedy_search().
2009-01-13 13:09:12 +02:00
..
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2007-07-12 00:55:40 +05:00
2006-12-31 01:02:27 +01:00
2007-01-31 00:06:42 +01:00
2006-12-31 01:02:27 +01:00
2007-11-05 20:18:22 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2008-04-10 15:55:37 -04:00
2006-12-23 20:17:15 +01:00
2008-07-11 04:51:58 +05:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2008-03-29 17:50:46 +02:00
2006-12-31 01:02:27 +01:00
2006-09-01 10:32:12 +02:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-23 20:17:15 +01:00
2006-12-31 01:02:27 +01:00
2008-03-18 16:38:12 +04:00
2006-12-31 01:02:27 +01:00
2006-12-23 20:17:15 +01:00
2006-12-23 20:17:15 +01:00
2008-10-02 13:10:06 +05:00
2008-01-23 13:26:41 -07:00
2006-12-23 20:17:15 +01:00
2007-07-05 18:24:48 +03:00
2006-12-23 20:17:15 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2006-12-31 01:02:27 +01:00
2008-10-15 12:06:44 +02:00
2006-12-31 01:02:27 +01:00
2008-10-15 12:06:44 +02:00
2007-07-01 15:33:28 -07:00
2006-12-23 20:17:15 +01:00
2006-12-31 01:02:27 +01:00
2008-09-16 13:16:41 +02:00
2007-03-22 20:32:07 +02:00
2006-12-23 20:17:15 +01:00
2007-07-01 15:33:28 -07:00