1. 04 Sep, 2007 2 commits
  2. 03 Sep, 2007 5 commits
  3. 30 Aug, 2007 5 commits
    • unknown's avatar
      Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base · 49046ff0
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.0-runtime
      
      
      sql/item_cmpfunc.h:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      49046ff0
    • unknown's avatar
      Bug#28587 SELECT is blocked by INSERT waiting on read lock, even with low_priority_updates · bca7cdf5
      unknown authored
      The problem is that a SELECT on one thread is blocked by INSERT ... ON
      DUPLICATE KEY UPDATE on another thread even when low_priority_updates is
      activated.
      
      The solution is to possibly downgrade the lock type to the setting of
      low_priority_updates if the INSERT cannot be concurrent.
      
      
      sql/sql_insert.cc:
        Possibly downgrade lock type to the the setting of low_priority_updates if
        if the INSERT cannot be concurrent.
      bca7cdf5
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 6d0145d2
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.0-28779-b
      
      6d0145d2
    • unknown's avatar
      Use double quotes instead of single ones which make the test fail on Windows.... · 9b845d82
      unknown authored
      Use double quotes instead of single ones which make the test fail on Windows. This is for bug #30164.
      
      
      mysql-test/t/mysql.test:
        Use double quotes instead of single ones which make the test fail on Windows.
      9b845d82
    • unknown's avatar
      Bug #30164: Using client side macro inside server side comments generates broken queries · 72f86a4a
      unknown authored
        
      Problem:
        
      In cases when a client-side macro appears inside a server-side comment, the add_line() function in mysql.cc discarded all characters until the next delimiter to remove macro arguments from the query string. This resulted in broken queries being sent to the server when the next delimiter character appeared past the comment's boundaries, because the comment closing sequence ('*/') was discarded.
        
      Fix:
        
      If a client-side macro appears inside a server-side comment, discard all characters in the comment after the macro (that is, until the end of the comment rather than the next delimiter).
      This is a minimal fix to allow only simple cases used by the mysqlbinlog utility. Limitations that are worth documenting:
        
      - Nested server-side and/or client-side comments are not supported by mysql.cc
      - Using client-side macros in multi-line server-side comments is not supported
      - All characters after a client-side macro in a server-side comment will be omitted from the query string (and thus, will not be sent to server).
      
      
      client/mysql.cc:
        If a client-side macro appears inside a server-side comment, discard all characters in the comment after the macro.
      mysql-test/r/mysql.result:
        Added a test case for bug #30164.
      mysql-test/t/mysql.test:
        Added a test case for bug #30164.
      72f86a4a
  4. 29 Aug, 2007 13 commits
  5. 28 Aug, 2007 11 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · fdb5f1c3
      unknown authored
      into  moksha.local:/Users/davi/mysql/push/mysql-5.0-runtime
      
      fdb5f1c3
    • unknown's avatar
      Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/b27694/50 · d394aaf4
      unknown authored
      into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
      
      d394aaf4
    • unknown's avatar
      Bug#30625 (Performance, reduce depth for expressions) · be8db2de
      unknown authored
      This is a performance bug, affecting in particular the bison generated code
      for the parser.
      
      Prior to this fix, the grammar used a long chain of reduces to parse an
      expression, like:
        bit_expr -> bit_term
        bit_term -> bit_factor
        bit_factor -> value_expr
        value_expr -> term
        term -> factor
      etc
      
      This chain of reduces cause the internal state automaton in the generated
      parser to execute more state transitions and more reduces, so that the
      generated MySQLParse() function would spend a lot of time looping to execute
      all the grammar reductions.
      
      With this patch, the grammar has been reorganized so that rules are more
      "flat", limiting the depth of reduces needed to parse <expr>.
      
      Tests have been written to enforce that relative priorities and properties
      of operators have not changed while changing the grammar.
      
      See the bug report for performance data.
      
      
      mysql-test/r/parser_precedence.result:
        Improved test coverage for operator precedence
      mysql-test/t/parser_precedence.test:
        Improved test coverage for operator precedence
      sql/sql_yacc.yy:
        Simplified the grammar to improve performances
      be8db2de
    • unknown's avatar
      Streamline "do_close_connection" and "do_send_quit" · 3e02808d
      unknown authored
      Fix typo, "next_con" -> "con"
      
      
      client/mysqltest.c:
        Reuse "find_connection_by_name" both from "do_close_connection" and "do_send_quit"
        Adjust alignment of comment
        Fix typo in "do_close_connection", it used the global variable "next_con" instead
        of local variable "con"
      3e02808d
    • unknown's avatar
      Remove unportable constructs in loaddata.test · 92f1cf38
      unknown authored
      92f1cf38
    • unknown's avatar
      Move "analyze_testcase_failure" to mysqltest(since it knows best when · c71a28d8
      unknown authored
      to perform this analyzis)
      
      
      client/mysqltest.c:
        Add function 'show_query' and use it to output some debug queries when
        "sync_with_master" has failed.
      mysql-test/mysql-test-run.pl:
        Move "analyze_testcase_failure" to mysqltest
      c71a28d8
    • unknown's avatar
      Merge pilot.(none):/data/msvensson/mysql/bug28812/my50-bug28812 · 22be5295
      unknown authored
      into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
      
      22be5295
    • unknown's avatar
      Merge pilot.(none):/data/msvensson/mysql/yassl_import/my50-yassl_import · f61d6421
      unknown authored
      into  pilot.(none):/data/msvensson/mysql/bug28812/my50-bug28812
      
      f61d6421
    • unknown's avatar
      Bug#28812 rpl_ssl fails due to assert in extra/yassl/src/socket_wrapper.cpp:117 · 6bae6a8c
      unknown authored
       - Merge sslaccept and sslconnect.
       - Atomically "reset" vio to VIO_TYPE_SSL when the SSL connection has
         succeeded, this avoids having to revert anything and thus protects
         against "close_active_vio" in the middle.
       - Add some variance to the testcase
      
      
      mysql-test/t/rpl_ssl.test:
        Add some variance by running two selects before stopping the slave
        Check that number of records in t1 are equal on master and slave
      vio/viossl.c:
        Rewrite sslconnect and sslaccept to automically "reset" the vio
        to VIO_TYPE_SSL. Also use the fd from 'SSL_get_fd' to avoid
        setting vio->sd to -1, that previously occured when "close_active_vio"
        was called during connect/accept.
        
        Merge the two function since they were exactly the same except for one line.
        
        Update the DBUG printouts to be generic(i.e use peer instead of client/server).
      6bae6a8c
    • unknown's avatar
      Import yaSSL version 1.7.2 · bd1bd8b9
      unknown authored
      - Fix bug#27265
      - Support for fixing bug#18441
      
      
      extra/yassl/include/openssl/crypto.h:
        Import patch yassl.diff
      extra/yassl/include/openssl/ssl.h:
        Import patch yassl.diff
      extra/yassl/include/yassl_int.hpp:
        Import patch yassl.diff
      extra/yassl/src/handshake.cpp:
        Import patch yassl.diff
      extra/yassl/src/socket_wrapper.cpp:
        Import patch yassl.diff
      extra/yassl/src/ssl.cpp:
        Import patch yassl.diff
      extra/yassl/src/yassl_int.cpp:
        Import patch yassl.diff
      extra/yassl/taocrypt/src/coding.cpp:
        Import patch yassl.diff
      extra/yassl/taocrypt/src/crypto.cpp:
        Import patch yassl.diff
      extra/yassl/include/openssl/des_old.h:
        Import patch yassl.diff
      extra/yassl/include/openssl/evp.h:
        Import patch yassl.diff
      extra/yassl/include/openssl/hmac.h:
        Import patch yassl.diff
      extra/yassl/include/openssl/objects.h:
        Import patch yassl.diff
      extra/yassl/include/openssl/sha.h:
        Import patch yassl.diff
      extra/yassl/include/openssl/prefix_ssl.h:
        Update prefixes
      bd1bd8b9
    • unknown's avatar
      Merge ramayana.hindu.god:/home/tsmith/m/bk/50 · f05bb8b0
      unknown authored
      into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
      
      
      sql/sql_show.cc:
        Auto merged
      f05bb8b0
  6. 27 Aug, 2007 4 commits
    • unknown's avatar
      Bug#30632 HANDLER read failure causes hang · a5415f5e
      unknown authored
      If, after the tables are locked, one of the conditions to read from a
      HANDLER table is not met, the handler code wrongly jumps to a error path
      that won't unlock the tables.
      
      The user-visible effect is that after a error in a handler read command,
      all subsequent handler operations on the same table will hang.
      
      The fix is simply to correct the code to jump to the (same) error path that
      unlocks the tables.
      
      
      mysql-test/r/handler.result:
        Bug#30632 test case result
      mysql-test/t/handler.test:
        Bug#30632 test case
      sql/sql_handler.cc:
        Always unlock the internal and external table level locks if any of the conditions
        (including errors) to read from a HANDLER table are not met.
      a5415f5e
    • unknown's avatar
      Bug#25164 create table `a` as select * from `A` hangs · 80c782aa
      unknown authored
      The problem from a user's perspective: user creates table A, and then tries
      to CREATE TABLE a SELECT from A - and this causes a deadlock error, a hang,
      or fails with a debug assert, but only if the storage engine is InnoDB.
      
      The origin of the problem: InnoDB uses case-insensitive collation
      (system_charset_info) when looking up the internal table share, thus returning
      the same share for 'a' and 'A'.
      
      Cause of the user-visible behavior: since the same share is returned to SQL
      locking subsystem, it assumes that the same table is first locked (within the
      same session) for WRITE, and then for READ, and returns a deadlock error.
      However, the code is wrong in not properly cleaning up upon an error, leaving
      external locks in place, which leads to assertion failures and hangs.
      
      Fix that has been implemented: the SQL layer should properly propagate the
      deadlock error, cleaning up and freeing all resources.
      
      Further work towards a more complete solution: InnoDB should not use case
      insensitive collation for table share hash if table names on disk honor the case.
      
      
      mysql-test/r/innodb-deadlock.result:
        Bug#25164 test case result
      mysql-test/t/innodb-deadlock.test:
        Bug#25164 test case. The CREATE TABLE may fail depending on the character set
        of the system and filesystem, but it should never hang.
      sql/lock.cc:
        Unlock the storage engine "external" table level locks, if the MySQL thr_lock
        locking subsystem detects a deadlock error.
      80c782aa
    • unknown's avatar
      adjust version number · 6cb66383
      unknown authored
      
      configure.in:
        adjust version number after 5.0.48 clone-off
      6cb66383
    • unknown's avatar
      Bug#29805 mysql_upgrade test fail if ~/.my.cnf contain a password · a1cf4f0a
      unknown authored
       - "mysql" and "mysqlcheck" should not read defaults file
      
      
      client/mysql_upgrade.c:
        Instruct "mysql" and "mysqlcheck" that is invoked by "mysql_upgrade" not
        to read defaults file, they should get all the parameters they need from
        mysql_upgrade(that read the default file)
      a1cf4f0a