1. 03 Oct, 2006 3 commits
    • unknown's avatar
      Merge mysqldev@production.mysql.com:my/mysql-5.0-release · b7a2126a
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-real-bug21726-fix-2
      
      
      sql/sql_select.cc:
        Auto merged
      b7a2126a
    • unknown's avatar
      Fix for the patch for bug#21726: Incorrect result with multiple · 37b5cbdc
      unknown authored
      invocations of LAST_INSERT_ID.
      
      Reding of LAST_INSERT_ID inside stored function wasn't noted by caller,
      and no LAST_INSERT_ID_EVENT was issued for binary log.
      
      The solution is to add THD::last_insert_id_used_bin_log, which is much
      like THD::last_insert_id_used, but is reset only for upper-level
      statements.  This new variable is used to issue LAST_INSERT_ID_EVENT.
      
      
      mysql-test/r/rpl_insert_id.result:
        For bug#21726, add result for statement-based replication of function
        calls.
      mysql-test/t/rpl_insert_id.test:
        For bug#21726, add test case for statement-based replication of function
        calls.
      sql/item_func.cc:
        Set THD::last_insert_id_used_bin_log for issuing of LAST_INSERT_ID_EVENT.
      sql/log.cc:
        Issue LAST_INSERT_ID_EVENT if THD::last_insert_id_used_bin_log is set.
      sql/set_var.cc:
        Set THD::last_insert_id_used_bin_log for issuing of LAST_INSERT_ID_EVENT.
      sql/sql_class.cc:
        Initialize THD::last_insert_id_used_bin_log.
        Fix typo, add whitespace.
      sql/sql_class.h:
        Add THD::last_insert_id_used_bin_log.
      sql/sql_parse.cc:
        Reset THD::last_insert_id_used_bin_log for upper-level statements.
      sql/sql_select.cc:
        Set THD::last_insert_id_used_bin_log for issuing of LAST_INSERT_ID_EVENT.
      37b5cbdc
    • unknown's avatar
      Back port change from 5.1 that adds the Windows database files to the source package. · 0f3a1287
      unknown authored
      This is needed for WiX pacakging.
      
      
      0f3a1287
  2. 02 Oct, 2006 6 commits
    • unknown's avatar
      Merge mysqldev@bk-internal:/home/bk/mysql-5.0-engines · 2d2d93bb
      unknown authored
      into  mysql.com:/data0/mysqldev/my/mysql-5.0-release
      
      
      sql/sql_insert.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      2d2d93bb
    • unknown's avatar
      BUG#21726: Incorrect result with multiple invocations of LAST_INSERT_ID · be929087
      unknown authored
      Non-upper-level INSERTs (the ones in the body of stored procedure,
      stored function, or trigger) into a table that have AUTO_INCREMENT
      column didn't affected the result of LAST_INSERT_ID() on this level.
      
      The problem was introduced with the fix of bug 6880, which in turn was
      introduced with the fix of bug 3117, where current insert_id value was
      remembered on the first call to LAST_INSERT_ID() (bug 3117) and was
      returned from that function until it was reset before the next
      _upper-level_ statement (bug 6880).
      
      The fix for bug#21726 brings back the behaviour of version 4.0, and
      implements the following: remember insert_id value at the beginning
      of the statement or expression (which at that point equals to
      the first insert_id value generated by the previous statement), and
      return that remembered value from LAST_INSERT_ID() or @@LAST_INSERT_ID.
      
      Thus, the value returned by LAST_INSERT_ID() is not affected by values
      generated by current statement, nor by LAST_INSERT_ID(expr) calls in
      this statement.
      
      Version 5.1 does not have this bug (it was fixed by WL 3146).
      
      
      mysql-test/r/rpl_insert_id.result:
        Add results for bug#21726: Incorrect result with multiple invocations
        of LAST_INSERT_ID, and bug#20339: stored procedure using LAST_INSERT_ID()
        does not replicate statement-based.
      mysql-test/t/rpl_insert_id.test:
        Add test cases for bug#21726: Incorrect result with multiple invocations
        of LAST_INSERT_ID, and bug#20339: stored procedure using LAST_INSERT_ID()
        does not replicate statement-based.
      sql/item_func.cc:
        Add implementation of Item_func_last_insert_id::fix_fields(), where we
        remember in THD::current_insert_id the first value generated during
        execution of the previous statement, which is returned then from
        Item_func_last_insert_id::val_int().
      sql/item_func.h:
        Add declaration of Item_func_last_insert_id::fix_fields().
      sql/log_event.cc:
        Do not set THD::last_insert_id_used on LAST_INSERT_ID_EVENT.  Though we
        know the statement will call LAST_INSERT_ID(), it wasn't called yet.
      sql/set_var.cc:
        In sys_var_last_insert_id::value_ptr() remember in
        THD::current_insert_id the first value generated during execution of the
        previous statement, and return this value for @@LAST_INSERT_ID.
      sql/sql_class.cc:
        Reset THD::last_insert_id_used after each statement execution.
      sql/sql_class.h:
        Rather then remember current insert_id value on first invocation of
        THD::insert_id(), remember it in Item_func_last_insert_id::fix_fields(),
        sys_var_last_insert_id::value_ptr(), or mysql_execute_command().
        Remove THD::insert_id(), as it lost its value now.
      sql/sql_insert.cc:
        THD::insert_id() is removed, use THD::last_insert_id directly.
      sql/sql_load.cc:
        THD::insert_id() is removed, using THD::last_insert_id directly is OK.
      sql/sql_parse.cc:
        Remember in THD::current_insert_id first generated insert id value of
        the previous statement in mysql_execute_command().
        No need to reset THD::last_insert_id_used in
        mysql_reset_thd_for_next_command(), it will be reset after each
        statement.
      sql/sql_select.cc:
        If "IS NULL" is replaced with "= <LAST_INSERT_ID>", use right value,
        which is THD::current_insert_id, and also set THD::last_insert_id_used
        to issue binary log LAST_INSERT_ID_EVENT.
      sql/sql_update.cc:
        THD::insert_id() is removed, use THD::last_insert_id directly.
      tests/mysql_client_test.c:
        Add test case for bug#21726: Incorrect result with multiple invocations
        of LAST_INSERT_ID.
      be929087
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines · 3ab74528
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
      
      
      mysql-test/r/myisam.result:
        Auto merged
      mysql-test/t/myisam.test:
        Auto merged
      sql/table.cc:
        Auto merged
      3ab74528
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0 · ef5fe1f2
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
      
      
      BitKeeper/etc/ignore:
        auto-union
      mysql-test/r/myisam.result:
        Auto merged
      mysql-test/t/myisam.test:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/share/errmsg.txt:
        Auto merged
      sql/table.cc:
        Auto merged
      ef5fe1f2
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.0 · 9076d70e
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
      
      
      9076d70e
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1 · 350ec8b1
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
      
      
      mysql-test/r/myisam.result:
        Auto merged
      mysql-test/t/myisam.test:
        Auto merged
      sql/table.cc:
        Auto merged
      350ec8b1
  3. 29 Sep, 2006 9 commits
  4. 28 Sep, 2006 17 commits
    • unknown's avatar
      view.test: · 04bf9cc7
      unknown authored
        After merge fix
      
      
      mysql-test/t/view.test:
        After merge fix
      04bf9cc7
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 09542617
      unknown authored
      into  moonbone.local:/work/5505-bug-5.0-opt-mysql
      
      
      sql/share/errmsg.txt:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      mysql-test/r/view.result:
        Manual merge
      mysql-test/t/view.test:
        Manual merge
      09542617
    • unknown's avatar
      Fixed bug#5505: Wrong error message on INSERT into a view · d332c37c
      unknown authored
      On an INSERT into an updatable but non-insertable view an error message was
      issued stating the view being not updatable. This can lead to a confusion of a
      user.
      
      A new error message is introduced. Is is showed when a user tries to insert
      into a non-insertable view.
      
      
      sql/sql_base.cc:
        Fixed bug#5505: Wrong error message on INSERT into a view
        The update_non_unique_table_error() function now issues proper
        error for an INSERT.
      sql/sql_insert.cc:
        Fixed bug#5505: Wrong error message on INSERT into a view
        Issue the ER_NON_INSERTABLE_TABLE error instead of the 
        ER_NON_UPDATABLE_TABLE on insert into a view.
      sql/sql_view.cc:
        Fixed bug#5505: Wrong error message on INSERT into a view
        Issue the ER_NON_INSERTABLE_TABLE error instead of the
        ER_NON_UPDATABLE_TABLE on insert into a view.
      mysql-test/r/view.result:
        Added the test case for bug#5505: Wrong error message on INSERT into a view
        Corrected a few test cases after fixing bug#5505
      mysql-test/t/view.test:
        Added the test case for bug#5505: Wrong error message on INSERT into a view
        Corrected a few test cases after fixing bug#5505
      sql/share/errmsg.txt:
        Fixed bug#5505: Wrong error message on INSERT into a view
        Added the ER_NON_INSERTABLE_TABLE error definition.
      d332c37c
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.1-bug22384 · 43f00a09
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-bug22384
      
      
      myisam/mi_delete.c:
        Auto merged
      43f00a09
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.0-bug22384 · 03b88a48
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-bug22384
      
      
      myisam/mi_delete.c:
        Auto merged
      03b88a48
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-4.1-engines · 59a7f1ab
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-5.0-engines
      
      
      myisammrg/myrg_open.c:
        Auto merged
      myisammrg/myrg_queue.c:
        Auto merged
      mysql-test/t/merge.test:
        Auto merged
      mysql-test/r/merge.result:
        Manual merge.
      59a7f1ab
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/bk/mysql-4.1-engines · d96989ca
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-4.1-engines
      
      
      myisammrg/myrg_open.c:
        Auto merged
      mysql-test/r/merge.result:
        Manual merge.
      mysql-test/t/merge.test:
        Manual merge.
      d96989ca
    • unknown's avatar
      BUG#21617 - crash when selecting from merge table with inconsistent indexes · 7d915f01
      unknown authored
      Crash may happen when selecting from a merge table that has underlying
      tables with less indexes than in a merge table itself.
      
      If number of keys in merge table is not bigger than requested key number,
      return error.
      
      
      myisammrg/myrg_open.c:
        Store min(number of keys) in m_info instead of number of keys in last
        underlying table.
      myisammrg/myrg_queue.c:
        Return error if inx passed to _myrg_init_queue function is not less
        than number of keys.
      mysql-test/r/merge.result:
        A test case for bug#21617.
      mysql-test/t/merge.test:
        A test case for bug#21617.
      mysys/queues.c:
        Replaced annoying ifndef DBUG_OFF with DBUG_ASSERT, fixed coding style.
        The problem was that having queue overrun in debug build was hidden
        with this ifdef.
      7d915f01
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines · 9902c35a
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG21675/mysql-5.0-engines
      
      
      9902c35a
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/bk/mysql-5.0-engines · 33163d15
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG21675/mysql-5.0-engines
      
      
      sql/ha_archive.cc:
        Auto merged
      33163d15
    • unknown's avatar
      BUG#21675 - engine=archive 2GB file limit, when reached mysqld restarts on any query · 9e6eaaf0
      unknown authored
      If mysqld is linked against system installed zlib (which is likely compiled w/o
      LFS) and archive table exceedes 2G, mysqld will likely be terminated with SIGXFSZ.
      
      Prior to actual write perform a check if there is space in data file. This fixes
      abnormal process termination with SIGXFSZ.
      
      No test case for this bugfix.
      
      
      sql/ha_archive.cc:
        Prior to actual write perform a check if there is space in data file. This fixes
        abnormal process termination with SIGXFSZ.
      sql/ha_archive.h:
        Added approximate archive data file size to archive share.
      9e6eaaf0
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines · 1f9b9591
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-bug20719-m
      
      
      1f9b9591
    • unknown's avatar
      Bug#22384 - DELETE FROM table causes "Incorrect key file for table" · 24a1e6f6
      unknown authored
      Deletes on a big index could crash the index when it needs to
      shrink.
      
      Put a forgotten negation operator in.
      
      No test case. It is too big for the test suite. And it does not
      work with 4.0, only with higher versions. It is attached to the
      bug report.
      
      
      myisam/mi_delete.c:
        Bug#22384 - DELETE FROM table causes "Incorrect key file for table"
        Put a negation operator ('!') before _mi_get_last_key() in del().
        It returns NULL on error, non-NULL on success.
      24a1e6f6
    • unknown's avatar
      Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt · d30536dc
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      d30536dc
    • unknown's avatar
      Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-5.0 · 70255e85
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
      
      
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/view.test:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      70255e85
    • unknown's avatar
      Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1 · b8fe6206
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
      
      
      sql/sql_select.cc:
        Auto merged
      b8fe6206
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines · 56cfda33
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-bug20719-m
      
      
      56cfda33
  5. 27 Sep, 2006 5 commits