1. 26 Nov, 2007 4 commits
    • 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
  2. 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
  3. 21 Nov, 2007 6 commits
    • 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
  4. 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
  5. 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
  6. 16 Nov, 2007 6 commits
  7. 14 Nov, 2007 8 commits
  8. 13 Nov, 2007 5 commits
    • unknown's avatar
      Merge mysql.com:/home/hf/work/31305/my41-31305 · 509582f4
      unknown authored
      into  mysql.com:/home/hf/work/31305/my50-31305
      
      509582f4
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · 12997acd
      unknown authored
      into  mysql.com:/home/hf/work/31305/my50-31305
      
      12997acd
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-4.1-opt · 38d1b2f5
      unknown authored
      into  mysql.com:/home/hf/work/31305/my41-31305
      
      38d1b2f5
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 062f27ee
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B31562-5.0-opt
      
      
      sql/item.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      062f27ee
    • unknown's avatar
      Bug #31562: HAVING and lower case · 5dc81f4f
      unknown authored
      The columns in HAVING can reference the GROUP BY and 
      SELECT columns. There can be "table" prefixes when
      referencing these columns. And these "table" prefixes
      in HAVING use the table alias if available.
      This means that table aliases are subject to the same
      storage rules as table names and are dependent on 
      lower_case_table_names in the same way as the table 
      names are.
      Fixed by :
      1. Treating table aliases as table names
      and make them lowercase when printing out the SQL
      statement for view persistence.
      2. Using case insensitive comparison for table 
      aliases when requested by lower_case_table_names
      
      
      mysql-test/r/lowercase_view.result:
        Bug #31562: test case
      mysql-test/t/lowercase_view.test:
        Bug #31562: test case
      sql/item.cc:
        Bug #31562: lower_case_table_name contious comparison
        when searching in GROUP BY
      sql/sql_base.cc:
        Bug #31562: lower_case_table_name contious comparison
        when searching in SELECT
      sql/sql_select.cc:
        Bug #31562: treat table aliases as table names
        and make them lowercase when printing
      5dc81f4f
  9. 12 Nov, 2007 1 commit