1. 07 Mar, 2007 7 commits
    • unknown's avatar
      Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/50 · 6bd3d05e
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/51
      
      
      BitKeeper/etc/ignore:
        auto-union
      client/mysql_upgrade.c:
        Auto merged
      client/mysqltest.c:
        Auto merged
      extra/comp_err.c:
        Auto merged
      include/my_time.h:
        Auto merged
      libmysql/libmysql.c:
        Auto merged
      mysql-test/extra/binlog_tests/ctype_cp932.test:
        Auto merged
      mysql-test/lib/mtr_misc.pl:
        Auto merged
      mysql-test/r/binlog_stm_ctype_cp932.result:
        Auto merged
      mysql-test/r/func_time.result:
        Auto merged
      mysql-test/r/innodb.result:
        Auto merged
      mysql-test/r/mysqlbinlog.result:
        Auto merged
      mysql-test/r/mysqltest.result:
        Auto merged
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/r/trigger.result:
        Auto merged
      mysql-test/r/type_blob.result:
        Auto merged
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/func_time.test:
        Auto merged
      mysql-test/t/mysql.test:
        Auto merged
      mysql-test/t/mysqltest.test:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      mysql-test/t/trigger.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/item_geofunc.cc:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/log.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sp_head.h:
        Auto merged
      sql/spatial.cc:
        Auto merged
      sql/spatial.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_load.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/table.h:
        Auto merged
      sql-common/my_time.c:
        Auto merged
      sql/tztime.cc:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Use local
      mysql-test/t/mysqlbinlog.test:
        Use local
      6bd3d05e
    • unknown's avatar
      Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/41 · c4390d05
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/50
      
      
      c4390d05
    • unknown's avatar
      Post-merge fix of mysqlbinlog.{test,result} · 142e778d
      unknown authored
      142e778d
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · a69a96e2
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/51
      
      
      client/mysqltest.c:
        Auto merged
      include/my_pthread.h:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/t/disabled.def:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      mysys/my_wincond.c:
        Auto merged
      sql/event_queue.cc:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/log.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_load.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_trigger.cc:
        Auto merged
      client/mysql_upgrade.c:
        Manual merge; I chose to keep Magnus' changes because they make the code
        more simple; always use *only* the option file created by mysql_upgrade.
      mysql-test/extra/binlog_tests/ctype_cp932.test:
        Manual merge
      mysql-test/r/binlog_row_ctype_cp932.result:
        Manual merge
      mysql-test/r/binlog_stm_ctype_cp932.result:
        Manual merge
      mysql-test/r/mysqlbinlog.result:
        Manual merge
      mysql-test/r/rpl_switch_stm_row_mixed.result:
        Manual merge
      mysql-test/t/mysqlbinlog.test:
        Manual merge
      mysql-test/t/rpl_switch_stm_row_mixed.test:
        Manual merge
      a69a96e2
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-runtime · cd5140d3
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/41
      
      
      cd5140d3
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · a966b0b7
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/50
      
      
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      a966b0b7
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1 · b68519f7
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/41
      
      
      b68519f7
  2. 06 Mar, 2007 20 commits
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 31fc397c
      unknown authored
      into  siva.hindu.god:/home/tsmith/m/bk/maint/50
      
      
      31fc397c
    • unknown's avatar
      Merge siva.hindu.god:/home/tsmith/m/bk/maint/mar05/51 · 01fc4d06
      unknown authored
      into  siva.hindu.god:/home/tsmith/m/bk/maint/51
      
      
      01fc4d06
    • unknown's avatar
      Merge siva.hindu.god:/home/tsmith/m/bk/maint/mar05/50 · 60997075
      unknown authored
      into  siva.hindu.god:/home/tsmith/m/bk/maint/50
      
      
      libmysql/libmysql.c:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      60997075
    • unknown's avatar
      Merge siva.hindu.god:/home/tsmith/m/bk/maint/mar05/50 · c2f48ff1
      unknown authored
      into  siva.hindu.god:/home/tsmith/m/bk/maint/mar05/51
      
      
      libmysql/libmysql.c:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      c2f48ff1
    • unknown's avatar
      Bug #25075: sql_class.cc doesn't compile with --without-query-cache · 5fdfea00
      unknown authored
      Wrap query_cache_init_query() call with #ifdef HAVE_QUERY_CACHE in THD::THD()
      
      
      5fdfea00
    • unknown's avatar
      Fix for bug #25595 "missing DBUG_RETURN in function "mysql_stat"" · 9a1ec4d3
      unknown authored
      
      libmysql/libmysql.c:
        Fix for bug #25595 "missing DBUG_RETURN in function "mysql_stat""
        
        Use DBUG_RETURN instead of return
      9a1ec4d3
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-maint · 59c0792d
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/autopush/mar05-51
      
      
      59c0792d
    • unknown's avatar
      Manual merge · f7414b28
      unknown authored
      f7414b28
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 0ac63815
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-8407-merge
      
      
      sql/sp_head.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_base.cc:
        Manual merge
      0ac63815
    • unknown's avatar
      Manual merge · 71f90b7e
      unknown authored
      71f90b7e
    • unknown's avatar
      Post-merge fixes. · 9528ed5b
      unknown authored
      
      mysql-test/r/subselect.result:
        A post-merge fix: update test results.
      sql/sql_yacc.yy:
        Update to the number of conflicts in 5.1
      9528ed5b
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 307c9f1e
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.0-8407_b
      
      
      mysql-test/r/view.result:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sp_head.h:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/table.h:
        Auto merged
      sql/sql_base.cc:
        Manual merge
      307c9f1e
    • unknown's avatar
      Merge polly.local:/tmp/maint/bug20293/my51-bug20293 · e5a9a17b
      unknown authored
      into  polly.local:/home/kaa/src/maint/mysql-5.1-maint
      
      
      mysql-test/r/func_time.result:
        Manual merge.
      mysql-test/t/func_time.test:
        Manual merge.
      e5a9a17b
    • unknown's avatar
      Merge polly.local:/tmp/maint/bug20293/my50-bug20293 · 3e42ddda
      unknown authored
      into  polly.local:/home/kaa/src/maint/mysql-5.0-maint
      
      
      mysql-test/r/func_time.result:
        Manual merge.
      mysql-test/t/func_time.test:
        Manual merge.
      3e42ddda
    • unknown's avatar
      Bug #26598: Create variable to allow turning off of statistic gathering on metadata commands · 3602e293
      unknown authored
      Add innodb_stats_on_metadata option, which enables gathering
      index statistics when processing metadata commands such as
      SHOW TABLE STATUS.  Default behavior of the server does not
      change (this option is enabled by default).
      
      
      sql/mysqld.cc:
        Add innodb_stats_on_metadata option, which enables gathering
        index statistics when processing metadata commands such as
        SHOW TABLE STATUS.  Default behavior of the server does not
        change (this option is enabled by default).
      sql/set_var.cc:
        Add innodb_stats_on_metadata option, which enables gathering
        index statistics when processing metadata commands such as
        SHOW TABLE STATUS.  Default behavior of the server does not
        change (this option is enabled by default).
      storage/innobase/handler/ha_innodb.cc:
        Add innodb_stats_on_metadata option, which enables gathering
        index statistics when processing metadata commands such as
        SHOW TABLE STATUS.  Default behavior of the server does not
        change (this option is enabled by default).
      storage/innobase/handler/ha_innodb.h:
        Add innodb_stats_on_metadata option, which enables gathering
        index statistics when processing metadata commands such as
        SHOW TABLE STATUS.  Default behavior of the server does not
        change (this option is enabled by default).
      storage/innobase/include/srv0srv.h:
        Add innodb_stats_on_metadata option, which enables gathering
        index statistics when processing metadata commands such as
        SHOW TABLE STATUS.  Default behavior of the server does not
        change (this option is enabled by default).
      storage/innobase/srv/srv0srv.c:
        Add innodb_stats_on_metadata option, which enables gathering
        index statistics when processing metadata commands such as
        SHOW TABLE STATUS.  Default behavior of the server does not
        change (this option is enabled by default).
      3602e293
    • unknown's avatar
      Merge polly.local:/tmp/maint/bug20293/my50-bug20293 · aeb16245
      unknown authored
      into  polly.local:/tmp/maint/bug20293/my51-bug20293
      
      
      mysql-test/r/func_time.result:
        SCCS merged
      mysql-test/t/func_time.test:
        SCCS merged
      aeb16245
    • unknown's avatar
      Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-8407_b · 0708859b
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-8407-merge
      
      
      mysql-test/r/information_schema_db.result:
        Auto merged
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      sql/lock.cc:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sp_head.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/table.h:
        Auto merged
      0708859b
    • unknown's avatar
      Merge bodhi.local:/opt/local/work/mysql-5.0-runtime · d45be4aa
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
      
      
      BitKeeper/deleted/.del-ha_berkeley.cc:
        Auto merged
      cmd-line-utils/readline/xmalloc.c:
        Auto merged
      include/my_dbug.h:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/t/disabled.def:
        Auto merged
      server-tools/instance-manager/instance_options.cc:
        Auto merged
      server-tools/instance-manager/mysqlmanager.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/item_subselect.h:
        Auto merged
      sql/log.cc:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_repl.cc:
        Auto merged
      mysql-test/r/subselect.result:
        Use local.
      sql/ha_ndbcluster.cc:
        Use local
      storage/archive/ha_archive.cc:
        Use local.
      support-files/compiler_warnings.supp:
        Use local
      client/mysql_upgrade.c:
        Manual merge.
      client/mysqltest.c:
        Manual merge.
      mysql-test/t/subselect.test:
        Manual merge.
      sql/field.cc:
        Manual merge.
      sql/sql_base.cc:
        Manual merge.
      sql/sql_yacc.yy:
        Manual merge.
      d45be4aa
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl · c155c66d
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
      
      
      mysql-test/t/disabled.def:
        Auto merged
      sql/handler.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/table.h:
        Auto merged
      mysql-test/r/show_check.result:
        Manual merge.
      mysql-test/t/show_check.test:
        Manual merge.
      c155c66d
    • unknown's avatar
      Bug#8407 (Stored functions/triggers ignore exception handler) · 266a7fff
      unknown authored
      Bug 18914 (Calling certain SPs from triggers fail)
      Bug 20713 (Functions will not not continue for SQLSTATE VALUE '42S02')
      Bug 21825 (Incorrect message error deleting records in a table with a
        trigger for inserting)
      Bug 22580 (DROP TABLE in nested stored procedure causes strange dependency
        error)
      Bug 25345 (Cursors from Functions)
      
      
      This fix resolves a long standing issue originally reported with bug 8407,
      which affect the behavior of Stored Procedures, Stored Functions and Trigger
      in many different ways, causing symptoms reported by all the bugs listed.
      In all cases, the root cause of the problem traces back to 8407 and how the
      server locks tables involved with sub statements.
      
      Prior to this fix, the implementation of stored routines would:
      - compute the transitive closure of all the tables referenced by a top level
      statement
      - open and lock all the tables involved
      - execute the top level statement
      "transitive closure of tables" means collecting:
      - all the tables,
      - all the stored functions,
      - all the views,
      - all the table triggers
      - all the stored procedures
      involved, and recursively inspect these objects definition to find more
      references to more objects, until the list of every object referenced does
      not grow any more.
      This mechanism is known as "pre-locking" tables before execution.
      The motivation for locking all the tables (possibly) used at once is to
      prevent dead locks.
      
      One problem with this approach is that, if the execution path the code
      really takes during runtime does not use a given table, and if the table is
      missing, the server would not execute the statement.
      This in particular has a major impact on triggers, since a missing table
      referenced by an update/delete trigger would prevent an insert trigger to run.
      
      Another problem is that stored routines might define SQL exception handlers
      to deal with missing tables, but the server implementation would never give
      user code a chance to execute this logic, since the routine is never
      executed when a missing table cause the pre-locking code to fail.
      
      With this fix, the internal implementation of the pre-locking code has been
      relaxed of some constraints, so that failure to open a table does not
      necessarily prevent execution of a stored routine.
      
      In particular, the pre-locking mechanism is now behaving as follows:
      
      1) the first step, to compute the transitive closure of all the tables
      possibly referenced by a statement, is unchanged.
      
      2) the next step, which is to open all the tables involved, only attempts
      to open the tables added by the pre-locking code, but silently fails without
      reporting any error or invoking any exception handler is the table is not
      present. This is achieved by trapping internal errors with
      Prelock_error_handler
      
      3) the locking step only locks tables that were successfully opened.
      
      4) when executing sub statements, the list of tables used by each statements
      is evaluated as before. The tables needed by the sub statement are expected
      to be already opened and locked. Statement referencing tables that were not
      opened in step 2) will fail to find the table in the open list, and only at
      this point will execution of the user code fail.
      
      5) when a runtime exception is raised at 4), the instruction continuation
      destination (the next instruction to execute in case of SQL continue
      handlers) is evaluated.
      This is achieved with sp_instr::exec_open_and_lock_tables()
      
      6) if a user exception handler is present in the stored routine, that
      handler is invoked as usual, so that ER_NO_SUCH_TABLE exceptions can be
      trapped by stored routines. If no handler exists, then the runtime execution
      will fail as expected.
      
      With all these changes, a side effect is that view security is impacted, in
      two different ways.
      
      First, a view defined as "select stored_function()", where the stored
      function references a table that may not exist, is considered valid.
      The rationale is that, because the stored function might trap exceptions
      during execution and still return a valid result, there is no way to decide
      when the view is created if a missing table really cause the view to be invalid.
      
      Secondly, testing for existence of tables is now done later during
      execution. View security, which consist of trapping errors and return a
      generic ER_VIEW_INVALID (to prevent disclosing information) was only
      implemented at very specific phases covering *opening* tables, but not
      covering the runtime execution. Because of this existing limitation,
      errors that were previously trapped and converted into ER_VIEW_INVALID are
      not trapped, causing table names to be reported to the user.
      This change is exposing an existing problem, which is independent and will
      be resolved separately.
      
      
      mysql-test/r/information_schema_db.result:
        Revised the pre-locking code implementation, aligned the tests.
      mysql-test/r/sp-error.result:
        Revised the pre-locking code implementation, aligned the tests.
      mysql-test/r/sp.result:
        Revised the pre-locking code implementation, aligned the tests.
      mysql-test/r/trigger.result:
        Revised the pre-locking code implementation, aligned the tests.
      mysql-test/r/view.result:
        Revised the pre-locking code implementation, aligned the tests.
      mysql-test/t/sp-error.test:
        Revised the pre-locking code implementation, aligned the tests.
      mysql-test/t/sp.test:
        Revised the pre-locking code implementation, aligned the tests.
      mysql-test/t/trigger.test:
        Revised the pre-locking code implementation, aligned the tests.
      sql/lock.cc:
        table->placeholder now checks for schema_table
      sql/mysqld.cc:
        my_message_sql(): invoke internal exception handlers
      sql/sp_head.cc:
        exec_open_and_lock_tables(): open and lock tables, or return the
        continuation destination of this instruction
      sql/sp_head.h:
        exec_open_and_lock_tables(): open and lock tables, or return the
        continuation destination of this instruction
      sql/sql_base.cc:
        Prelock_error_handler: delay open table errors until execution
      sql/sql_class.cc:
        THD: add internal error handler, as an exception mechanism.
      sql/sql_class.h:
        THD: add internal error handler, as an exception mechanism.
      sql/sql_update.cc:
        table->placeholder now checks for schema_table
      sql/table.cc:
        st_table_list::hide_view_error(): masked more errors for view security
      sql/table.h:
        table->placeholder now checks for schema_table, and unopened tables
      266a7fff
  3. 05 Mar, 2007 11 commits
  4. 03 Mar, 2007 1 commit
  5. 02 Mar, 2007 1 commit