1. 03 Aug, 2005 1 commit
    • unknown's avatar
      Prelocking-free SPs, post-review fixes: · b323667f
      unknown authored
      * Don't activate prelocking mode for evaluating procedure arguments when it is not necessary.
      * Code structure simplification and cleanup.
      * Cleanup in .test files
      
      
      mysql-test/r/sp-prelocking.result:
        Prelocking-free SPs, post-review fixes:
        Added comment, s/testdb/mysqltest/, fixed a wrong test (error wasnt reported because of known bug in mysqltestrun)
      mysql-test/r/sp-security.result:
        Don't drop the table we're not using.
      mysql-test/r/sp.result:
        Prelocking-free SPs, post-review fixes:
        remove redundant "drop table if exists t3" statements
      mysql-test/t/sp-prelocking.test:
        Prelocking-free SPs, post-review fixes:
        Added comment, s/testdb/mysqltest/, fixed a wrong test (error wasnt reported because of known bug in mysqltestrun)
      mysql-test/t/sp-security.test:
        Don't drop the table we're not using.
      mysql-test/t/sp.test:
        Prelocking-free SPs, post-review fixes:
        remove redundant "drop table if exists t3" statements
      sql/sp.cc:
        New, better defined, sp_get_prelocking_info() function to get info about
          statement prelocking options
      sql/sp.h:
        Prelocking-free SPs, post-review fixes: New, better defined, sp_get_prelocking_info() 
        function to get info about statement prelocking options
      sql/sp_cache.h:
        Prelocking-free SPs, post-review fixes: Amended the comments
      sql/sp_head.cc:
        Prelocking-free SPs, post-review fixes: Amend the comments, simplify the code that 
        attaches removes statement's prelocking tables.
      sql/sql_base.cc:
        Prelocking-free SPs, post-review fixes:
        * Use a better defined sp_get_prelocking_info() function to get info about 
          statement prelocking options
        * Don't activate prelocked mode for evaluation of SP arguments that use tables 
          but don't need prelocking.
      sql/sql_class.cc:
        Prelocking-free SPs, post-review fixes: Initialize THD members in the order they are declared.
      b323667f
  2. 30 Jul, 2005 1 commit
    • unknown's avatar
      Added Non-prelocked SP execution: Now a PROCEDURE doesn't enter/leave prelocked mode for · 11abe15e
      unknown authored
      its body, but lets each statement to get/release its own locks. This allows a broader set
      of statements to be executed inside PROCEDUREs (but breaks replication)
      This patch should fix BUG#8072, BUG#8766, BUG#9563, BUG#11126
      
      
      mysql-test/r/sp-security.result:
        Drop tables this test attempts to create
      mysql-test/r/sp-threads.result:
        Update test results
      mysql-test/r/sp.result:
        Disabled a test that triggers BUG#11986, cleanup used tables when tests start.
      mysql-test/r/view.result:
        Enabled a test case that now works with prelocking-free SPs
      mysql-test/t/sp-security.test:
        Drop tables this test attempts to create
      mysql-test/t/sp.test:
        Disabled a test that triggers BUG#11986, cleanup used tables when tests start.
      mysql-test/t/view.test:
        Enabled a test case that now works with prelocking-free SPs
      sql/handler.cc:
        Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
      sql/item_func.cc:
        Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
      sql/sp.cc:
        Non-prelocked SP execution: Added support for skipping prelocking of procedure body for
        "CALL proc(...)" statements.
      sql/sp.h:
        Non-prelocked SP execution: Added support for skipping prelocking of procedure body for
        "CALL proc(...)" statements.
      sql/sp_cache.h:
        Added comments
      sql/sp_head.cc:
        Non-prelocked SP execution:
        * Try to unlock tables after PROCEDURE arguments have been evaluated.
        * Make sp_lex_keeper be able to execute in 2 modes: A) when already in prelocked mode
          B) when its statement enters/leaves prelocked mode itself.
      sql/sp_head.h:
        Non-prelocked SP execution:  Make sp_lex_keeper to additionally keep list of tables it 
        needs to prelock when its statement enters/leaves prelocked mode on its own.
      sql/sql_base.cc:
        Non-prelocked SP execution: Make open_tables() to
         * detect 'CALL proc(...)' and not to do prelocking for procedure body statements.
         * Make lex->query_tables_last to point precisely to a boundary in lex->query_tables 
           list where 'own' tables and views' tables end and added-for-prelocking tables begin.
           (it was not true before - view's tables could end up after query_tables_own_last)
      sql/sql_class.cc:
        Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
      sql/sql_class.h:
        Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
      sql/sql_lex.cc:
        Non-prelocked SP execution: More rigourous cleanup in st_lex::cleanup_after_one_table_open()
      sql/sql_parse.cc:
        Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt, remove outdated comments
      sql/sql_trigger.h:
        Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
      11abe15e
  3. 21 Jul, 2005 30 commits
  4. 20 Jul, 2005 8 commits