• Georgi Kodinov's avatar
    Bug #33811: Call to stored procedure with SELECT * / RIGHT JOIN · 697b2839
    Georgi Kodinov authored
    fails after the first time
      
    Two separate problems : 
      1. When flattening joins the linked list used for name resolution 
      (next_name_resolution_table) was not updated.
      Fixed by updating the pointers when extending the table list
      
      2. The items created by expanding a * (star) as a column reference
      were marked as fixed, but no cached table was assigned to them 
      (unlike what Item_field::fix_fields does).
      Fixed by assigning a cached table (so the re-preparation is done
      faster).
      
    Note that the fix for #2 hides the fix for #1 in most cases
    (except when a table reference cannot be cached).
    
    mysql-test/r/sp.result:
      Bug #33811: test case
    mysql-test/t/sp.test:
      Bug #33811: test case
    sql/sql_base.cc:
      Bug #33811: cache the table for Item_fields created by expanding '*'
    sql/sql_select.cc:
      Bug #33811: maintain a correct name resolution chain when
      flattening joins.
    697b2839
sql_select.cc 501 KB