1. 29 Aug, 2007 1 commit
    • unknown's avatar
      Bug #30244: row_count/found_rows does not replicate well · 385ef618
      unknown authored
       The functions ROW_COUNT/FOUND_ROWS are indeed not safe to be used in 
       statement based replication.
       Added code to declare them as such and switch the statement they're in
       to row based logging for mixed mode.
      
      
      sql/item_create.cc:
        Bug #30244: row_count/found_rows does not replicate well
         - add the functions to the set of "unsafe functions" 
           for statement based replication
      mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result:
        BitKeeper file /home/kgeorge/mysql/work/B30244-5.1-opt/mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result
      mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test:
        BitKeeper file /home/kgeorge/mysql/work/B30244-5.1-opt/mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test
      385ef618
  2. 17 Aug, 2007 3 commits
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.1-opt · d3291762
      unknown authored
      into  mysql.com:/home/hf/work/27405/my51-27405
      
      
      sql/ha_partition.cc:
        Auto merged
      d3291762
    • unknown's avatar
      Post-merge fix. · 0d9046ec
      unknown authored
      0d9046ec
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug30396 · 59a11546
      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
      59a11546
  3. 15 Aug, 2007 4 commits
    • unknown's avatar
      Fixed bug #30396. · a8f8e548
      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.
      a8f8e548
    • unknown's avatar
      Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · fae4347f
      unknown authored
      into  dl145s.mysql.com:/data0/mhansson/my51-bug28570
      
      
      sql/handler.cc:
        Auto merged
      fae4347f
    • unknown's avatar
      Merge linux-st28.site:/home/martin/mysql/src/bug28570/my50-bug28570 · eea647b5
      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
      eea647b5
    • unknown's avatar
      bug#28570: handler::index_read() is called with different find_flag when · 01f8130a
      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.
      01f8130a
  4. 14 Aug, 2007 5 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 83fdcb2b
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/29948-bug-5.0-opt-mysql
      
      
      tests/mysql_client_test.c:
        Manually merged
      83fdcb2b
    • unknown's avatar
      Bug#29948: Unchecked NULL pointer caused server crash. · e34aa82d
      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.
      e34aa82d
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt · 9d819b7d
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.1-opt
      
      
      9d819b7d
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.1 · b457d240
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.1-opt
      
      
      b457d240
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0 · de619bd1
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      de619bd1
  5. 13 Aug, 2007 5 commits
  6. 10 Aug, 2007 4 commits
  7. 08 Aug, 2007 5 commits
  8. 06 Aug, 2007 13 commits