1. 08 Jul, 2007 1 commit
    • unknown's avatar
      Bug#29310: An InnoDB table was updated when the data wasn't actually changed. · a68a457b
      unknown authored
      When a table is being updated it has two set of fields - fields required for
      checks of conditions and fields to be updated. A storage engine is allowed
      not to retrieve columns marked for update. Due to this fact records can't
      be compared to see whether the data has been changed or not. This makes the
      server always update records independently of data change.
      
      Now when an auto-updatable timestamp field is present and server sees that
      a table handle isn't going to retrieve write-only fields then all of such
      fields are marked as to be read to force the handler to retrieve them.
      
      
      mysql-test/r/innodb_mysql.result:
        Added a test case for the bug#29310: An InnoDB table was updated when the data wasn't actually changed.
      mysql-test/include/mix1.inc:
        Added a test case for the bug#29310: An InnoDB table was updated when the data wasn't actually changed.
      sql/sql_update.cc:
        Bug#29310: An InnoDB table was updated when the data wasn't actually changed.
        Now the mysql_update function when an auto-updatable timestamp field is
        present marks write-only fields as to be read to force the table handler
        to retrieve them.
      sql/sql_insert.cc:
        Bug#29310: An InnoDB table was updated when the data wasn't actually changed.
        Now the write_record function can compare records when fileds to be written is
        a subset of the fields to be read while updating a record.
      a68a457b
  2. 04 Jul, 2007 7 commits
  3. 03 Jul, 2007 14 commits
    • unknown's avatar
      loaddata.result, loaddata.test: · 8d035c57
      unknown authored
        Updated test case for bug #29294.
      
      
      mysql-test/t/loaddata.test:
        Updated test case for bug #29294.
      mysql-test/r/loaddata.result:
        Updated test case for bug #29294.
      8d035c57
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/4.1-opt · c700a776
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_load.cc:
        Auto merged
      mysql-test/r/loaddata.result:
        Merge with 4.1-opt.
      mysql-test/t/loaddata.test:
        Merge with 4.1-opt.
      c700a776
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · f57e4b99
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/4.1-opt
      
      
      f57e4b99
    • unknown's avatar
      loaddata.result, loaddata.test: · bc3e0086
      unknown authored
        Test case update for bug #29294.
      
      
      mysql-test/t/loaddata.test:
        Test case update for bug #29294.
      mysql-test/r/loaddata.result:
        Test case update for bug #29294.
      bc3e0086
    • unknown's avatar
      sql_class.cc: · 19a5d20c
      unknown authored
        Windows compilation error fix.
      
      
      sql/sql_class.cc:
        Windows compilation error fix.
      19a5d20c
    • unknown's avatar
      Fixed bug #29294. · 166d3c91
      unknown authored
      The `SELECT 'r' INTO OUTFILE ... FIELDS ENCLOSED BY 'r' ' statement
      encoded the 'r' string to a 4 byte string of value x'725c7272'
      (sequence of 4 characters: r\rr).
      The LOAD DATA statement decoded this string to a 1 byte string of
      value x'0d' (ASCII Carriage Return character) instead of the original
      'r' character.
      The same error also happened with the FIELDS ENCLOSED BY clause
      followed by special characters: 'n', 't', 'r', 'b', '0', 'Z' and 'N'.
      
      NOTE 1: This is a result of the undocumented feature: the LOAD DATA INFILE
      recognises 2-byte input sequences like \n, \t, \r and \Z in addition
      to documented 2-byte sequences: \0 and \N. This feature should be
      documented (here backspace character is a default ESCAPED BY character,
      in the real-life example it may be any ESCAPED BY character).
      
      NOTE 2, changed behaviour:
      Now the `SELECT INTO OUTFILE' statement with the `FIELDS ENCLOSED BY'
      clause followed by one of: 'n', 't', 'r', 'b', '0', 'Z' or 'N' characters
      encodes this special character itself by doubling it ('r' --> 'rr'),
      not by prepending it with an escape character.
      
      
      sql/sql_class.h:
        Fixed bug #29294.
        The ESCAPE_CHARS macro constant is defined to enumerate
        symbolic names of espace-sequences like  '\n', '\t' etc.
        The select_export::is_ambiguous_field_sep field has been added
        to distinguish special values of the field_sep field from
        another values (see ESCAPE_CHARS).
      sql/sql_class.cc:
        Fixed bug #29294.
        The select_export::send_data method has been modified to
        encode special values of the field_sep field by
        doubling of those values instead of prepending them with a
        value of the escape_char field.
        Example: The SELECT 'r' INTO OUTFILE FIELDS ENCLOSED BY 'r'
        now produces the 'rr' output string instead of x'5c72'
        (i.e. instead of sequence of 2 bytes: \ and r).
      sql/sql_load.cc:
        Fixed bug #29294.
        Added commentary for the READ_INFO::unescape method.
      mysql-test/t/loaddata.test:
        Updated test case for bug #29294.
      mysql-test/r/loaddata.result:
        Updated test case for bug #29294.
      166d3c91
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb · 48782e34
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-rpl
      
      
      storage/ndb/test/run-test/daily-basic-tests.txt:
        Auto merged
      48782e34
    • unknown's avatar
      Merge mysql.com:/home/bar/mysql-work/mysql-5.0.b27345 · c45f8f94
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.1-new-rpl
      
      
      strings/ctype-uca.c:
        Auto merged
      strings/ctype-mb.c:
        After merge fix.
      strings/ctype-ucs2.c:
        After merge fix.
      c45f8f94
    • unknown's avatar
      Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 7edcebc9
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.0.b27345
      
      
      7edcebc9
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 81194444
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28983-2-5.0-opt
      
      
      81194444
    • unknown's avatar
      Bug #28983: 'reset master' in multiple threads and innodb tables · 841cf405
      unknown authored
      asserts debug binary
      
      We can't reliably check if the binary log is opened without 
      acquiring its mutex. 
      Fixed by removing this check.
      
      
      sql/log.cc:
        Bug #28983: 
        can't reliably check if bin_log is open outside of its mutex
      841cf405
    • unknown's avatar
      Merge perch.ndb.mysql.com:/home/jonas/src/51-telco-gca · b5a61001
      unknown authored
      into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
      
      
      storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
        Auto merged
      b5a61001
    • unknown's avatar
      Merge perch.ndb.mysql.com:/home/jonas/src/50-work · fb349433
      unknown authored
      into  perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
      
      
      storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
        Auto merged
      fb349433
    • unknown's avatar
      ndb - bug#29354 - Incorrect handling of replica REDO during SR (5.0) · d55ca617
      unknown authored
        Not very clever fix for DIH incorrect REDO handling
        - Dont report GCP_SAVE_CONF until first LCP has been complete during NR
      
      
      ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
        Not very clever fix for DIH incorrect REDO handling
          - Dont report GCP_SAVE_CONF until first LCP has been complete during NR
      d55ca617
  4. 02 Jul, 2007 16 commits
  5. 01 Jul, 2007 2 commits
    • unknown's avatar
      Fixed bug #25798. · 07dcc800
      unknown authored
      This bug may manifest itself not only with the queries for which
      the index-merge access method is chosen. It also may display
      itself for queries with DISTINCT.
      
      The bug was in how the Unique::get method used the merge_buffers
      function. To compare elements in the the queue employed by
      merge_buffers() it must use the buffpek_compare function rather
      than the function for binary comparison. 
      
      
      mysql-test/r/innodb_mysql.result:
        Added a test case for bug #25798.
      mysql-test/t/innodb_mysql.test:
        Added a test case for bug #25798.
      sql/filesort.cc:
        Fixed bug #25798.
        The function merge_buffers() when called from the Uniques::get method
        must use function buffpek_compare to compare elements in the queue it
        employs. The pointer to buffpek_compare and the info for the function
        that compares sorted records are passed to merge_buffers through certain 
        designated fields of the SORTPARAM structure.
      sql/sql_sort.h:
        Fixed bug #25798.
        Added fields to the SORTPARAM structure to be used in the function 
        merge_buffers when called by the Uniques::get method.
      sql/uniques.cc:
        Fixed bug 25798.
        The function merge_buffers() when called from the Uniques::get method
        must use function buffpek_compare to compare elements in the queue it
        employes.
      07dcc800
    • unknown's avatar
      Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime · 418996f3
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
      
      
      sql/sql_class.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      418996f3