1. 28 Nov, 2007 2 commits
    • unknown's avatar
      Merge mysql.com:/Users/davi/mysql/bugs/31479-5.0 · aea86c66
      unknown authored
      into  mysql.com:/Users/davi/mysql/mysql-5.0-runtime
      
      
      aea86c66
    • unknown's avatar
      Bug#31479 Bad lock interaction if CREATE TABLE LIKE is killed · 4b002635
      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.
      4b002635
  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 · 7917c7c0
      unknown authored
      into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-runtime
      
      
      7917c7c0
    • unknown's avatar
      Merge kpettersson@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 2823d879
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
      
      
      2823d879
    • unknown's avatar
      Bug#29592 SQL Injection issue · b8a19c22
      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()
      b8a19c22
    • unknown's avatar
      Merge adventure.(none):/home/thek/Development/cpp/bug32436/my50-bug32436 · 5e54e5b7
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
      
      
      sql/item_func.cc:
        Auto merged
      5e54e5b7
    • unknown's avatar
      Bug #32436 KILL QUERY completely deadlocks mysqld · fea1524d
      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.
      fea1524d
  4. 22 Nov, 2007 3 commits
    • unknown's avatar
      Merge endora.local:/Users/davi/mysql/bugs/32528-5.0 · a8b4bc81
      unknown authored
      into  endora.local:/Users/davi/mysql/mysql-5.0-runtime
      
      
      a8b4bc81
    • unknown's avatar
      Bug#32528 Global read lock with a low priority write lock causes a server crash · 719e64e4
      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.
      719e64e4
    • unknown's avatar
      Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-base · a11256f4
      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
      a11256f4
  5. 21 Nov, 2007 7 commits
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · d295bfaa
      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
      d295bfaa
    • unknown's avatar
      Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 787316f2
      unknown authored
      into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
      
      
      787316f2
    • unknown's avatar
      add wrong warning to suppression file · 98c55d39
      unknown authored
      
      support-files/compiler_warnings.supp:
        we want that.
      98c55d39
    • unknown's avatar
      Merge mleich@bk-internal.mysql.com:/home/bk/mysql-5.0-build · e8673939
      unknown authored
      into  five.local.lan:/work/trees/mysql-5.0-build-src-clean
      
      
      e8673939
    • unknown's avatar
      ignore readline warnings · 75f14d9b
      unknown authored
      
      support-files/compiler_warnings.supp:
        readline is not maintained by us
      75f14d9b
    • unknown's avatar
      This changeset fixes · b6c38105
      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
      b6c38105
    • unknown's avatar
      Merge adventure.(none):/home/thek/Development/cpp/bug31153/my50-bug31153 · 1ae0237f
      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.
      1ae0237f
  6. 20 Nov, 2007 3 commits
    • unknown's avatar
      Applied InnoDB snapshot innodb-5.0-ss2095 · a3dc40e2
      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.
      a3dc40e2
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0 · 49934f49
      unknown authored
      into  mysql.com:/home/kent/bk/tmpmerge/mysql-5.0-build
      
      
      49934f49
    • unknown's avatar
      Raise version number after cloning 5.0.52 · aa4b42ff
      unknown authored
      aa4b42ff
  7. 19 Nov, 2007 4 commits
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 29d7b245
      unknown authored
      into  ramayana.hindu.god:/home/tsmith/m/bk/build/50
      
      
      29d7b245
    • unknown's avatar
      Bug #31153 calling stored procedure crashes server if available memory is low · bb681dbc
      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.
      bb681dbc
    • unknown's avatar
      Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work-18431 · dd433ff1
      unknown authored
      into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
      
      
      dd433ff1
    • unknown's avatar
      Update readline to version 5.2. This fixes bug#18431. · 17146fc9
      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
      17146fc9
  8. 16 Nov, 2007 7 commits
  9. 14 Nov, 2007 8 commits