1. 05 Feb, 2009 1 commit
  2. 03 Feb, 2009 1 commit
    • Alexey Kopytov's avatar
      Fix for bug #41868: crash or memory overrun with concat + upper, date_format · d70c448e
      Alexey Kopytov authored
                          functions
            
      String::realloc() did not check whether the existing string data fits in the newly
      allocated buffer for cases when reallocating a String object with external buffer
      (i.e.alloced == FALSE).  This could lead to memory overruns in some cases.
      
      
      mysql-test/r/func_str.result:
        Added a test case for bug #41868.
      mysql-test/t/func_str.test:
        Added a test case for bug #41868.
      sql/sql_class.cc:
        After each call to Item::send() in select_send::send_data() reset buffer to its
        original state to reduce unnecessary malloc() calls. See comments for bug #41868
        for detailed analysis.
      sql/sql_string.cc:
        Fixed String::realloc() to check whether the existing string data fits in the newly allocated buffer for cases when reallocating a String object with external buffer.
      d70c448e
  3. 26 Jan, 2009 1 commit
  4. 22 Jan, 2009 1 commit
    • Davi Arnaut's avatar
      Bug#40264: Aborted cached query causes query to hang indefinitely on next cache hit · ae4d8dc6
      Davi Arnaut authored
      The problem is that the query cache was storing partial results
      if the statement failed when sending the results to the client.
      This could cause clients to hang when trying to read the results
      from the cache as they would, for example, wait indefinitely for
      a eof packet that wasn't saved.
      
      The solution is to always discard the caching of a query that
      failed to send its results to the associated client.
      
      mysql-test/r/query_cache_notembedded.result:
        Add test case result for Bug#40264
      mysql-test/t/query_cache_notembedded.test:
        Add test case for Bug#40264
      sql/sql_cache.cc:
        Abort if a unreported error was raised.
      ae4d8dc6
  5. 16 Jan, 2009 2 commits
  6. 15 Jan, 2009 7 commits
  7. 14 Jan, 2009 5 commits
  8. 13 Jan, 2009 3 commits
    • Davi Arnaut's avatar
      Bug#36326: nested transaction and select · a9aaa09b
      Davi Arnaut authored
      The problem is that the query cache stores packets containing
      the server status of the time when the cached statement was run.
      This might lead to a wrong transaction status in the client side
      if a statement is cached during a transaction and is later served
      outside a transaction context (and vice-versa).
      
      The solution is to take into account the transaction status when
      storing in and serving from the query cache.
      
      mysql-test/r/innodb_cache.result:
        Update test case result.
      mysql-test/r/query_cache.result:
        Add test case result for Bug#36326
      mysql-test/t/query_cache.test:
        Add test case for Bug#36326
      sql/mysql_priv.h:
        Add new flags.
      sql/sql_cache.cc:
        Remember the transaction and autocommit status stored in the packet.
      tests/mysql_client_test.c:
        Add test case for Bug#36326
      a9aaa09b
    • Joerg Bruehe's avatar
      Tool fix, needed for "compile-dist" to succeed on Solaris: · 94361be1
      Joerg Bruehe authored
      The default "awk" there cannot handle some of the scripts
      which are used by BDB for configuration.
      
      The fix:
      1) Introduce a variable "AWK" in some of the BDB shell scripts,
      2) search "gawk" and give it precedence over "awk"
         when assigning a value to the "AWK" variable,
         fail if neither is found,
      3) use that variable when calling an "awk" program with one
         of the critical scripts.
      
      The perfect solution would be to use the "awk" program found
      by "configure", but we cannot follow that approach because
      BDB's configuration is handled as a special case before the
      overall "configure" is run. Because of this,
      1) the "configure" result isn't yet available,
      2) "configure" will not handle these BDB files.
      Searching "gawk" is a (not-so-nice) way out.
      
      Note that all this need not be perfectly portable,
      it is needed only when we create a source distribution tarball
      from a develkopment tree.
      
      bdb/dist/s_all:
        Search "gawk" if available, give it precedence over "awk",
        fail if neither is found.
      bdb/dist/s_include:
        Ensure we use a modern AWK, similar to GNU awk,
        the default awk on Solaris cannot handle BDB's script.
      bdb/dist/s_recover:
        Ensure we use a modern AWK, similar to GNU awk,
        the default awk on Solaris cannot handle BDB's script.
      bdb/dist/s_rpc:
        Ensure we use a modern AWK, similar to GNU awk,
        the default awk on Solaris cannot handle BDB's script.
      94361be1
    • Georgi Kodinov's avatar
      Bug #38795: Automatic search depth and nested join's results in server crash · 2bba1914
      Georgi Kodinov authored
            
      The greedy optimizer tracks the current level of nested joins and the position
      inside these by setting and maintaining a state that's global for the whole FROM
      clause.
      This state was correctly maintained inside the selection of the next partial plan
      table (in best_extension_by_limited_search()). 
      greedy_search() also moves the current position by adding the last partial match 
      table when there's not enough tables in the partial plan found by 
      best_extension_by_limited_search().
      This may require update of the global state variables that describe the current
      position in the plan if the last table placed by greedy_search is not a top-level 
      join table.
      Fixed by updating the state after placing the partial plan table in greedy_search()
      in the same way this is done on entering the best_extension_by_limited_search().
      Fixed the signature of the function called to update the state : 
      check_interleaving_with_nj
      
      mysql-test/r/greedy_optimizer.result:
        Bug #38795: test case
      mysql-test/t/greedy_optimizer.test:
        Bug #38795: test case
      sql/sql_select.cc:
        Bug #38795: correctly update current position when placing
        the next partial plan table in greedy_search().
      2bba1914
  9. 12 Jan, 2009 6 commits
    • Joerg Bruehe's avatar
      Set the version: 5.0.72sp1 · 131d689e
      Joerg Bruehe authored
      131d689e
    • Joerg Bruehe's avatar
      Backport of a 5.0.74 fix into 5.0.72sp1: · 858584a3
      Joerg Bruehe authored
      Bug #39920: MySQL cannot deal with Leap Second expression in string literal.
      
      Updated MySQL time handling code to react correctly on UTC leap second additions.
      MySQL functions that return the OS current time, like e.g. CURDATE(), NOW() etc
      will return :59:59 instead of :59:60 or 59:61.
      As a result the reader will receive :59:59 for 2 or 3 consecutive seconds
      during the leap second.
      
      Original changesets:
      > revision-id: kgeorge@mysql.com-20081201141835-rg8nnnadujj5wl9f
      > parent: gshchepa@mysql.com-20081114172557-xh0jlzwal8ze3cy6
      > committer: Georgi Kodinov <kgeorge@mysql.com>
      > branch nick: B39920-5.0-bugteam
      > timestamp: Mon 2008-12-01 16:18:35 +0200
      
      > revision-id: kgeorge@mysql.com-20081201154106-c310zzy5or043rqa
      > parent: kgeorge@mysql.com-20081201145656-6kjq91oga5nxbbob
      > committer: Georgi Kodinov <kgeorge@mysql.com>
      > branch nick: B39920-merge-5.0-bugteam
      > timestamp: Mon 2008-12-01 17:41:06 +0200
      858584a3
    • Joerg Bruehe's avatar
      Backport of a 5.0.74 fix into 5.0.72sp1: · 68416c4c
      Joerg Bruehe authored
      Bug#34760 Character set autodetection appears to fail
      the problem is the same as reported in bug#20835,
      so the fix is backport of bug#20835 patch.
      
      Original changeset:
      > revision-id: sergey.glukhov@sun.com-20081121123959-58ffhp2nitg7f40h
      > parent: ramil@mysql.com-20081120100836-gct60cm67b1rui29
      > committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
      > branch nick: mysql-5.0-bugteam
      > timestamp: Fri 2008-11-21 16:39:59 +0400
      
      68416c4c
    • Joerg Bruehe's avatar
      Backport of a 5.0.74 fix into 5.0.72sp1: · cd617234
      Joerg Bruehe authored
      BUG#38842 - Fix for 25951 seems incorrect
      
      Original changeset:
      > revision-id: svoj@mysql.com-20081111091051-54pr96nf1z2s30gx
      > parent: vvaintroub@mysql.com-20081110201804-bi98gcs9avsf58ff
      > committer: Sergey Vojtovich <svoj@mysql.com>
      > branch nick: mysql-5.0-bugteam-bug38842
      > timestamp: Tue 2008-11-11 13:10:51 +0400
      cd617234
    • Joerg Bruehe's avatar
      Backport of a 5.0.74 fix into 5.0.72sp1: · 75b00971
      Joerg Bruehe authored
      Bug #40021: Renaming view fails, archived .frm for view is
                  missing after downgrade
      
      Original changeset:
      > revision-id: gshchepa@mysql.com-20081114172557-xh0jlzwal8ze3cy6
      > parent: ramil@mysql.com-20081114074229-vj4fvfrpmz8jfub9
      > committer: Gleb Shchepa <gshchepa@mysql.com>
      > branch nick: mysql-5.0-bugteam
      > timestamp: Fri 2008-11-14 21:25:57 +0400
      
      75b00971
    • Joerg Bruehe's avatar
      Backport of a 5.0.74 fix into 5.0.72sp1: · 3c998489
      Joerg Bruehe authored
      Remove bashisms from BUILD/compile-dist and configure.in,
      so Bootstrap works on Solaris box;
      - force GNU make in compile-dist;
      - remove unportable "grep -q" from configure.in
      
      Original changeset:
        revision-id: build@mysql.com-20081203041148-icwscut3bk09ds47
        parent: kgeorge@mysql.com-20081202125040-eiu6s7bk6s96s4xh
        author: timothy.smith@sun.com
        committer: MySQL Build Team <build@mysql.com>
        branch nick: mysql-5.0.74-release
        timestamp: Wed 2008-12-03 05:11:48 +0100
      3c998489
  10. 09 Jan, 2009 5 commits
  11. 08 Jan, 2009 1 commit
    • Tatiana A. Nurnberg's avatar
      Bug#41470: DATE_FORMAT() crashes the complete server with a valid date · 1dee1dd4
      Tatiana A. Nurnberg authored
      Passing dubious "year zero" in non-zero date (not "0000-00-00") could
      lead to negative value for year internally, while variable was unsigned.
      This led to Really Bad Things further down the line.
      
      Now doing calculations with signed type for year internally.
      
      mysql-test/r/date_formats.result:
        show that very early dates no longer break DATE_FORMAT(..., '%W')
      mysql-test/t/date_formats.test:
        show that very early dates no longer break DATE_FORMAT(..., '%W')
      sql-common/my_time.c:
        Allow negative years numbers internally while keeping the interface.
        otherwise if somebody passes year zero for whatever reason, we'll
        get an integer wrap-around that can lead to Really Bad Things further
        down the line. Note that amusingly, calcday_nr() already had signed
        output and calc_weekday() already had signed input, anyway.
      1dee1dd4
  12. 07 Jan, 2009 1 commit
  13. 05 Jan, 2009 3 commits
  14. 30 Dec, 2008 1 commit
  15. 29 Dec, 2008 1 commit
    • Sergey Glukhov's avatar
      Bug#41131 "Questions" fails to increment - ignores statements instead stored procs(5.0 ver) · 397a36c7
      Sergey Glukhov authored
      Added global status variable 'Queries' which represents
      total amount of queries executed by server including
      statements executed by SPs.
      note: It's old behaviour of 'Questions' variable.
      
      
      mysql-test/r/status.result:
        test result
      mysql-test/t/status.test:
        test case
      sql/mysqld.cc:
        Added global status variable 'Queries' which represents
        total amount of queries executed by server including
        statements executed by SPs.
        note: It's old behaviour of 'Questions' variable.
      sql/sql_show.cc:
        Added global status variable 'Queries' which represents
        total amount of queries executed by server including
        statements executed by SPs.
        note: It's old behaviour of 'Questions' variable.
      sql/structs.h:
        Added global status variable 'Queries' which represents
        total amount of queries executed by server including
        statements executed by SPs.
        note: It's old behaviour of 'Questions' variable.
      397a36c7
  16. 28 Dec, 2008 1 commit