• dlenev@brandersnatch.localdomain's avatar
    Better approach for prelocking of tables for stored routines execution · 5a6c7027
    dlenev@brandersnatch.localdomain authored
    and some SP-related cleanups.
    
    - We don't have separate stage for calculation of list of tables
      to be prelocked and doing implicit LOCK/UNLOCK any more.
      Instead we calculate this list at open_tables() and do implicit
      LOCK in lock_tables() (and UNLOCK in close_thread_tables()).
      Also now we support cases when same table (with same alias) is
      used several times in the same query in SP.
    
    - Cleaned up execution of SP. Moved all common code which handles
      LEX and does preparations before statement execution or complex
      expression evaluation to auxilary sp_lex_keeper class. Now 
      all statements in SP (and corresponding instructions) that
      evaluate expression which can contain subquery have their
      own LEX.
    5a6c7027
sp_head.h 20.4 KB