1. 01 Sep, 2006 2 commits
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-wl3337 · 33b8dbc7
      unknown authored
      into  example.com:/work/mysql-5.1-runtime-wl3337
      
      
      sql/events.cc:
        Auto merged
      33b8dbc7
    • unknown's avatar
      WL#3337 (Event scheduler new architecture) · da4734c3
      unknown authored
      This is a post-review patch.
      
      Fixes the typelib implementation, available only in 5.1.11.
      
      --event-scheduler cmdline : DISABLED | ON | OFF | 0 | 1
      DISABLED - makes the scheduler unavailable during the server run
      (ON|1)-  When the server is started the scheduler will be started. It can
               be stopped and restarted by setting appropriate values to
               GLOBAL event_scheduler
      (OFF|0)- When the server is started, the scheduler won't be started. It
               can be started and again stopped by setting appropriate values to
               GLOBAL event_scheduler. _DEFAULT_ value
      
      The GLOBAL variable event_scheduler can have the following values:
      OFF | ON | 0 | 1
      DISABLED is not possible and every attempt will end with an error that
      it's not a valid value for the variable.
      OFF | 0 - This is the pre-5.1.11 behavior - The scheduler stops, if not
                already stopped, and can be started again  by setting
                the value of the variable to ON|1.
      ON | 1  - This is the pre-5.1.11 behavior - The scheduler starts, if not
                already started, and can be stopped again by setting the value
                of the variable to OFF|0.
      
      
      mysql-test/r/events.result:
        update result
      mysql-test/r/events_bugs.result:
        update result
      mysql-test/r/events_logs_tests.result:
        update result
      mysql-test/r/events_restart_phase1.result:
        update result
      mysql-test/r/events_restart_phase3.result:
        update result
      mysql-test/r/events_scheduling.result:
        update result
      mysql-test/r/events_stress.result:
        update result
      mysql-test/t/events.test:
        update test:
        2 -> off
        1 -> on
      mysql-test/t/events_bugs.test:
        update test:
        2 -> off
        1 -> on
      mysql-test/t/events_logs_tests.test:
        update test:
        2 -> off
        1 -> on
      mysql-test/t/events_restart_phase1.test:
        update test:
        2 -> off
        1 -> on
      mysql-test/t/events_restart_phase2-master.opt:
        update master file : 1 => on
      mysql-test/t/events_scheduling.test:
        update test:
        2 -> off
        1 -> on
        
        add tests for event_scheduler global variable representation from
        SHOW VARIABLES.
      mysql-test/t/events_stress.test:
        update test:
        2 -> off
        1 -> on
      sql/events.cc:
        Implement two different TYPELIBs for --event-scheduler cmd line
        option and for GLOBAL variable event_scheduler
        
        --event-scheduler cmdline : DISABLED | ON | OFF | 0 | 1
        DISABLED - makes the scheduler unavailable during the server run
        (ON|1)-  When the server is started the scheduler will be started. It can
                 be stopped and restarted by setting appropriate values to
                 GLOBAL event_scheduler
        (OFF|0)- When the server is started, the scheduler won't be started. It
                 can be started and again stopped by setting appropriate values to
                 GLOBAL event_scheduler. _DEFAULT_ value
        
        The GLOBAL variable event_scheduler can have the following values:
        OFF | ON | 0 | 1
        DISABLED is not possible and every attempt will end with an error that
        it's not a valid value for the variable.
        OFF | 0 - This is the pre-5.1.11 behavior - The scheduler stops, if not
                  already stopped, and can be started again  by setting
                  the value of the variable to ON|1.
        ON | 1  - This is the pre-5.1.11 behavior - The scheduler starts, if not
                  already started, and can be stopped again by setting the value
                  of the variable to OFF|0.
      sql/events.h:
        additional TYPELIB for GLOBAL event_scheduler
      sql/mysqld.cc:
        --event-scheduler should be checked against a TYPELIB and
        therefore should be GET_STR, as well as we make the parameter optional.
        When not provided OFF|0 is used.
      sql/set_var.cc:
        Implement typelib for event_scheduler variable.
        If allows both INT_RESULT -> 0 | 1 
        and STRING_RESULT -> OFF | ON
        The variable is shown as DISABLED | ON | OFF
      sql/set_var.h:
        Implement typelib, which expects both STRING and INT,
        for event_scheduler.
      da4734c3
  2. 31 Aug, 2006 2 commits
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-wl3337 · bbd8f9ac
      unknown authored
      into  fifo.vaih.whnetz:/work/mysql-5.1-wl3337-tree2
      
      
      sql/events.cc:
        Auto merged
      bbd8f9ac
    • unknown's avatar
      WL#3337 (Event scheduler new architecture) · 0410cc3a
      unknown authored
      This patch makes the relationship between Event_scheduler and Event_queue
      unidirectional from the former to the latter.
      
      
      
      
      The change is that the conditional on which the scheduler sleeped has been
      moved to the Event_queue and the latter does not call anymore
      Event_scheduler::queue_changed(), which in turn has be removed.
      
      
      sql/event_queue.cc:
        Remove dependency of Event_queue on Event_scheduler but not vice versa.
        Event_scheduler polls whether there is time to execute an event.
        
        Removed notify_observers() as the way of calling has changed.
        Added Event_queue::cond_wait() similar to Event_scheduler::cond_wait().
      sql/event_queue.h:
        init_queue() does not need anymore Event_scheduler object because
        the relationship is now one-way. Event_scheduler knows about Event_queue
        but not vice versa.
        
        get_top_execution_if_time() does by itself the waiting instead of
        returning abstime. This simplifies the code in Event_scheduler::run()
        get_top_execution_if_time() returns only if job_data != NULL or if
        the scheduler thread was killed.
        
        notify_observers() is no more used and therefore removed.
        
        Added Event_queue::cond_wait() because now there is waiting on a
        conditional variable in Event_queue too (like in Event_scheduler for
        ::stop()).
      sql/event_scheduler.cc:
        Change the relationship between Event_scheduler & Event_queue.
        Event_queue does not know anymore about Event_scheduler. When
        the scheduler calls get_top_element_if_time() it may fall asleep
        on a conditional of Event_queue, if either the queue is empty or
        it's still not time for activation. When the method returns it
        will return a non-null address, namely an object to be executed.
        If the return value is NULL, the thread was killed by a call to
        Event_scheduler::stop() (we assert this).
      sql/event_scheduler.h:
        Remove queue_changed() as it is obsoleted by making the relationship
        between Event_scheduler and Event_queue one-way, from the former to the
        latter. Event_queue now does not know about Event_scheduler.
        
        get_state() is changed to is_running(). The state enum should be private,
        as it is not needed to be seen from outside anymore.
      sql/events.cc:
        Event_queue does not need anymore a pointer to Event_scheduler.
      0410cc3a
  3. 28 Aug, 2006 1 commit
    • unknown's avatar
      WL#3337 (Event scheduler new architecture) · f18ec676
      unknown authored
      Don't send affected rows after CREATE/ALTER/DROP EVENT as this is
      inconsistent with the rest of the server in terms of CREATE/ALTER/DROP
      DDLs
      
      
      sql/event_data_objects.cc:
        Events::drop_event() does not expect anymore a parameter named affected_rows
      sql/event_db_repository.cc:
        Remove rows_affected as the behavior exposed by Events is not
        coherent with the behavior of many other DDL, like CREATE PROCEDURE, etc.
      sql/event_db_repository.h:
        Remove rows_affected as the behavior exposed by Events is not
        coherent with the behavior of many other DDL, like CREATE PROCEDURE, etc.
      sql/events.cc:
        Remove rows_affected as the behavior exposed by Events is not
        coherent with the behavior of many other DDL, like CREATE PROCEDURE, etc.
      sql/events.h:
        Remove rows_affected as the behavior exposed by Events is not
        coherent with the behavior of many other DDL, like CREATE PROCEDURE, etc.
      sql/sql_parse.cc:
        Don't send affected rows, because this behavior is not consistent
        with the rest of the server for CREATE/ALTER/DROP DDLs
      f18ec676
  4. 23 Aug, 2006 5 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.1-runtime · bd868fb6
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.1-wl3337
      
      
      mysql-test/r/ps_1general.result:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/table.h:
        Auto merged
      bd868fb6
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-wl3337 · 37a25b53
      unknown authored
      into  example.com:/work/mysql-5.1-runtime-wl3337
      
      
      37a25b53
    • unknown's avatar
      Cleanup patch for handling of subselects in commands which cannot · 2e1bfbd2
      unknown authored
      handle them.
      
      Problem:
      CREATE|ALTER EVENT, HANDLER READ, KILL, Partitioning uses `expr` from the
      parser. This rule comes with all the rings and bells including subqueries.
      However, these commands are not subquery safe. For this reason there are two
      fuse checks in the parser. They were checking by command id. CREATE EVENT
      should forbid subquery is the fix for
      bug#16394 Events: Crash if schedule contains SELECT
      The fix has been incorporated as part of the patch for WL#3337 (Event scheduler
      new architecture).
      
      Solution:
      A new flag was added to LEX command_forbids_subselect. The fuse checks were
      changed. The commands are responsible to set the value to true whenever
      they can't handle subselects.
      
      
      sql/sql_lex.cc:
        initialize the variable
      sql/sql_lex.h:
        Add a new flag whether the parser should allow a subselect when
        parsing. This is temporarily turned off by commands like CREATE|ALTER EVENT,
        HA_READ, KILL. Could be used by other parts which reuse `expr` rule of the
        grammar and should not allow subqueries as part of it.
      sql/sql_yacc.yy:
        Forbid subselects in some commands in a better way.
        CREATE|ALTER EVENT, HANDLER READ, KILL, are not subselect
        safe for parameters and therefore they should be forbidden already in
        the parser.
        This patch makes it easier for the developer to add new commands in that
        sense similar to the mentioned above.
      2e1bfbd2
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 9a770f53
      unknown authored
      into  example.com:/work/mysql-5.1-runtime
      
      
      9a770f53
    • unknown's avatar
      Fix for bug #20665 All commands supported in Stored Procedures · 7a37eeae
      unknown authored
      should work in Prepared Statements. Post-review changeset.
      
      Problem: There are some commands which are avaiable to be executed in SP
               but cannot be prepared. This patch fixes this and makes it possible
               prepare these statements.
      
      Changes: The commands later are made available in PS. RESET has been forbidden
               in SF/Trigger.
      
      Solution: All current server commands where checked and those missing (see later)
                we added. Tests for all of the commands with repeated executions were
                added - testing with SP, SF and PS.
      
      SHOW BINLOG EVENTS
      SHOW (MASTER | SLAVE) STATUS
      SHOW (MASTER | BINARY) LOGS
      SHOW (PROCEDURE | FUNCTION) CODE (parsable only in debug builds)
      SHOW CREATE (PROCEDURE | FUNCTION | EVENT | TABLE | VIEW)
      SHOW (AUTHORS | CONTRIBUTORS | WARNINGS | ERRORS)
      CHANGE MASTER
      RESET (MASTER | SLAVE | QUERY CACHE)
      SLAVE (START | STOP)
      CHECKSUM (TABLE | TABLES)
      INSTALL PLUGIN
      UNINSTALL PLUGIN
      CACHE INDEX
      LOAD INDEX INTO CACHE
      GRANT
      REVOKE
      KILL
      (CREATE | RENAME | DROP) DATABASE
      (CREATE | RENAME | DROP) USER
      FLUSH (TABLE | TABLES | TABLES WITH READ LOCK | HOSTS | PRIVILEGES |
             LOGS | STATUS | MASTER | SLAVE | DES_KEY_FILE | USER_RESOURCES)
      
      
      mysql-test/r/ps.result:
        update result
      mysql-test/r/ps_1general.result:
        update result
      mysql-test/r/ps_grant.result:
        update result
      mysql-test/r/sp-dynamic.result:
        update result
      mysql-test/t/ps.test:
        Add more statements, probably all currently missing which are possible in
        a SP but not preparable.
        Every statement is tested in a SP, in a SF and attempted to prepare.
      mysql-test/t/ps_1general.test:
        - Enable some of the statements, which are already possible in SP.
        - 1295 -> ER_UNSUPPORTED_PS
      mysql-test/t/ps_grant.test:
        Enable statements already possible in SP.
      sql/sp_head.cc:
        - Reorder to keep some alphabet order.
        - Add missing SHOW_SCHEDULER_STATUS.
      sql/sql_prepare.cc:
        Add possibility to prepare statements, which are already allowed in SP.
      7a37eeae
  5. 21 Aug, 2006 4 commits
    • unknown's avatar
      Minor change - fixed function documentation and added · 3e4b79d9
      unknown authored
      const for two parameters.
      
      
      sql/event_db_repository.cc:
        add a missing documentation of a parameter
        add const to two parameters
      sql/event_db_repository.h:
        Added const to two parameters
      3e4b79d9
    • unknown's avatar
      Fix for bug#19403/12212 "Crash that happens during removing of database name · 992aceaf
      unknown authored
      from cache" and #21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES causes
      server to crash".
      
      Crash happened when one ran DROP DATABASE or SHOW OPEN TABLES statements
      while concurrently doing DROP TABLE (or RENAME TABLE, CREATE TABLE LIKE
      or any other command that takes name-lock) in other connection.
      
      This problem was caused by the fact that table placeholders which were
      added to table cache in order to obtain name-lock on table had
      TABLE_SHARE::db and table_name set to 0. Therefore they broke assumption
      that these members are non-0 for all tables in table cache on which some
      of our code relies.
      
      The fix sets these members for such placeholders to appropriate value making
      this assumption true again. As attempt to avoid such problems in future
      we introduce auxiliary TABLE_SHARE::set_table_cache_key() methods which
      should be used when one wants to set TABLE_SHARE::table_cache_key and which
      ensure that TABLE_SHARE::table_name/db are set properly.
      
      Test cases for these bugs were added to 5.0 test-suite (with 5.0-specific
      fix for bug #21216).
      
      
      sql/lock.cc:
        Our code assumes that TABLE_SHARE::table_name/db for objects in table cache
        is set properly (and is non-NULL). For example look in list_open_tables()
        and remove_db_from_cache(). This was not true for table placeholders that
        were added to table cache for name-locking. Changed lock_table_name() to
        preserve this assumption (now it uses TABLE_SHARE::set_table_cache_key()
        to set all three table_cache_key/db/table_name members at once).
        Also now we use my_multi_malloc() to allocate memory for TABLE and
        TABLE_SHARE objects instead of using my_malloc() + summing sizes as
        it automatically provides proper alignment for memory allocated.
      sql/sql_base.cc:
        Now we use TABLE_SHARE::set_table_cache_key() auxiliary methods to set
        TABLE_SHARE::table_cache_key/db/table_name members at once.
        We also use multi_alloc_root() instead of alloc_root() for allocating
        memory for several objects as it is less error prone.
        Finally, we also got rid of unused code in reopen_name_locked_table().
      sql/sql_select.cc:
        Got rid of redundant code. TABLE_SHARE::db/table_cache_key are both set to
        empty string by the call to init_tmp_table_share() routine.
      sql/table.cc:
        Now alloc_table_share() uses auxiliary TABLE_SHARE::set_table_cache_key()
        method to properly set TABLE_SHARE::table_cache_key/db/table_name members.
        Also now we use multi_alloc_root() instead of alloc_root() for allocating
        memory for several objects as it is more clear/less error-prone.
      sql/table.h:
        Added comment about importance of apropriate setting of
        TABLE_SHARE::table_name/db/table_cache_key for tables in table cache.
        Introduced two auxiliary TABLE_SHARE::set_table_cache_key() methods which
        allow to set these three members at once.
      992aceaf
    • unknown's avatar
      Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg21216-2 · cda7278d
      unknown authored
      into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg19403-2
      
      
      mysql-test/r/drop.result:
        Auto merged
      sql/lock.cc:
        Use 5.1 version of code as bug#21216 will be fixed there in different way.
      cda7278d
    • unknown's avatar
      Fix for bug#21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES causes · 8daf4e83
      unknown authored
      server to crash".
      
      Crash caused by assertion failure happened when one ran SHOW OPEN TABLES
      while concurrently doing DROP TABLE (or RENAME TABLE, CREATE TABLE LIKE
      or any other command that takes name-lock) in other connection.
      For non-debug version of server problem exposed itself as wrong output
      of SHOW OPEN TABLES statement (it was missing name-locked tables).
      Finally in 5.1 both debug and non-debug versions simply crashed in
      this situation due to NULL-pointer dereference.
      
      This problem was caused by the fact that table placeholders which were
      added to table cache in order to obtain name-lock had TABLE_SHARE::table_name
      set to 0. Therefore they broke assumption that this member is non-0 for
      all tables in table cache which was checked by assert in list_open_tables()
      (in 5.1 this function simply relies on it).
      The fix simply sets this member for such placeholders to appropriate value
      making this assumption true again.
      
      This patch also includes test for similar bug 12212 "Crash that happens
      during removing of database name from cache" reappeared in 5.1 as bug 19403.
      
      
      mysql-test/r/drop.result:
        Added test for bug#21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES
        causes server to crash" and bug#12212/19403 "Crash that happens during
        removing of database name from cache".
      mysql-test/t/drop.test:
        Added test for bug#21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES
        causes server to crash" and bug#12212/19403 "Crash that happens during
        removing of database name from cache".
      sql/lock.cc:
        lock_table_name():
          Our code assumes that TABLE_SHARE::table_name for objects in table cache
          is non-NULL (for example look at assertion in list_open_tables()). This
          was not true for table placeholders that were added to table cache for
          name-locking. So let us set this member for such placeholders.
      8daf4e83
  6. 18 Aug, 2006 1 commit
  7. 17 Aug, 2006 4 commits
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 96aef62c
      unknown authored
      into  example.com:/work/mysql-5.1-runtime
      
      
      sql/item.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_partition.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/sql_trigger.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      96aef62c
    • unknown's avatar
      Cleanup patch. · 728a924c
      unknown authored
      There is an existing macros for initializing LEX_STRINGs
      with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
      (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      
      
      sql/handler.cc:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/item.cc:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/mysql_priv.h:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/sql_acl.cc:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/sql_error.cc:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/sql_error.h:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/sql_lex.h:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/sql_parse.cc:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/sql_partition.cc:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/sql_plugin.cc:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/sql_show.cc:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/sql_trigger.cc:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/sql_view.cc:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      sql/tztime.cc:
        There is an existing macros for initializing LEX_STRINGs
        with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
        (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
      728a924c
    • unknown's avatar
      WL#3337 (Event scheduler new architecture) · 5f0a5dc0
      unknown authored
      Shift from direct usage of (char *) with STRING_WITH_LEN
      to C_STRING_WITH_LEN
      
      
      sql/event_db_repository.cc:
        don't use direct casting but existing C_STRING_WITH_LEN macro
        to shut up the compiler.
      sql/event_scheduler.cc:
        don't use direct casting but existing C_STRING_WITH_LEN macro
        to shut up the compiler.
      5f0a5dc0
    • unknown's avatar
      WL#3337 (Event scheduler new architecture) · 99adbd13
      unknown authored
      Post-review fixes. Mostly whitespace, int-to-bool return value, fixed comments
      
      
      sql/Makefile.am:
        compile all submodules of Events before compiling the facade
      sql/event_data_objects.cc:
        - Use initialization list
        - Clean whitespaces
        - Shorten comments
        - Fix comments
      sql/event_data_objects.h:
        - Fix whitespace
      sql/event_db_repository.cc:
        - Change return type from int to bool where only one error code is
          returned.
        - Don't use macros but get the maximal number of characters in a column
          from the column
        - Fix  comments
        - Make functions which has return value but it's not used - void.
      sql/event_db_repository.h:
        - Methods with only one error code int -> bool return value
        - Remove declaration of fill_schema_events, a function that does not exist
      sql/event_queue.cc:
        - Use initialization lists
        - Let find_n_remove_event delete the object thus making the code more robust.
          The caller could forget to destruct the object. In addition, find_n_remove_element()
          does not return a value.
        - Move check_system_tables() to class Events
        - Fix comments
      sql/event_queue.h:
        - Whitespace changes
        - init_queue() should allow passing of THD
        - check_system_tables moved to class Events
        - find_n_remove_event() is now void
      sql/event_scheduler.cc:
        - Initialize res before use
        - Remove end stop from message
      sql/event_scheduler.h:
        Add uninitialized state. The scheduler is in it before init_scheduler()
        is called. The rationale is that otherwise state has no value before
        the call. If the system tables were damaged the scheduler won't be initialized
        but in Events::deinit() Event_scheduler::stop() will be called and this will
        touch state, generating valgrind warning at minimum.
      sql/events.cc:
        - Whitespace changes
        - Fix comments
        - Make methods which have only one error code be bool instead of int
        - Create temporarily a THD to be used for the initialization of Event_queue
        - Event_queue::check_system_tables() moved to Events::check_system_tables
        - is_started() is renamed to is_execution_of_events_started()
      sql/events.h:
        - Whitespace changes
        - When a method returns only one error code it should be bool, not int
        - is_started() renamed to is_execution_of_events_started()
      sql/set_var.cc:
        is_started() is renamed to is_execution_of_events_started()
      sql/sql_db.cc:
        The return code is not used, thus don't return anything and drop_schema_events()
        is now void.
      sql/sql_yacc.yy:
        - Fix comments
        - Remove unneeded initialization which is performed in lex_init()
      sql/share/errmsg.txt:
        New error message
      sql/table.cc:
        - Fix comments
        - make table_check_intact() accespt const *table_def
      sql/table.h:
        Make table_check_intact() accespt const *table_def
      99adbd13
  8. 15 Aug, 2006 1 commit
    • unknown's avatar
      Fix for BUG#21247: im_instance_conf.imtest fails on trees with test-1 · 5768d570
      unknown authored
      in their name.
      
      The problem was that IM-tests contained grep-statements with too wide
      patterns. The fix is to make these patterns more restrictive. Only IM-tests
      have been fixed, no code has been touched. 
      
      
      mysql-test/t/im_instance_conf.imtest:
        Use more restrictive pattern.
      mysql-test/t/im_options.imtest:
        Use more restrictive pattern.
      5768d570
  9. 14 Aug, 2006 9 commits
    • unknown's avatar
      post-merge and testing fixes · e5a2cb50
      unknown authored
      
      mysql-test/r/events_bugs.result:
        update results after merge
      mysql-test/t/events.test:
        num to name
      mysql-test/t/events_bugs.test:
        num to name
      sql/sql_yacc.yy:
        post-merge fixes regarding init_sp_name
        put back code which I unintentionally removed during merg
      sql/share/errmsg.txt:
        add the message back
      e5a2cb50
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-wl3337 · b68723a1
      unknown authored
      into  example.com:/work/mysql-5.1-runtime-wl3337
      
      
      b68723a1
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · 45a5ca85
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
      
      
      45a5ca85
    • unknown's avatar
      scripts/make_binary_distribution.sh : Drop the "max" server from 5.1 packages. · c657ab8f
      unknown authored
      
      scripts/make_binary_distribution.sh:
        Drop the "max" server from 5.1 packages.
      c657ab8f
    • unknown's avatar
      Fix a test suite failure. · e7f7263d
      unknown authored
      
      mysql-test/r/partition_grant.result:
        Update results (cleanup pon top of partition_grant.test)
      e7f7263d
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-wl3337 · 66fb56f1
      unknown authored
      into  example.com:/work/mysql-5.1-runtime-wl3337
      
      
      BitKeeper/etc/ignore:
        auto-union
      client/mysqltest.c:
        Auto merged
      libmysqld/Makefile.am:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/r/sp_notembedded.result:
        Auto merged
      sql/CMakeLists.txt:
        Auto merged
      sql/Makefile.am:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_db.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/share/errmsg.txt:
        C
      mysql-test/r/events_bugs.result:
        update result
        manual merge
      mysql-test/r/ps_1general.result:
        update result
        manual merge
      sql/sql_yacc.yy:
        manual merge
      66fb56f1
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · 021cea21
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_trigger.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/sql_db.cc:
        Manual merge.
      sql/sql_show.cc:
        Manual merge.
      sql/sql_table.cc:
        Manual merge.
      021cea21
    • unknown's avatar
      675a5b77
    • unknown's avatar
      Manual merge 5.0->5.1. Post-merge fixes. · 21e75cb0
      unknown authored
      
      client/mysqldump.c:
        A post-merge fix - 'sock' was renamed to 'mysql'
      mysql-test/r/events_bugs.result:
        A post merge fix: now we strip rear comments from the query before
        it gets into the log.
      mysql-test/r/func_group.result:
        A post merge fix: default clause is now printed uppercase.
      mysql-test/r/im_life_cycle.result:
        Fix my mistake in manual resolve.
      mysql-test/r/mysqlcheck.result:
        use test; - after we drop client_test_db there is no current database.
        This cleanup is present in 5.1 only, but the test that was added in 
        5.0 assumes there is a current database, test.
      mysql-test/r/mysqldump.result:
        Ignore results of execution of mysqldump: we can't rely on 
        MASTER_LOG_POS in test results, it's different for statement
        and row level logging.
      mysql-test/r/mysqlshow.result:
        A post-merge fix: information schema contains a few more tables
        in 5.1
      mysql-test/r/mysqltest.result:
        A post merge fix: add 5.1 test end separator.
      mysql-test/r/ndb_basic.result:
        A post-merge fix: add test end separators.
      mysql-test/r/rpl_switch_stm_row_mixed.result:
        A post merge fix: length of varbinary column is now 3 times less.
        Assuming a side effect of some other change. Length of any
        field is not relevant in this test.
      mysql-test/r/rpl_view.result:
        Add an end of test marker.
      mysql-test/r/show_check.result:
        Remove duplicate results. Add results from a merged test case.
      mysql-test/r/sp-error.result:
        Add test end separators.
      mysql-test/r/sp-security.result:
        Post-merge fix: use test after the current database is dropped.
      mysql-test/r/sp.result:
        Remove a duplicate result (bad merge that left a copy of
        the test case for Bug#19862 in the test suite).
      mysql-test/r/strict.result:
        An after-merge fix for a new test case: in 5.1 we issue a more accurate
        error message: "Incorrect value" instead of "Truncated value". I reason
        it so that in case of an error nothing is truncated, really.
        Also found similar changes in other test cases.
      mysql-test/r/type_datetime.result:
        Fix the text of an error.
      mysql-test/r/union.result:
        A post-merge fix: CHARACTER SET is now uppercase.
      mysql-test/t/mysqlcheck.test:
        A post-merge fix: use test, after current database is dropped, there
        is no current database.
      mysql-test/t/mysqldump.test:
        Disable result log: it's dependent on binlog position.
      mysql-test/t/sp-security.test:
        use test
      sql/item_sum.cc:
        Adjust the call to the constructor after the merge.
      sql/sp_head.cc:
        Add a missing DBUG_VOID_RETURN, move security checks out of
        execute_trigger to Table_triggers_list: in 5.1 we check for
        TRIGGER privilege, not SUPER privilege to execute triggers, so these
        checks lack table context inside execute_trigger and have to be
        performed when we have table object on hand.
      sql/sql_db.cc:
        A post-merge fix: adjust load_db_opt_by_name and check_db_dir_existence
        (new functions added in 5.0) to be tablename-to-filename encoding 
        friendly.
      sql/sql_lex.cc:
        A post-merge fix: make skip_rear_comments operate on const uchar *s.
      sql/sql_lex.h:
        A post-merge fix.
      sql/sql_show.cc:
        A post-merge fix: fix a bad merge, rename orig_sql_command -> sql_command.
      sql/sql_trigger.cc:
        A post-merge fix: move security checks to process_triggers
        from execute_trigger.
      sql/sql_view.cc:
        Adjust to the new signature of skip_rear_comments.
      sql/sql_yacc.yy:
        Adjust to the new signature of init_strings.
      21e75cb0
  10. 12 Aug, 2006 1 commit
    • unknown's avatar
      Merge bodhi.local:/opt/local/work/tmp_merge · f68085c4
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
      
      
      BitKeeper/etc/ignore:
        auto-union
      BitKeeper/deleted/.del-im_options_set.result~59278f56be61d921:
        Auto merged
      BitKeeper/deleted/.del-mysqld.dsp~ffdbf2d234e23e56:
        Auto merged
      BitKeeper/deleted/.del-mysys.dsp~32695fee91189326:
        Auto merged
      BitKeeper/deleted/.del-im_options_set.imtest~b53d9d60e5684833:
        Auto merged
      BitKeeper/deleted/.del-im_options_unset.imtest~768eb186b51d0048:
        Auto merged
      BitKeeper/deleted/.del-im_options_unset.result~20a4790cd3c70a4f:
        Auto merged
      client/mysql.cc:
        Auto merged
      client/mysqlbinlog.cc:
        Auto merged
      client/mysqlcheck.c:
        Auto merged
      client/mysqldump.c:
        Auto merged
      client/mysqltest.c:
        Auto merged
      dbug/dbug.c:
        Auto merged
      extra/perror.c:
        Auto merged
      extra/yassl/src/yassl_imp.cpp:
        Auto merged
      extra/yassl/src/yassl_int.cpp:
        Auto merged
      include/mysql.h:
        Auto merged
      include/mysql_com.h:
        Auto merged
      libmysql/libmysql.c:
        Auto merged
      mysql-test/r/cast.result:
        Auto merged
      mysql-test/r/date_formats.result:
        Auto merged
      mysql-test/r/federated.result:
        Auto merged
      mysql-test/r/func_compress.result:
        Auto merged
      mysql-test/r/func_group.result:
        Auto merged
      mysql-test/r/func_time.result:
        Auto merged
      mysql-test/r/gis-rtree.result:
        Auto merged
      mysql-test/r/gis.result:
        Auto merged
      mysql-test/r/im_daemon_life_cycle.result:
        Auto merged
      mysql-test/r/im_utils.result:
        Auto merged
      mysql-test/r/join_outer.result:
        Auto merged
      mysql-test/r/mysqlcheck.result:
        Auto merged
      mysql-test/r/rpl_sp.result:
        Auto merged
      mysql-test/r/rpl_trigger.result:
        Auto merged
      mysql-test/r/sp-code.result:
        Auto merged
      mysql-test/r/sp-security.result:
        Auto merged
      mysql-test/r/strict.result:
        Auto merged
      mysql-test/r/type_blob.result:
        Auto merged
      mysql-test/r/type_datetime.result:
        Auto merged
      mysql-test/r/type_ranges.result:
        Auto merged
      mysql-test/r/udf.result:
        Auto merged
      mysql-test/r/user_var.result:
        Auto merged
      mysql-test/t/cast.test:
        Auto merged
      mysql-test/t/disabled.def:
        Auto merged
      mysql-test/t/func_group.test:
        Auto merged
      mysql-test/t/func_time.test:
        Auto merged
      mysql-test/t/im_daemon_life_cycle.imtest:
        Auto merged
      mysql-test/t/im_life_cycle.imtest:
        Auto merged
      mysql-test/t/im_utils.imtest:
        Auto merged
      mysql-test/t/mysql.test:
        Auto merged
      mysql-test/t/mysqlbinlog.test:
        Auto merged
      mysql-test/t/mysqlcheck.test:
        Auto merged
      mysql-test/t/ps.test:
        Auto merged
      mysql-test/t/rpl_trigger.test:
        Auto merged
      mysql-test/t/sp-security.test:
        Auto merged
      mysql-test/t/strict.test:
        Auto merged
      mysql-test/t/udf.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/item_strfunc.h:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/item_sum.h:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/protocol.cc:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sp.cc:
        Auto merged
      sql/sp_head.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      sql/sql_udf.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      sql-common/client.c:
        Auto merged
      sql-common/my_time.c:
        Auto merged
      sql/table.h:
        Auto merged
      storage/ndb/src/kernel/error/ndbd_exit_codes.c:
        Auto merged
      storage/ndb/src/mgmsrv/ConfigInfo.cpp:
        Auto merged
      mysql-test/r/im_life_cycle.result:
        e
        use local
      mysql-test/r/ps.result:
        use local
      client/Makefile.am:
        Manual merge.
      client/mysqlimport.c:
        Manual merge.
      configure.in:
        Manual merge.
      mysql-test/mysql-test-run.pl:
        Manual merge.
      mysql-test/r/mysqldump.result:
        Manual merge.
      mysql-test/r/mysqltest.result:
        Manual merge.
      mysql-test/r/ndb_basic.result:
        Manual merge.
      mysql-test/r/rpl_view.result:
        Manual merge.
      mysql-test/r/show_check.result:
        Manual merge.
      mysql-test/r/sp-error.result:
        Manual merge.
      mysql-test/r/sp.result:
        Manual merge.
      mysql-test/r/union.result:
        Manual merge.
      mysql-test/t/mysqldump.test:
        Manual merge.
      mysql-test/t/mysqltest.test:
        Manual merge.
      mysql-test/t/ndb_basic.test:
        Manual merge.
      mysql-test/t/rpl_sp.test:
        Manual merge.
      mysql-test/t/rpl_view.test:
        Manual merge.
      mysql-test/t/show_check.test:
        Manual merge.
      mysql-test/t/sp-error.test:
        Manual merge.
      mysql-test/t/sp.test:
        Manual merge.
      sql/item_sum.cc:
        Manual merge.
      sql/mysql_priv.h:
        Manual merge.
      sql/sp_head.cc:
        Manual merge.
      sql/sql_db.cc:
        Manual merge.
      sql/sql_delete.cc:
        Manual merge.
      sql/sql_lex.h:
        Manual merge.
      sql/sql_show.cc:
        Manual merge.
      sql/sql_table.cc:
        Manual merge.
      sql/sql_trigger.cc:
        Manual merge.
      sql/sql_yacc.yy:
        Manual merge.
      tests/mysql_client_test.c:
        Manual merge.
      f68085c4
  11. 11 Aug, 2006 1 commit
    • unknown's avatar
      Fix a crash of SHOW PROCESSLIST · 33918998
      unknown authored
      
      sql/event_scheduler.cc:
        Fix a crash when calling show processlist and an event thread is starting.
        Don't add the thread to threads before it is fully initialized.
      33918998
  12. 10 Aug, 2006 9 commits
    • unknown's avatar
      Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 2f48a591
      unknown authored
      into  govinda.patg.net:/home/patg/mysql-build/mysql-5.1-engines-merge
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      2f48a591
    • unknown's avatar
      Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.1 · fab1b2f5
      unknown authored
      into  govinda.patg.net:/home/patg/mysql-build/mysql-5.1-engines-merge
      
      
      sql/ha_myisam.cc:
        Auto merged
      sql/ha_myisammrg.cc:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_partition.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_trigger.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/table.cc:
        Auto merged
      storage/innobase/row/row0mysql.c:
        Auto merged
      fab1b2f5
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-merge · eef51cd8
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-runtine-merge
      
      
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      eef51cd8
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/tmp_merge · 3459da7d
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-merge
      
      
      client/mysql.cc:
        Auto merged
      mysql-test/Makefile.am:
        Auto merged
      mysql-test/r/date_formats.result:
        Auto merged
      mysql-test/r/func_str.result:
        Auto merged
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/t/date_formats.test:
        Auto merged
      mysql-test/t/func_str.test:
        Auto merged
      mysql-test/t/ps_1general.test:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      mysql-test/t/udf.test:
        Auto merged
      mysys/my_open.c:
        Auto merged
      BitKeeper/deleted/.del-make_win_src_distribution.sh~f80d8fca44e4e5f1:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/field.h:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/time.cc:
        Auto merged
      client/mysqltest.c:
        Manual merge.
      mysql-test/r/ps_1general.result:
        Manual merge.
      3459da7d
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/tmp_merge · 6fb4287a
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-merge
      
      
      sql/ha_innodb.cc:
        Null-merge.
      storage/innobase/fil/fil0fil.c:
        Null-merge.
      storage/innobase/ibuf/ibuf0ibuf.c:
        Null-merge.
      6fb4287a
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 13475abf
      unknown authored
      into  janus.mylan:/usr/home/serg/Abk/m51
      
      
      configure.in:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      13475abf
    • unknown's avatar
      revert part of the code · 5b7f05de
      unknown authored
      how did it get in?!? (it's only in local csets so no other tree is affected)
      
      
      sql/sp.cc:
        revert this patch.
        how did it get in?!? (it's only in local csets so no other tree is affected)
      5b7f05de
    • unknown's avatar
      after merge update · 2834469c
      unknown authored
      
      mysql-test/r/mysqldump.result:
        update result
      mysql-test/t/mysqldump.test:
        update test
      2834469c
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · 6646048f
      unknown authored
      into janus.mylan:/usr/home/serg/Abk/m51
      
      
      configure.in:
        Auto merged
      6646048f