1. 17 Aug, 2007 1 commit
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug30396 · 67bdaac9
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.1-opt-bug30396
      
      
      libmysql/libmysql.c:
        Auto merged
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      tests/mysql_client_test.c:
        Manual merge
      67bdaac9
  2. 15 Aug, 2007 4 commits
    • unknown's avatar
      Fixed bug #30396. · 42a6a150
      unknown authored
      The bug caused memory corruption for some queries with top OR level
      in the WHERE condition if they contained equality predicates and 
      other sargable predicates in disjunctive parts of the condition.
      
      The corruption happened because the upper bound of the memory
      allocated for KEY_FIELD and SARGABLE_PARAM internal structures
      containing info about potential lookup keys was calculated incorrectly
      in some cases. In particular it was calculated incorrectly when the
      WHERE condition was an OR formula with disjuncts being AND formulas
      including equalities and other sargable predicates.
      
      
      mysql-test/r/select.result:
        Added a test case for bug #30396.
      mysql-test/t/select.test:
        Added a test case for bug #30396.
      sql/item_cmpfunc.h:
        Removed max_members from the COND_EQUAL class as not useful anymore.
      sql/sql_base.cc:
        Added the max_equal_elems field to the st_select_lex structure.
      sql/sql_lex.cc:
        Added the max_equal_elems field to the st_select_lex structure.
      sql/sql_lex.h:
        Added the max_equal_elems field to the st_select_lex structure.
        The field contains the maximal number of elements in multiple equalities
        built for the query conditions.
      sql/sql_select.cc:
        Fixed bug #30396.
        The bug caused memory corruption for some queries with top OR level
        in the WHERE condition if they contained equality predicates and 
        other sargable predicates in disjunctive parts of the condition.
        
        The corruption happened because the upper bound of the memory
        allocated for KEY_FIELD and SARGABLE_PARAM internal structures
        containing info about potential lookup keys was calculated incorrectly
        in some cases. In particular it was calculated incorrectly when the
        WHERE condition was an OR formula with disjuncts being AND formulas
        including equalities and other sargable predicates.
         
        The max_equal_elems field to the st_select_lex structure is used now
        to calculate the above mentioned upper bound. The field contains the
        maximal number of elements in multiple equalities built for the query
        conditions.
      42a6a150
    • unknown's avatar
      Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · d5374505
      unknown authored
      into  dl145s.mysql.com:/data0/mhansson/my51-bug28570
      
      
      sql/handler.cc:
        Auto merged
      d5374505
    • unknown's avatar
      Merge linux-st28.site:/home/martin/mysql/src/bug28570/my50-bug28570 · 64afa130
      unknown authored
      into  linux-st28.site:/home/martin/mysql/src/bug28570/my51-bug28570
      
      
      sql/opt_range.cc:
        Auto merged
      mysql-test/include/mix1.inc:
        Bug#28570: Hand merged test case
      mysql-test/r/innodb_mysql.result:
        Bug#28570: Hand merged test result
      sql/handler.cc:
        Bug#28570: Hand merged file
      64afa130
    • unknown's avatar
      bug#28570: handler::index_read() is called with different find_flag when · 546c7fcf
      unknown authored
      ORDER BY is used
      
      The range analysis module did not correctly signal to the 
      handler that a range represents a ref (EQ_RANGE flag). This causes 
      non-range queries like 
      SELECT ... FROM ... WHERE keypart_1=const, ..., keypart_n=const 
      ORDER BY ... FOR UPDATE
      to wait for a lock unneccesarily if another running transaction uses
      SELECT ... FOR UPDATE on the same table.
      
      Fixed by setting EQ_RANGE for all range accesses that represent 
      an equality predicate. 
      
      
      mysql-test/r/innodb_mysql.result:
        bug#28570: Test Result
      mysql-test/t/innodb_mysql.test:
        bug#28570: Test Case
      sql/handler.cc:
        bug#28570: Updated comment
      sql/opt_range.cc:
        bug#28570: Removed the criterion that key has to be unique (HA_NOSAME) in 
        order for the EQ_RANGE flag to be set. It is sufficient that the range 
        represent a ref access.
      546c7fcf
  3. 14 Aug, 2007 5 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · a6f05979
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/29948-bug-5.0-opt-mysql
      
      
      tests/mysql_client_test.c:
        Manually merged
      a6f05979
    • unknown's avatar
      Bug#29948: Unchecked NULL pointer caused server crash. · 76a59b0b
      unknown authored
      The cli_read_binary_rows function is used to fetch data from the server
      after a prepared statement execution. It accepts a statement handler and gets
      the connection handler from it. But when the auto-reconnect option is set
      the connection handler is reset to NULL after reconnection because the
      prepared statement is lost and the handler became useless. This case
      wasn't checked in the cli_read_binary_rows function and caused server crash.
      
      Now the cli_read_binary_rows function checks the connection handler to be
      not NULL and returns an error if it is.
      
      
      tests/mysql_client_test.c:
        Added a test case for the bug#29948: Unchecked NULL pointer caused server crash.
      libmysql/libmysql.c:
        Bug#29948: Unchecked NULL pointer caused server crash.
        Now the cli_read_binary_rows function checks the connection handler to be
        not NULL and returns an error if it is.
      76a59b0b
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt · 71e2a900
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.1-opt
      
      71e2a900
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.1 · 923a29c3
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.1-opt
      
      923a29c3
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0 · 8ef0024e
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      8ef0024e
  4. 13 Aug, 2007 5 commits
  5. 10 Aug, 2007 4 commits
  6. 08 Aug, 2007 5 commits
  7. 06 Aug, 2007 16 commits