• unknown's avatar
    A fix for Bug#11901 "mysql_stmt_attr_set CURSOR_TYPE_READ_ONLY join in · 8e9f6b19
    unknown authored
    subqry order by server crash": failing DBUG_ASSERT(curr_join == this)
    when opening a cursor.
    Ensure that for top-level join curr_join == join (always), 
    and thus fix the failing assert.
    curr_join is a hack to ensure that uncacheable subqueries can be
    re-evaluated safely, and should be never different from main join
    in case of top-level join.
    
    
    sql/sql_select.cc:
      - utilize tmp_join only if we evaluate an uncacheable subquery.
    sql/sql_select.h:
      - implement JOIN::is_top_level_join()
    tests/mysql_client_test.c:
      A test case for Bug#11901 "mysql_stmt_attr_set CURSOR_TYPE_READ_ONLY
       join in subqry order by server crash"
    8e9f6b19
sql_select.cc 424 KB