1. 28 Nov, 2007 2 commits
    • unknown's avatar
      Merge mysql.com:/Users/davi/mysql/bugs/31479-5.0 · 7df54f91
      unknown authored
      into  mysql.com:/Users/davi/mysql/mysql-5.0-runtime
      
      7df54f91
    • unknown's avatar
      Bug#31479 Bad lock interaction if CREATE TABLE LIKE is killed · 6a6d4b07
      unknown authored
      Kill of a CREATE TABLE source_table LIKE statement waiting for a
      name-lock on the source table causes a bad lock interaction.
      
      The mysql_create_like_table() has a bug that if the connection is
      killed while waiting for the name-lock on the source table, it will
      jump to the wrong error path and try to unlock the source table and
      LOCK_open, but both weren't locked.
      
      The solution is to simple return when the name lock request is killed,
      it's safe to do so because no lock was acquired and no cleanup is needed.
      
      Original bug report also contains description of other problems
      related to this scenario but they either already fixed in 5.1 or
      will be addressed separately (see bug report for details).
      
      
      mysql-test/r/lock_multi.result:
        Add test case result for Bug#31479
      mysql-test/t/lock_multi.test:
        Add test case for Bug#31479
      sql/sql_table.cc:
        Rerturn TRUE when the lock gets killed.
      6a6d4b07
  2. 27 Nov, 2007 1 commit
  3. 26 Nov, 2007 5 commits
    • unknown's avatar
      Merge pilot.mysql.com:/data/msvensson/mysql/bug32429/my50-bug32429 · 7146ee9d
      unknown authored
      into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-runtime
      
      7146ee9d
    • unknown's avatar
      Merge kpettersson@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · b251e27f
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
      
      b251e27f
    • unknown's avatar
      Bug#29592 SQL Injection issue · 6e512d61
      unknown authored
      Remove the mysql_odbc_escape_string() function. The function
      has multi-byte character escaping issues, doesn't honor the
      NO_BACKSLASH_ESCAPES mode and is not used anymore by the
      Connector/ODBC as of 3.51.17.
      
      
      include/mysql.h:
        Remove mysql_odbc_escape_string() prototype.
      include/mysql_h.ic:
        Update abi check file, mostly line changes and mysql_odbc_escape_string
        removal.
      libmysql/libmysql.c:
        Remove mysql_odbc_escape_string() body.
      libmysql/libmysql.def:
        Remove mysql_odbc_escape_string()
      libmysqld/libmysqld.def:
        Remove mysql_odbc_escape_string()
      6e512d61
    • unknown's avatar
      Merge adventure.(none):/home/thek/Development/cpp/bug32436/my50-bug32436 · 0f36719d
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
      
      
      sql/item_func.cc:
        Auto merged
      0f36719d
    • unknown's avatar
      Bug #32436 KILL QUERY completely deadlocks mysqld · 6bf5fd40
      unknown authored
      Sending several "KILL QUERY" statements to target a connection running
      "SELECT SLEEP" could freeze the server.
      
      The locking order in Item_func_sleep was wrong and this could lead to a
      dead lock.
      
      This patch solves the issue by resolving the locking order properly.
      
      
      sql/item_func.cc:
        - Moved LOCK_user_locks critical region so that it doesn't share space with
          mysys_var->mutex region; this can lead to deadlock.
      6bf5fd40
  4. 22 Nov, 2007 3 commits
    • unknown's avatar
      Merge endora.local:/Users/davi/mysql/bugs/32528-5.0 · 3e502d61
      unknown authored
      into  endora.local:/Users/davi/mysql/mysql-5.0-runtime
      
      3e502d61
    • unknown's avatar
      Bug#32528 Global read lock with a low priority write lock causes a server crash · 4548b328
      unknown authored
      FLUSH TABLES WITH READ LOCK fails to properly detect write locked
      tables when running under low priority updates.
      
      The problem is that when trying to aspire a global read lock, the
      reload_acl_and_cache() function fails to properly check if the thread
      has a low priority write lock, which later my cause a server crash or
      deadlock.
      
      The solution is to simple check if the thread has any type of the
      possible exclusive write locks.
      
      
      mysql-test/r/flush.result:
        Add test case result for Bug#32528
      mysql-test/t/flush.test:
        Add test case for Bug#32528
      sql/sql_parse.cc:
        Although it should not matter under LOCK TABLES, use TL_WRITE_ALLOW_WRITE
        to emphasize that it should fail in case of any write lock.
      4548b328
    • unknown's avatar
      Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-base · 6cf79a42
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-rt-merge
      
      
      sql/mysqld.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      6cf79a42
  5. 21 Nov, 2007 7 commits
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · bb685d18
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
      
      
      client/mysql.cc:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/t/ctype_uca.test:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      mysql-test/t/subselect.test:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      bb685d18
    • unknown's avatar
      Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 0bdc06e8
      unknown authored
      into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
      
      0bdc06e8
    • unknown's avatar
      add wrong warning to suppression file · eeae7489
      unknown authored
      
      support-files/compiler_warnings.supp:
        we want that.
      eeae7489
    • unknown's avatar
      Merge mleich@bk-internal.mysql.com:/home/bk/mysql-5.0-build · e86dfae3
      unknown authored
      into  five.local.lan:/work/trees/mysql-5.0-build-src-clean
      
      e86dfae3
    • unknown's avatar
      ignore readline warnings · 1b5c57d4
      unknown authored
      
      support-files/compiler_warnings.supp:
        readline is not maintained by us
      1b5c57d4
    • unknown's avatar
      This changeset fixes · c68db60f
      unknown authored
         Bug#31567 "datadict" tests (all engines) fail:
                   Reference protocol is non-standard build
         Bug#30418 "datadict" tests (all engines) fail:
                   Dependency on the host name for ordering   
      Modifications:
         1. The standard builds (build team) do not contain
            the collation 'utf8_general_cs'.
            The common developer builds (compuile-....-max)
            contain this collation.
            Solution fitting to both build variants:
               Exclude the collation 'utf8_general_cs' from
               result sets.
         2. Use mysqltest builtin sorting of result set for
            the statement where the hostname affects the
            row order.
      
      
      mysql-test/suite/funcs_1/datadict/datadict_master.inc:
        Exclude collation 'utf8_general_cs' from result set.
      mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc:
        Use mysqltest builtin sorting of result set.
      mysql-test/suite/funcs_1/datadict/datadict_tables.inc:
        Exclude collation 'utf8_general_cs' from result set.
      mysql-test/suite/funcs_1/r/innodb__datadict.result:
        Updated  results
      mysql-test/suite/funcs_1/r/memory__datadict.result:
        Updated  results
      mysql-test/suite/funcs_1/r/myisam__datadict.result:
        Updated  results
      c68db60f
    • unknown's avatar
      Merge adventure.(none):/home/thek/Development/cpp/bug31153/my50-bug31153 · 502460e4
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
      
      
      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_yacc.yy:
        Manual merge.
      502460e4
  6. 20 Nov, 2007 3 commits
    • unknown's avatar
      Applied InnoDB snapshot innodb-5.0-ss2095 · 31561cfa
      unknown authored
      Fixes the following bugs:
      
      - Bug #29560: InnoDB >= 5.0.30 hangs on adaptive hash rw-lock 'waiting for an X-lock'
      
        Fixed a race condition in the rw_lock where an os_event_reset()
        can overwrite an earlier os_event_set() triggering an indefinite
        wait.
        NOTE: This fix for windows is different from that for other platforms.
        NOTE2: This bug is introduced in the scalability fix to the
        sync0arr which was applied to 5.0 only. Therefore, it need not be
        applied to the 5.1 tree. If we decide to port the scalability fix
        to 5.1 then this fix should be ported as well.
      
      - Bug #32125: Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase
      
        When unknown find_flag is encountered in convert_search_mode_to_innobase()
        do not call assert(0); instead queue a MySQL error using my_error() and
        return the error code PAGE_CUR_UNSUPP. Change the functions that call
        convert_search_mode_to_innobase() to handle that error code by "canceling"
        execution and returning appropriate error code further upstream.
      
      
      innobase/include/db0err.h:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2091:
        branches/5.0:
         
        Merge r2088 from trunk:
         
        log for r2088:
        
        Fix Bug#32125 (http://bugs.mysql.com/32125)
        "Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase":
        
        When unknown find_flag is encountered in convert_search_mode_to_innobase()
        do not call assert(0); instead queue a MySQL error using my_error() and
        return the error code PAGE_CUR_UNSUPP. Change the functions that call
        convert_search_mode_to_innobase() to handle that error code by "canceling"
        execution and returning appropriate error code further upstream.
        
        Approved by:	Heikki
      innobase/include/os0sync.h:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2082:
        branches/5.0:  bug#29560
        
        Fixed a race condition in the rw_lock where an os_event_reset()
        can overwrite an earlier os_event_set() triggering an indefinite
        wait.
        NOTE: This fix for windows is different from that for other platforms.
        NOTE2: This bug is introduced in the scalability fix to the
        sync0arr which was applied to 5.0 only. Therefore, it need not be
        applied to the 5.1 tree. If we decide to port the scalability fix
        to 5.1 then this fix should be ported as well.
        
        Reviewed by: Heikki
      innobase/include/page0cur.h:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2091:
        branches/5.0:
         
        Merge r2088 from trunk:
         
        log for r2088:
        
        Fix Bug#32125 (http://bugs.mysql.com/32125)
        "Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase":
        
        When unknown find_flag is encountered in convert_search_mode_to_innobase()
        do not call assert(0); instead queue a MySQL error using my_error() and
        return the error code PAGE_CUR_UNSUPP. Change the functions that call
        convert_search_mode_to_innobase() to handle that error code by "canceling"
        execution and returning appropriate error code further upstream.
        
        Approved by:	Heikki
      innobase/include/sync0rw.h:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2082:
        branches/5.0:  bug#29560
        
        Fixed a race condition in the rw_lock where an os_event_reset()
        can overwrite an earlier os_event_set() triggering an indefinite
        wait.
        NOTE: This fix for windows is different from that for other platforms.
        NOTE2: This bug is introduced in the scalability fix to the
        sync0arr which was applied to 5.0 only. Therefore, it need not be
        applied to the 5.1 tree. If we decide to port the scalability fix
        to 5.1 then this fix should be ported as well.
        
        Reviewed by: Heikki
      innobase/include/sync0rw.ic:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2082:
        branches/5.0:  bug#29560
        
        Fixed a race condition in the rw_lock where an os_event_reset()
        can overwrite an earlier os_event_set() triggering an indefinite
        wait.
        NOTE: This fix for windows is different from that for other platforms.
        NOTE2: This bug is introduced in the scalability fix to the
        sync0arr which was applied to 5.0 only. Therefore, it need not be
        applied to the 5.1 tree. If we decide to port the scalability fix
        to 5.1 then this fix should be ported as well.
        
        Reviewed by: Heikki
      innobase/include/sync0sync.ic:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2082:
        branches/5.0:  bug#29560
        
        Fixed a race condition in the rw_lock where an os_event_reset()
        can overwrite an earlier os_event_set() triggering an indefinite
        wait.
        NOTE: This fix for windows is different from that for other platforms.
        NOTE2: This bug is introduced in the scalability fix to the
        sync0arr which was applied to 5.0 only. Therefore, it need not be
        applied to the 5.1 tree. If we decide to port the scalability fix
        to 5.1 then this fix should be ported as well.
        
        Reviewed by: Heikki
      innobase/os/os0sync.c:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2082:
        branches/5.0:  bug#29560
        
        Fixed a race condition in the rw_lock where an os_event_reset()
        can overwrite an earlier os_event_set() triggering an indefinite
        wait.
        NOTE: This fix for windows is different from that for other platforms.
        NOTE2: This bug is introduced in the scalability fix to the
        sync0arr which was applied to 5.0 only. Therefore, it need not be
        applied to the 5.1 tree. If we decide to port the scalability fix
        to 5.1 then this fix should be ported as well.
        
        Reviewed by: Heikki
      innobase/srv/srv0srv.c:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2082:
        branches/5.0:  bug#29560
        
        Fixed a race condition in the rw_lock where an os_event_reset()
        can overwrite an earlier os_event_set() triggering an indefinite
        wait.
        NOTE: This fix for windows is different from that for other platforms.
        NOTE2: This bug is introduced in the scalability fix to the
        sync0arr which was applied to 5.0 only. Therefore, it need not be
        applied to the 5.1 tree. If we decide to port the scalability fix
        to 5.1 then this fix should be ported as well.
        
        Reviewed by: Heikki
      innobase/sync/sync0arr.c:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2082:
        branches/5.0:  bug#29560
        
        Fixed a race condition in the rw_lock where an os_event_reset()
        can overwrite an earlier os_event_set() triggering an indefinite
        wait.
        NOTE: This fix for windows is different from that for other platforms.
        NOTE2: This bug is introduced in the scalability fix to the
        sync0arr which was applied to 5.0 only. Therefore, it need not be
        applied to the 5.1 tree. If we decide to port the scalability fix
        to 5.1 then this fix should be ported as well.
        
        Reviewed by: Heikki
      innobase/sync/sync0rw.c:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2082:
        branches/5.0:  bug#29560
        
        Fixed a race condition in the rw_lock where an os_event_reset()
        can overwrite an earlier os_event_set() triggering an indefinite
        wait.
        NOTE: This fix for windows is different from that for other platforms.
        NOTE2: This bug is introduced in the scalability fix to the
        sync0arr which was applied to 5.0 only. Therefore, it need not be
        applied to the 5.1 tree. If we decide to port the scalability fix
        to 5.1 then this fix should be ported as well.
        
        Reviewed by: Heikki
      innobase/sync/sync0sync.c:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2082:
        branches/5.0:  bug#29560
        
        Fixed a race condition in the rw_lock where an os_event_reset()
        can overwrite an earlier os_event_set() triggering an indefinite
        wait.
        NOTE: This fix for windows is different from that for other platforms.
        NOTE2: This bug is introduced in the scalability fix to the
        sync0arr which was applied to 5.0 only. Therefore, it need not be
        applied to the 5.1 tree. If we decide to port the scalability fix
        to 5.1 then this fix should be ported as well.
        
        Reviewed by: Heikki
      sql/ha_innodb.cc:
        Applied InnoDB snapshot innodb-5.0-ss2095
        
        Revision r2091:
        branches/5.0:
         
        Merge r2088 from trunk:
         
        log for r2088:
        
        Fix Bug#32125 (http://bugs.mysql.com/32125)
        "Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase":
        
        When unknown find_flag is encountered in convert_search_mode_to_innobase()
        do not call assert(0); instead queue a MySQL error using my_error() and
        return the error code PAGE_CUR_UNSUPP. Change the functions that call
        convert_search_mode_to_innobase() to handle that error code by "canceling"
        execution and returning appropriate error code further upstream.
        
        Approved by:	Heikki
        
        
        Revision r2095:
        branches/5.0: Merge r2093 from trunk:
        
        convert_search_mode_to_innobase(): Add the missing case label
        HA_READ_MBR_EQUAL that was forgotten in r2088.
      31561cfa
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0 · b39cd4cf
      unknown authored
      into  mysql.com:/home/kent/bk/tmpmerge/mysql-5.0-build
      
      b39cd4cf
    • unknown's avatar
      Raise version number after cloning 5.0.52 · 773b30ca
      unknown authored
      773b30ca
  7. 19 Nov, 2007 4 commits
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 0190b029
      unknown authored
      into  ramayana.hindu.god:/home/tsmith/m/bk/build/50
      
      0190b029
    • unknown's avatar
      Bug #31153 calling stored procedure crashes server if available memory is low · f8151aca
      unknown authored
      When the server was out of memory it crashed because of invalid memory access.
      
      This patch adds detection for failed memory allocations and make the server
      output a proper error message.
      
      
      sql/mysqld.cc:
        Don't try to push_warning from within push_warning. It will cause a recursion
        until the stack is consumed.
        
        If my_net_init fails (for example: because of OOM) the temporary vio object 
        might have been attached to the thd object already. This will cause a double
        free on the vio object when the thd object is deleted later on and the server
        will crash.
      sql/sp_head.cc:
        Added check for out-of-memory on a 'new' operation.
        Refactored reset_lex method to return a error state code instead of void.
        Initialize the mem-root with init_sql_alloc to get a basic error handler for
        memory allocation problems. This alone won't prevent the server from crashing,
        NULL pointers have to be accounted for as well.
      sql/sp_head.h:
        Use the throw() clause in operator new, to indicate to the compiler that
        memory allocation can fail and return NULL, so that the compiler should
        generate code to check for NULL before invoking C++ constructors, to be
        crash safe.
      sql/sql_base.cc:
        Use init_sql_alloc to get basic out-of-memory error handling.
      sql/sql_lex.h:
        Use the throw() clause in operator new, to indicate to the compiler that
        memory allocation can fail and return NULL, so that the compiler should
        generate code to check for NULL before invoking C++ constructors, to be
        crash safe.
      sql/sql_prepare.cc:
        Use init_sql_alloc to get basic out-of-memory error handling.
      sql/sql_yacc.yy:
        Check for memory allocation failures where it matters.
      f8151aca
    • unknown's avatar
      Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work-18431 · 62243160
      unknown authored
      into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
      
      62243160
    • unknown's avatar
      Update readline to version 5.2. This fixes bug#18431. · 6e66651e
      unknown authored
      
      cmd-line-utils/readline/INSTALL:
        update readline to version 5.2
      cmd-line-utils/readline/README:
        update readline to version 5.2
      cmd-line-utils/readline/bind.c:
        update readline to version 5.2
      cmd-line-utils/readline/callback.c:
        update readline to version 5.2
      cmd-line-utils/readline/chardefs.h:
        update readline to version 5.2
      cmd-line-utils/readline/compat.c:
        update readline to version 5.2
      cmd-line-utils/readline/complete.c:
        update readline to version 5.2
      cmd-line-utils/readline/configure.in:
        update readline to version 5.2
      cmd-line-utils/readline/display.c:
        update readline to version 5.2
      cmd-line-utils/readline/funmap.c:
        update readline to version 5.2
      cmd-line-utils/readline/histexpand.c:
        update readline to version 5.2
      cmd-line-utils/readline/histfile.c:
        update readline to version 5.2
      cmd-line-utils/readline/history.c:
        update readline to version 5.2
      cmd-line-utils/readline/histsearch.c:
        update readline to version 5.2
      cmd-line-utils/readline/input.c:
        update readline to version 5.2
      cmd-line-utils/readline/isearch.c:
        update readline to version 5.2
      cmd-line-utils/readline/keymaps.c:
        update readline to version 5.2
      cmd-line-utils/readline/kill.c:
        update readline to version 5.2
      cmd-line-utils/readline/macro.c:
        update readline to version 5.2
      cmd-line-utils/readline/mbutil.c:
        update readline to version 5.2
      cmd-line-utils/readline/misc.c:
        update readline to version 5.2
      cmd-line-utils/readline/nls.c:
        update readline to version 5.2
      cmd-line-utils/readline/parens.c:
        update readline to version 5.2
      cmd-line-utils/readline/readline.c:
        update readline to version 5.2
      cmd-line-utils/readline/readline.h:
        update readline to version 5.2
      cmd-line-utils/readline/rlconf.h:
        update readline to version 5.2
      cmd-line-utils/readline/rldefs.h:
        update readline to version 5.2
      cmd-line-utils/readline/rlmbutil.h:
        update readline to version 5.2
      cmd-line-utils/readline/rlprivate.h:
        update readline to version 5.2
      cmd-line-utils/readline/rltty.c:
        update readline to version 5.2
      cmd-line-utils/readline/savestring.c:
        update readline to version 5.2
      cmd-line-utils/readline/search.c:
        update readline to version 5.2
      cmd-line-utils/readline/shell.c:
        update readline to version 5.2
      cmd-line-utils/readline/signals.c:
        update readline to version 5.2
      cmd-line-utils/readline/terminal.c:
        update readline to version 5.2
      cmd-line-utils/readline/text.c:
        update readline to version 5.2
      cmd-line-utils/readline/tilde.c:
        update readline to version 5.2
      cmd-line-utils/readline/tilde.h:
        update readline to version 5.2
      cmd-line-utils/readline/undo.c:
        update readline to version 5.2
      cmd-line-utils/readline/util.c:
        update readline to version 5.2
      cmd-line-utils/readline/vi_keymap.c:
        update readline to version 5.2
      cmd-line-utils/readline/vi_mode.c:
        update readline to version 5.2
      cmd-line-utils/readline/xmalloc.c:
        update readline to version 5.2
      6e66651e
  8. 16 Nov, 2007 7 commits
  9. 14 Nov, 2007 8 commits