1. 02 Sep, 2005 17 commits
    • unknown's avatar
      Implement WL#2661 "Prepared Statements: Dynamic SQL in Stored Procedures". · c910050a
      unknown authored
      The idea of the patch is to separate statement processing logic,
      such as parsing, validation of the parsed tree, execution and cleanup, 
      from global query processing logic, such as logging, resetting
      priorities of a thread, resetting stored procedure cache, resetting
      thread count of errors and warnings.
      This makes PREPARE and EXECUTE behave similarly to the rest of SQL
      statements and allows their use in stored procedures.
      This patch contains a change in behaviour:
      until recently for each SQL prepared statement command, 2 queries
      were written to the general log, e.g.
      [Query]   prepare stmt from @stmt_text;
      [Prepare] select * from t1 <-- contents of @stmt_text
      The chagne was necessary to prevent [Prepare] commands from being written
      to the general log when executing a stored procedure with Dynamic SQL.
      We should consider whether the old behavior is preferrable and probably
      restore it.
      This patch refixes Bug#7115, Bug#10975 (partially), Bug#10605 (various bugs
      in Dynamic SQL reported before it was disabled).
      
      
      mysql-test/r/not_embedded_server.result:
        Since we don't want to log Dynamic SQL in stored procedures,
        now the general log gets only one log entry per SQL statement.
      mysql-test/r/sp-error.result:
        - remove obsolete tests
        - a better error message for the case when a stored procedure that
        returns a result set is called from a function
      mysql-test/r/trigger.result:
        - a better error message for the case when a stored procedure that
        returns a result set is called from a trigger
      mysql-test/t/sp-error.test:
        - a better error message for the case when a stored procedure that
          returns a result set is called from a function.
        - move the comment to its place (end of file).
      mysql-test/t/trigger.test:
        - a better error message for the case when a stored procedure that
        returns a result set is called from a trigger
      sql/item_func.cc:
        - we need to pass sql_command explicitly to get_var_with_binlog, because
        when creating a query for SQL prepared statement thd->lex->sql_command
        points at SQLCOM_EXECUTE, which is not listed in the list of update
        queries.
      sql/log_event.h:
        - remove an extra copy of the previous sentence
      sql/mysql_priv.h:
        - fix declarations of sql_prepare.cc API
      sql/share/errmsg.txt:
        - a new error message, when one attempts to execute a prepared statement
        which is currently being executed (this can happen only in Dynamic SQL
        at the moment).
      sql/sp_head.cc:
        - extend sp_multi_results_command to return different flags for a
        command (and rename it)
        - add support for SQLCOM_PREPARE,SQLCOM_EXECUTE, SQLCOM_DEALLOCATE
          to sp_get_flags_for_command
        - replace multiple boolean sp_head members with uint m_flags
        - a fix for a crash when user variables are used in a stored procedure
          and binlog is on. A temporary fix for Bug#12637 "SP crashes the server 
         if it has update query with user var & binlog is enabled", which actually
         stands for stored functions: now instead of a crash we break
         replication if a user variable is used in a stored function which 
         is executed in prelocked mode.
      sql/sp_head.h:
        - replace multiple boolean flags of sp_head with uint m_flags;
        - add flag CONTAINS_DYNAMIC_SQL
        - use this flag to error if a stored procedure with Dynamic SQL is
          called from a function or trigger.
      sql/sql_class.cc:
        - Statement_map::insert should not delete a statement if it exists,
          now it's done externally to be able to handle the case when the
          statement being deleted is in use.
        - remove extra code (free_list is already reset in free_items)
      sql/sql_lex.cc:
        - add lex->stmt_prepare_mode; we can't rely on thd->command any more,
          because we don't reset it any more (Dynamic SQL requirement is that
          PS are as little intrusive as possible).
      sql/sql_lex.h:
        - declare bool LEX::stmt_prepare_mode
      sql/sql_parse.cc:
        - move prepared statement code to sql_prepare.cc
        - change declarations (refactored code)
        - better error message when one attempts to use Dynamic SQL or a 
          stored procedure that returns a result set in a function or trigger.
      sql/sql_prepare.cc:
        - major refactoring to ensure PREPARE/EXECUTE commands do not reset global THD
          state and allow their use in stored procedures.
        - add Prepared_statement::flags and use it to ensure no recursive execution
          of a prepared statement is possible
        - better comments
      sql/sql_yacc.yy:
        - enable PREPARE/EXECUTE/DEALLOCATE in stored procedures
        - produce an error message on attempt to use PREPARE/EXECUTE/DEALLOCATE
          in a stored function or trigger
      mysql-test/r/sp-dynamic.result:
        - sp-dynamic.test results
      mysql-test/t/sp-dynamic.test:
        - a new test for PREPARE/EXECUTE/DEALLOCATE in stored procedures.
      c910050a
    • unknown's avatar
      Rename: · dc922213
      unknown authored
      - current_arena to stmt_arena: the thread may have more than one
      'current' arenas: one for runtime data, and one for the parsed 
      tree of a statement. Only one of them is active at any moment.
      - set_item_arena -> set_query_arena, because Item_arena was renamed to 
      Query_arena a while ago
      - set_n_backup_item_arena -> set_n_backup_active_arena;
      the active arena is the arena thd->mem_root and thd->free_list
      are currently pointing at.
      - restore_backup_item_arena -> restore_active_arena (with the same
      rationale)
      - change_arena_if_needed -> activate_stmt_arena_if_needed; this
      method sets thd->stmt_arena active if it's not done yet.
      
      
      sql/item.cc:
        Rename.
      sql/item_cmpfunc.cc:
        Rename.
      sql/item_func.cc:
        Rename.
      sql/item_subselect.cc:
        Rename.
      sql/item_subselect.h:
        Remove an unused forward declaration.
      sql/item_sum.h:
        Remove an unused forward declaration.
      sql/mysql_priv.h:
        Remove an unused forward declaration.
      sql/sp.cc:
        Rename.
      sql/sp_head.cc:
        Rename.
      sql/sql_base.cc:
        Rename.
      sql/sql_class.cc:
        Rename.
      sql/sql_class.h:
        Rename.
      sql/sql_lex.cc:
        Rename.
      sql/sql_parse.cc:
        Rename.
      sql/sql_prepare.cc:
        Rename.
      sql/sql_select.cc:
        Rename.
      sql/sql_show.cc:
        Rename.
      sql/sql_union.cc:
        Rename.
      sql/sql_view.cc:
        Rename.
      sql/table.cc:
        Rename.
      dc922213
    • unknown's avatar
      Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0 · aeb7fe83
      unknown authored
      into  eel.(none):/home/jonas/src/mysql-5.0-push
      
      
      aeb7fe83
    • unknown's avatar
      Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0 · 81f89241
      unknown authored
      into  eel.(none):/home/jonas/src/mysql-5.0-push
      
      
      81f89241
    • unknown's avatar
      Removed redundant case in Makefile.am · 8f0530d0
      unknown authored
      
      
      Makefile.am:
        Removed redundant case
      8f0530d0
    • unknown's avatar
      Merge eel.(none):/home/jonas/src/mysql-5.0 · 6f85ba17
      unknown authored
      into  eel.(none):/home/jonas/src/mysql-5.0-push
      
      
      6f85ba17
    • unknown's avatar
      Merge eel.(none):/home/jonas/src/mysql-4.1 · 8c1b55ef
      unknown authored
      into  eel.(none):/home/jonas/src/mysql-5.0
      
      
      ndb/include/kernel/signaldata/SignalData.hpp:
        Auto merged
      ndb/src/common/debugger/signaldata/SignalDataPrint.cpp:
        Auto merged
      ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Auto merged
      ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
        Auto merged
      ndb/src/common/debugger/EventLogger.cpp:
        merge
      8c1b55ef
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0 · 3b08dec4
      unknown authored
      into  mysql.com:/users/lthalmann/bk/mysql-5.0
      
      
      3b08dec4
    • unknown's avatar
      ndb - fix printout related to bug#10987 · f9d29cfe
      unknown authored
      
      ndb/src/common/debugger/EventLogger.cpp:
        Fix extended printout of LCP_FRAGMENT_COMPLETED
      f9d29cfe
    • unknown's avatar
      ndb - bug#12608 · 21ce9ede
      unknown authored
        Always abort if node failure occured between startTransaction and commit
        (can later be improved by wl#2610)
      
      
      ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
        Always abort if node failure occured between startTransaction and commit
      21ce9ede
    • unknown's avatar
      ndb - bug #10987 · 7056f0b3
      unknown authored
        make sure not to cut log to early 
        (specificly not use LCP with maxGciStarted that has not yet completed)
      
      
      ndb/include/kernel/signaldata/SignalData.hpp:
        Add signal data printer for START_FRAG_REQ
      ndb/include/kernel/signaldata/StartFragReq.hpp:
        Add signal data printer for START_FRAG_REQ
      ndb/src/common/debugger/signaldata/SignalDataPrint.cpp:
        Add signal data printer for START_FRAG_REQ
      ndb/src/common/debugger/signaldata/StartRec.cpp:
        Add signal data printer for START_FRAG_REQ
      ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Add maxGciStarted/Completed to event report
        bug: dont use LCP for calcKeepGci in maxGciSTarted is not completed
      7056f0b3
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1 · 28ed7dd9
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      mysql-test/r/mysqltest.result:
        Auto merged
      mysql-test/t/mysqltest.test:
        Auto merged
      28ed7dd9
    • unknown's avatar
      mysqltest.test: Remove output from shells in result file · 7f98b2a0
      unknown authored
      
      mysql-test/r/mysqltest.result:
        Update test results
      mysql-test/t/mysqltest.test:
        Send output from failed command to /dev/null in order to avoid recording the output from different shells
      7f98b2a0
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bk/mysql-4.1 · a03acb3c
      unknown authored
      into  mysql.com:/users/lthalmann/bk/mysql-5.0
      
      
      mysql-test/t/rpl_replicate_do.test:
        Auto merged
      scripts/Makefile.am:
        Auto merged
      Makefile.am:
        Manual merge
      mysql-test/r/rpl_replicate_do.result:
        Manual merge
      sql/log_event.cc:
        Manual merge
      sql/sql_parse.cc:
        Manual merge
      a03acb3c
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1 · b287e9e5
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      mysql-test/t/rpl_slave_status.test:
        Merge to 5.0
      b287e9e5
    • unknown's avatar
      Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0 · 38b8687d
      unknown authored
      into  mysql.com:/usr/home/bar/mysql-5.0
      
      
      38b8687d
    • unknown's avatar
      sp_head.cc: · 59272376
      unknown authored
        Fix crash reported in bug 12849.
        It doesn't fix the whole problem though.
        Let Pem fix it later.
      
      
      sql/sp_head.cc:
        Fix crash reported in bug 12849.
        It doesn't fix the whole problem though.
        Let Pem fix it later.
      59272376
  2. 01 Sep, 2005 23 commits
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1 · ee436f7c
      unknown authored
      into  mysql.com:/users/lthalmann/bk/mysql-4.1-bug12542
      
      
      sql/sql_parse.cc:
        Auto merged
      ee436f7c
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 38b7c29a
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-merges
      
      
      mysql-test/lib/mtr_process.pl:
        Auto merged
      mysql-test/lib/mtr_report.pl:
        Auto merged
      mysql-test/lib/mtr_timer.pl:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      sql/examples/ha_archive.cc:
        Auto merged
      38b7c29a
    • unknown's avatar
      Fixes after merging fix for bug #12423 "Deadlock when doing FLUSH PRIVILEGES · 7dff8f20
      unknown authored
      and GRANT in multi-threaded environment" into 5.0 tree.
      
      
      sql/sql_acl.cc:
        After merge fixes.
      7dff8f20
    • unknown's avatar
      Merge mysql.com:/M40/raymond-4.0 into mysql.com:/M50/merge-5.0 · 1a7bb6f5
      unknown authored
      
      scripts/Makefile.am:
        Auto merged
      1a7bb6f5
    • unknown's avatar
      a29b21a2
    • unknown's avatar
      Merge mysql.com:/M40/raymond-4.0 into mysql.com:/M41/merge-4.1 · b5131036
      unknown authored
      
      scripts/Makefile.am:
        Auto merged
      b5131036
    • unknown's avatar
      Merge mysql.com:/home/dlenev/src/mysql-4.1-bg12423 · 7783dbbc
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-merges
      
      
      mysql-test/lib/mtr_report.pl:
        Auto merged
      mysql-test/lib/mtr_timer.pl:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sql_acl.h:
        Auto merged
      sql/examples/ha_archive.cc:
        Auto merged
      mysql-test/lib/mtr_process.pl:
        Manual merge.
      mysql-test/mysql-test-run.pl:
        Manual merge.
      mysql-test/r/grant2.result:
        Manual merge.
      mysql-test/t/grant2.test:
        Manual merge.
      sql/sql_acl.cc:
        Manual merge.
      sql/sql_parse.cc:
        Manual merge.
      7783dbbc
    • unknown's avatar
      Manual merge. · 9d996ad6
      unknown authored
      
      Makefile.am:
        Manual merge: For "test", use Kent's new version using the Perl script with port variables,
        but also have the "test-force" target (used in the RPM spec!) (still using Shell).
      9d996ad6
    • unknown's avatar
      Fix missing command terminator · cc75310b
      unknown authored
      
      mysql-test/t/rpl_slave_status.test:
        Missing command terminator for source command.
      cc75310b
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 3223cd93
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
      
      
      3223cd93
    • unknown's avatar
      Fix for spelling miss and eol junk · a2d8ab0b
      unknown authored
      
      client/mysqltest.c:
        Fix spelling error
      mysql-test/t/information_schema.test:
        Eol junk detected, added #
      mysql-test/t/rpl_slave_status.test:
        Missing ;
      mysql-test/t/sp.test:
        Eol junk detected, added #
      mysql-test/t/view.test:
        Eol junk detected, added #
      a2d8ab0b
    • unknown's avatar
      Add "MYSQL_BASE_VERSION" to the list of substituted variables in the "scripts" subdirectory. · dedb5b79
      unknown authored
      
      scripts/Makefile.am:
        Add "MYSQL_BASE_VERSION" to the list of substituted variables,
        for later (possible) use in "mysql_install_db" and "mysqld_safe".
      dedb5b79
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1 · 2f979b28
      unknown authored
      into  mysql.com:/users/lthalmann/bk/mysql-4.1-bug12542
      
      
      2f979b28
    • unknown's avatar
      BUG#12542: Added comments · f8aadb60
      unknown authored
      
      sql/log_event.cc:
        Added comments
      sql/sql_parse.cc:
        Added comments
      f8aadb60
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1 · 1fba6e00
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      client/mysqltest.c:
        Auto merged
      mysql-test/lib/mtr_report.pl:
        Auto merged
      mysql-test/lib/mtr_timer.pl:
        Auto merged
      mysql-test/t/create.test:
        Auto merged
      mysql-test/t/create_select_tmp.test:
        Auto merged
      mysql-test/t/drop.test:
        Auto merged
      mysql-test/t/flush.test:
        Auto merged
      mysql-test/t/handler.test:
        Auto merged
      mysql-test/t/innodb-deadlock.test:
        Auto merged
      mysql-test/t/innodb-lock.test:
        Auto merged
      mysql-test/t/innodb.test:
        Auto merged
      mysql-test/t/mysqltest.test:
        Auto merged
      mysql-test/t/ndb_autodiscover2.test:
        Auto merged
      mysql-test/t/rpl000001.test:
        Auto merged
      mysql-test/t/rpl_EE_error.test:
        Auto merged
      mysql-test/t/rpl_change_master.test:
        Auto merged
      mysql-test/t/rpl_deadlock.test:
        Auto merged
      mysql-test/t/rpl_drop.test:
        Auto merged
      mysql-test/t/rpl_drop_temp.test:
        Auto merged
      mysql-test/t/rpl_error_ignored_table.test:
        Auto merged
      mysql-test/t/rpl_flush_log_loop.test:
        Auto merged
      mysql-test/t/rpl_insert_id.test:
        Auto merged
      mysql-test/t/rpl_loaddata.test:
        Auto merged
      mysql-test/t/rpl_rotate_logs.test:
        Auto merged
      mysql-test/t/rpl_until.test:
        Auto merged
      sql/examples/ha_archive.cc:
        Auto merged
      mysql-test/lib/mtr_process.pl:
        Manual merge
      mysql-test/mysql-test-run.pl:
        Manual merge
      1fba6e00
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1 · 6ee54d73
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/bug11316/my41-bug11316
      
      
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/t/create.test:
        Auto merged
      mysql-test/t/create_select_tmp.test:
        Auto merged
      mysql-test/t/drop.test:
        Auto merged
      mysql-test/t/flush.test:
        Auto merged
      mysql-test/t/handler.test:
        Auto merged
      mysql-test/t/innodb-deadlock.test:
        Auto merged
      mysql-test/t/innodb-lock.test:
        Auto merged
      mysql-test/t/innodb.test:
        Auto merged
      mysql-test/t/ndb_autodiscover2.test:
        Auto merged
      mysql-test/t/rpl000001.test:
        Auto merged
      mysql-test/t/rpl_EE_error.test:
        Auto merged
      mysql-test/t/rpl_change_master.test:
        Auto merged
      mysql-test/t/rpl_deadlock.test:
        Auto merged
      mysql-test/t/rpl_drop.test:
        Auto merged
      mysql-test/t/rpl_drop_temp.test:
        Auto merged
      mysql-test/t/rpl_error_ignored_table.test:
        Auto merged
      mysql-test/t/rpl_flush_log_loop.test:
        Auto merged
      mysql-test/t/rpl_insert_id.test:
        Auto merged
      mysql-test/t/rpl_loaddata.test:
        Auto merged
      mysql-test/t/rpl_rotate_logs.test:
        Auto merged
      mysql-test/t/rpl_until.test:
        Auto merged
      client/mysqltest.c:
        Manual merge
      mysql-test/t/mysqltest.test:
        Manual merge
      6ee54d73
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0 · 4fed1772
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/bug11316/my50-bug11316
      
      
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/mysql-test-run.sh:
        Auto merged
      mysql-test/r/mysqltest.result:
        Auto merged
      mysql-test/r/type_newdecimal.result:
        Auto merged
      mysql-test/t/create.test:
        Auto merged
      mysql-test/t/create_select_tmp.test:
        Auto merged
      mysql-test/t/drop.test:
        Auto merged
      mysql-test/t/flush.test:
        Auto merged
      mysql-test/t/handler.test:
        Auto merged
      mysql-test/t/innodb-deadlock.test:
        Auto merged
      mysql-test/t/innodb-lock.test:
        Auto merged
      mysql-test/t/innodb.test:
        Auto merged
      mysql-test/t/kill.test:
        Auto merged
      mysql-test/t/ndb_autodiscover2.test:
        Auto merged
      mysql-test/t/rpl000001.test:
        Auto merged
      mysql-test/t/rpl_EE_error.test:
        Auto merged
      mysql-test/t/rpl_change_master.test:
        Auto merged
      mysql-test/t/rpl_deadlock.test:
        Auto merged
      mysql-test/t/rpl_drop.test:
        Auto merged
      mysql-test/t/rpl_drop_temp.test:
        Auto merged
      mysql-test/t/rpl_error_ignored_table.test:
        Auto merged
      mysql-test/t/rpl_flush_log_loop.test:
        Auto merged
      mysql-test/t/rpl_insert_id.test:
        Auto merged
      mysql-test/t/rpl_loaddata.test:
        Auto merged
      mysql-test/t/rpl_rotate_logs.test:
        Auto merged
      mysql-test/t/rpl_sp.test:
        Auto merged
      mysql-test/t/rpl_until.test:
        Auto merged
      mysql-test/t/strict.test:
        Auto merged
      mysql-test/t/type_newdecimal.test:
        Auto merged
      client/mysqltest.c:
        Merge with --parsing-disabled
      mysql-test/t/mysqltest.test:
        Manual merge
      4fed1772
    • unknown's avatar
      mysqltest improvements, updates after merge + test for 5.0 · e2965fb2
      unknown authored
      
      client/mysqltest.c:
        Fixes after merge
      mysql-test/r/type_newdecimal.result:
        Update results after correction of testcase
      mysql-test/t/flush_read_lock_kill.test:
        Found extra delimiter
      mysql-test/t/kill.test:
        Found extra delimiter
      mysql-test/t/rpl_loaddata.test:
        Found extra delimiter
      mysql-test/t/rpl_sp.test:
        Found extra delimiter
      mysql-test/t/strict.test:
        Convert "!$1292" to "--error 1292"
      mysql-test/t/type_newdecimal.test:
        Missing ;
      e2965fb2
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 84ddd543
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-4.1-bg12423
      
      
      sql/mysqld.cc:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      mysql-test/r/grant2.result:
        Manual merge.
      mysql-test/t/grant2.test:
        Manual merge.
      84ddd543
    • unknown's avatar
      Fix for bug #12423 "Deadlock when doing FLUSH PRIVILEGES and GRANT in · 2a64e9a2
      unknown authored
      multi-threaded environment".
      
      To avoid deadlocks between several simultaneously run account management 
      commands (particularly between FLUSH PRIVILEGES/SET PASSWORD and GRANT
      commands) we should always take table and internal locks during their
      execution in the same order. In other words we should first open and lock
      privilege tables and only then obtain acl_cache::lock/LOCK_grant locks.
      
      
      mysql-test/r/grant2.result:
        Added test for bug #12423 "Deadlock when doing FLUSH PRIVILEGES and GRANT in 
        multi-threaded environment".
      mysql-test/t/grant2.test:
        Added test for bug #12423 "Deadlock when doing FLUSH PRIVILEGES and GRANT in 
        multi-threaded environment".
      sql/mysqld.cc:
        acl_init/grant_init() are now used only at server start up so they always
        allocate temporary THD object and don't need argument for passing pointer
        to it.
      sql/sql_acl.cc:
        To avoid deadlocks between several simultaneously run account management 
        commands (particularly between FLUSH PRIVILEGES/SET PASSWORD and GRANT
        commands) we should always take table and internal locks during their
        execution in the same order. In other words we should first open and lock
        privilege tables and only then obtain acl_cache::lock/LOCK_grant locks.
        
        Changed acl_reload()/grant_reload() and change_password()/update_user_table()
        in such way that they obey this principle. Now in acl_reload()/grant_reload()/
        change_password() we open and lock privilege tables, then obtain internal
        locks and then call acl_load()/grant_load()/update_user_table() functions to
        do actual loading or updating.
      sql/sql_acl.h:
        acl_init/grant_init() are now used only at server start up so they always
        allocate temporary THD object and don't need argument for passing pointer
        to it. acl_reload()/grant_reload() now are able to report about their
        success or failure through return value.
      sql/sql_parse.cc:
        If reload_acl_and_cache() is called from SIGHUP handler we have to
        allocate temporary THD for execution of acl_reload()/grant_reload().
      2a64e9a2
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · f5db9c9a
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      f5db9c9a
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0 · fee8f2d2
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/bug11286/my50-bug11286
      
      
      client/mysqltest.c:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      fee8f2d2
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1 · 3aa2467e
      unknown authored
      into mysql.com:/Users/kent/mysql/bk/mysql-4.1
      
      
      3aa2467e