1. 03 Apr, 2007 2 commits
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-4.1-opt · 5fb89701
      unknown authored
      into  olga.mysql.com:/home/igor/mysql-5.0-opt
      
      
      sql/item_cmpfunc.cc:
        Auto merged
      mysql-test/r/order_by.result:
        Manual merge
      mysql-test/t/order_by.test:
        Manual merge
      sql/item_cmpfunc.h:
        Manual merge
      5fb89701
    • unknown's avatar
      Fixed bug #27532: wrong results with ORDER/GROUP BY queries containing · 0ee34b1c
      unknown authored
      IN/BETWEEN predicates in sorting expressions.
      Wrong results may occur when the select list contains an expression
      with IN/BETWEEN predicate that differs from a sorting expression by
      an additional NOT only.
       
      Added the method Item_func_opt_neg::eq to compare correctly expressions
      containing [NOT] IN/BETWEEN.
      The eq method inherited from the Item_func returns TRUE when comparing
      'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.  
      
      
      mysql-test/r/order_by.result:
        Added a test case for bug #27532.
      mysql-test/t/order_by.test:
        Added a test case for bug #27532.
      sql/item_cmpfunc.cc:
        Fixed bug #27532.
        Added the method Item_func_opt_neg::eq to compare correctly expressions
        containing [NOT] IN/BETWEEN.
        The eq method inherited from the Item_func returns TRUE when comparing
        'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
      sql/item_cmpfunc.h:
        Added the method Item_func_opt_neg::eq to compare correctly expressions
        containing [NOT] IN/BETWEEN.
        The eq method inherited from the Item_func returns TRUE when comparing
        'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
      0ee34b1c
  2. 02 Apr, 2007 2 commits
  3. 31 Mar, 2007 6 commits
  4. 30 Mar, 2007 7 commits
    • unknown's avatar
      Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl · f47c2328
      unknown authored
      into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
      
      
      sql/mysqld.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      f47c2328
    • unknown's avatar
      BUG#26624, pushbuild fixes: Merge to 5.0 · 2016b21c
      unknown authored
      
      mysql-test/r/range.result:
        Auto merged
      mysql-test/t/range.test:
        Auto merged
      2016b21c
    • unknown's avatar
      BUG#26624: high mem usage (crash) in range optimizer · 080c0c7a
      unknown authored
      Pushbuild fixes: 
       - Make MAX_SEL_ARGS smaller (even 16K records_in_range() calls is 
         more than it makes sense to do in typical cases)
       - Don't call sel_arg->test_use_count() if we've already allocated 
         more than MAX_SEL_ARGs elements. The test will succeed but will take
         too much time for the test suite (and not provide much value).
      
      
      mysql-test/r/range.result:
        BUG#26624: high mem usage (crash) in range optimizer
        Pushbuild fixes: make the test go faster
      mysql-test/t/range.test:
        BUG#26624: high mem usage (crash) in range optimizer
        Pushbuild fixes: make the test go faster
      080c0c7a
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1 · ade8bbf4
      unknown authored
      into  mysql.com:/home/kent/bk/tmp/mysql-4.1-build
      
      
      ade8bbf4
    • unknown's avatar
      Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the · 86a0ffdd
      unknown authored
      NO_AUTO_VALUE_ON_ZERO mode.
      
      In the NO_AUTO_VALUE_ON_ZERO mode the table->auto_increment_field_not_null
      variable is used to indicate that a non-NULL value was specified by the user
      for an auto_increment column. When an INSERT .. ON DUPLICATE updates the
      auto_increment field this variable is set to true and stays unchanged for the
      next insert operation. This makes the next inserted row sometimes wrongly have
      0 as the value of the auto_increment field.
      
      Now the fill_record() function resets the table->auto_increment_field_not_null
      variable before filling the record.
      The table->auto_increment_field_not_null variable is also reset by the
      open_table() function for a case if we missed some auto_increment_field_not_null
      handling bug.
      Now the table->auto_increment_field_not_null is reset at the end of the
      mysql_load() function.
      
      Reset the table->auto_increment_field_not_null variable after each
      write_row() call in the copy_data_between_tables() function.
      
      
      
      
      sql/field_conv.cc:
        Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the 
        NO_AUTO_VALUE_ON_ZERO mode.
        A comment is corrected.
      sql/handler.cc:
        Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the 
        NO_AUTO_VALUE_ON_ZERO mode.
        Now the handler::update_auto_increment() function doesn't reset the
        table->auto_increment_field_not_null variable as it is done in the
        fill_record() function.
      sql/sql_base.cc:
        Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the 
        NO_AUTO_VALUE_ON_ZERO mode.
        Now the fill_record() function resets the table->auto_increment_field_not_null
        variable before filling the record.
        The table->auto_increment_field_not_null variable is also reset by the
        open_table() function for a case if we missed some auto_increment_field_not_null
        handling bug.
      sql/sql_insert.cc:
        Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the
        NO_AUTO_VALUE_ON_ZERO mode.
        Now the the table->auto_increment_field_not_null is reset at the end of the
        mysql_insert() an in the select_insert class destructor.
      sql/sql_load.cc:
        Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the 
        NO_AUTO_VALUE_ON_ZERO mode.
        Now the table->auto_increment_field_not_null is reset at the end of the
        mysql_load() function.
      sql/sql_table.cc:
        Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the
        NO_AUTO_VALUE_ON_ZERO mode.
        Reset the table->auto_increment_field_not_null variable after each
        write_row() call in the copy_data_between_tables() function.
      sql/table.h:
        Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the
        NO_AUTO_VALUE_ON_ZERO mode.
        A comment added.
      mysql-test/r/insert_update.result:
        Added the test case for the bug#23233: 0 as LAST_INSERT_ID() after
        INSERT .. ON DUPLICATE in the NO_AUTO_VALUE_ON_ZERO mode.
      mysql-test/t/insert_update.test:
        Added the test case for the bug#23233: 0 as LAST_INSERT_ID() after
        INSERT .. ON DUPLICATE in the NO_AUTO_VALUE_ON_ZERO mode.
      86a0ffdd
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · fe8c67ef
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-axmrg
      
      
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/ha_ndbcluster.h:
        Auto merged
      fe8c67ef
    • unknown's avatar
      Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 905bc913
      unknown authored
      into  mysql.com:/home/bar/mysql-5.0.b22638
      
      
      905bc913
  5. 29 Mar, 2007 14 commits
  6. 28 Mar, 2007 9 commits
    • unknown's avatar
      configure.in: · 406fd12a
      unknown authored
        Don't install ndb man pages if no ndb configured
      config-win.h, CMakeLists.txt, README, configure.js:
        Removed Cybozu patches
      
      
      configure.in:
        Don't install ndb man pages if no ndb configured
      CMakeLists.txt:
        Removed Cybozu patches
      include/config-win.h:
        Removed Cybozu patches
      win/README:
        Removed Cybozu patches
      win/configure.js:
        Removed Cybozu patches
      406fd12a
    • unknown's avatar
      Merge mysql.com:/home/psergey/mysql-4.1-bug26625 · edd5a859
      unknown authored
      into  mysql.com:/home/psergey/mysql-4.1-bug26624-r2
      
      
      edd5a859
    • unknown's avatar
      BUG#26624: high mem usage (crash) in range optimizer · 9639eb3d
      unknown authored
      - Added PARAM::alloced_sel_args where we count the # of SEL_ARGs
        created by SEL_ARG tree cloning operations.
      - Made the range analyzer to shortcut and not do any more cloning 
        if we've already created MAX_SEL_ARGS SEL_ARG objects in cloning.
      - Added comments about space complexity of SEL_ARG-graph 
        representation.
      
      
      mysql-test/r/range.result:
        BUG#26624: Testcase
      mysql-test/t/range.test:
        BUG#26624: Testcase
      9639eb3d
    • unknown's avatar
      BUG#25521 - optimize table, delete, show table status leads to table · e8a25c95
      unknown authored
                  losing it's .MYD
      
      When OPTIMIZE TABLE is completed it attempts to rename temporary
      file to original name. This step may fail on windows when a file
      is opened. As a result data file might be deleted and optimized
      copy of file (table_name.MYD) remains.
      
      This situation is handled properly by my_delete_allow_opened, so
      use it instead of my_delete when attempting to rename a file on
      windows.
      
      No suitable test case for this bug.
      
      
      mysys/my_redel.c:
        Attempting to delete an opened file and to immediately create
        a new one with the same name may result in my_redel failure on
        windows. It may fail because file is not deleted until it is
        closed.
        
        This situation is handled properly by my_delete_allow_opened, so
        use it instead of my_delete.
      e8a25c95
    • unknown's avatar
      Delete: sql/mysqld.cc.rej · 60189d35
      unknown authored
      60189d35
    • unknown's avatar
      BUG#26625: crash in range optimizer (out of mem) · 425304f5
      unknown authored
      - Define Sql_alloc::operator new() as thow() so that C++ compiler
        handles NULL return values
      (there is no testcase as there is no portable way to set limit on the 
      amount of memory that a process can allocate)
      
      
      sql/sql_list.h:
        BUG#26625: crash in range optimizer (out of mem) 
        - Define Sql_alloc::operator new() as thow() so that C++ compiler
          handles NULL return values
      425304f5
    • unknown's avatar
      Bug#22638 SOUNDEX broken for international characters · b5cc4fa6
      unknown authored
      Problem: SOUNDEX returned an invalid string for international
      characters in multi-byte character sets.
      For example: for a Chinese/Japanese 3-byte long character
      _utf8 0xE99885 it took only the very first byte 0xE9,
      put it into the outout string and then appended with three 
      DIGIT ZERO characters, so the result was 0xE9303030 - which
      is an invalide utf8 string.
      Fix: make SOUNDEX() multi-byte aware and - put only complete
      characters into result, thus return only valid strings.
      This patch also makes SOUNDEX() compatible with UCS2.
      
      
      mysql-test/r/ctype_ucs.result:
        Adding tests
      mysql-test/r/ctype_utf8.result:
        Adding tests
      mysql-test/t/ctype_ucs.test:
        Adding tests
      mysql-test/t/ctype_utf8.test:
        Adding tests
      sql/item_strfunc.cc:
        Making soundex multi-byte aware.
      b5cc4fa6
    • unknown's avatar
      Bug #27300: · c8f1cf4c
      unknown authored
        Geometry fields have a result type string and a 
        special subclass to cater for the differences
        between them and the base class (just like 
        DATE/TIME).
        When creating temporary tables for results of 
        functions that return results of type GEOMETRY
        we must construct fields of the derived class 
        instead of the base class.
        Fixed by creating a GEOMETRY field (Field_geom) 
        instead of a generic BLOB (Field_blob) in temp 
        tables for the results of GIS functions that 
        have GEOMETRY return type (Item_geometry_func).
      
      
      mysql-test/r/gis.result:
        Bug #27300: test case
      mysql-test/t/gis.test:
        Bug #27300: test case
      sql/item.cc:
        Bug #27300:
          Create a GEOMETRY field (Field_geom) instead of 
          a generic BLOB (Field_blob) in temp tables for 
          the results of GIS functions (Item_geometry_func).
      sql/sql_select.cc:
        Bug #27300:
          Create a GEOMETRY field (Field_geom) instead of 
          a generic BLOB (Field_blob) in temp tables for 
          the results of GIS functions (Item_geometry_func).
      c8f1cf4c
    • unknown's avatar
      After merge fix · 660cb2fd
      unknown authored
      660cb2fd