1. 02 Apr, 2007 3 commits
    • unknown's avatar
      Merge perch.ndb.mysql.com:/home/jonas/src/50-work · 521cf75d
      unknown authored
      into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
      
      
      ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp:
        Auto merged
      ndb/src/mgmsrv/InitConfigFileParser.cpp:
        Auto merged
      521cf75d
    • unknown's avatar
      ndb - bug#27581 · b6d5de04
      unknown authored
        make sure not to leave partially initialized pagerage-records
      
      
      ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp:
        make sure not to leave partially initialized pagerage-records
      b6d5de04
    • unknown's avatar
      ndb - fix bug in my.cnf config handling · c49cc3b7
      unknown authored
        put64 for 64-bit variables
      
      
      ndb/src/mgmsrv/InitConfigFileParser.cpp:
        put64
      c49cc3b7
  2. 31 Mar, 2007 1 commit
  3. 30 Mar, 2007 4 commits
    • unknown's avatar
      BUG#26624, pushbuild fixes: Merge to 5.0 · c95249cd
      unknown authored
      
      mysql-test/r/range.result:
        Auto merged
      mysql-test/t/range.test:
        Auto merged
      c95249cd
    • unknown's avatar
      BUG#26624: high mem usage (crash) in range optimizer · 3c0080f0
      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
      3c0080f0
    • unknown's avatar
      Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the · e8da4d1b
      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.
      e8da4d1b
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 2fabc70c
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-axmrg
      
      
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/ha_ndbcluster.h:
        Auto merged
      2fabc70c
  4. 29 Mar, 2007 10 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 16622127
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-axmrg
      
      16622127
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines · 9a3e8204
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG25521/mysql-5.0-engines
      
      9a3e8204
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 68b2dd77
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B26815-5.0-opt
      
      
      sql/item_sum.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      68b2dd77
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B26815-5.0-opt · 1b6ef276
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B26815-5.0-opt
      
      
      mysql-test/r/func_gconcat.result:
        Auto merged
      mysql-test/t/func_gconcat.test:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      1b6ef276
    • unknown's avatar
      Bug #26815: · 869b080e
      unknown authored
       When creating a temporary table the concise column type
       of a string expression is decided based on its length:
       - if its length is under 512 it is stored as either 
         varchar or char.
       - otherwise it is stored as a BLOB.
       
       There is a flag (convert_blob_length) to create_tmp_field 
       that, when >0 allows to force creation of a varchar if the
       max blob length is under convert_blob_length.
       However it must be verified that convert_blob_length 
       (settable through a SQL option in some cases) is 
       under the maximum that can be stored in a varchar column.
       While performing that check for expressions in 
       create_tmp_field_from_item the max length of the blob was
       used instead. This causes blob columns to be created in the
       heap temp table used by GROUP_CONCAT (where blobs must not
       be created in the temp table because of the constant 
       convert_blob_length that is passed to create_tmp_field() ).
       And since these blob columns are not expected in that place
       we get wrong results.
       Fixed by checking that the value of the flag variable is 
       in the limits that fit into VARCHAR instead of the max length
       of the blob column.
      
      
      mysql-test/r/func_gconcat.result:
        Bug #26815: test case
      mysql-test/t/func_gconcat.test:
        Bug #26815: test case
      sql/item_sum.cc:
        Bug #26815: wrong length was checked
      sql/sql_select.cc:
        Bug #26815: wrong length was checked
      869b080e
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-build · f2e34a49
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
      
      f2e34a49
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 91c9365b
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B27300-5.0-opt
      
      91c9365b
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 29b58990
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B27300-5.0-opt
      
      29b58990
    • unknown's avatar
      Merge of BUG#26624 and BUG#26625 · 43a5c4e7
      unknown authored
      
      mysql-test/r/range.result:
        Auto merged
      mysql-test/t/range.test:
        Auto merged
      43a5c4e7
    • unknown's avatar
      BUG#26624: high mem usage (crash) in range optimizer · 5daca260
      unknown authored
       - Post-review fixes
      
      5daca260
  5. 28 Mar, 2007 18 commits
    • unknown's avatar
      configure.in: · c566b272
      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
      c566b272
    • unknown's avatar
      Merge mysql.com:/home/psergey/mysql-4.1-bug26625 · 3362a93e
      unknown authored
      into  mysql.com:/home/psergey/mysql-4.1-bug26624-r2
      
      3362a93e
    • unknown's avatar
      BUG#26624: high mem usage (crash) in range optimizer · 968f7b47
      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
      968f7b47
    • unknown's avatar
      BUG#25521 - optimize table, delete, show table status leads to table · fe689587
      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.
      fe689587
    • unknown's avatar
      Delete: sql/mysqld.cc.rej · 5cc44c1c
      unknown authored
      5cc44c1c
    • unknown's avatar
      BUG#26625: crash in range optimizer (out of mem) · 01b23745
      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
      01b23745
    • unknown's avatar
      Bug #27300: · 82d3d509
      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).
      82d3d509
    • unknown's avatar
      After merge fix · bce2a095
      unknown authored
      bce2a095
    • unknown's avatar
      3f29ab35
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.1-axmrg · ba503f79
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-axmrg
      
      
      myisam/mi_range.c:
        Auto merged
      myisam/mi_search.c:
        Auto merged
      mysql-test/r/heap_btree.result:
        Auto merged
      mysql-test/t/myisam.test:
        Auto merged
      sql/ha_myisam.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      mysql-test/r/myisam.result:
        Manual merge from 4.1
      mysql-test/t/heap_btree.test:
        Manual merge from 4.1
      ba503f79
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-5.0--main · 5c88c44e
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-axmrg
      
      5c88c44e
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 92533c40
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-axmrg
      
      92533c40
    • unknown's avatar
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.1--main · d92eb34a
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-axmrg
      
      d92eb34a
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · de7f43cf
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-axmrg
      
      de7f43cf
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.1--team · 8a1859f6
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-axmrg
      
      
      sql/ha_myisam.cc:
        Auto merged
      8a1859f6
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.1-bug26231 · c26c1cfc
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-axmrg
      
      c26c1cfc
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines · 85f15be1
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-bug24985
      
      
      mysql-test/r/heap_btree.result:
        Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
                    causes incorrect duplicate entries
        Manual merge
      mysql-test/t/heap_btree.test:
        Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
                    causes incorrect duplicate entries
        Manual merge
      85f15be1
  6. 27 Mar, 2007 4 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines · 78e0150e
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-bug24985
      
      
      sql/ha_myisam.cc:
        Auto merged
      mysql-test/r/heap_btree.result:
        Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
                    causes incorrect duplicate entries
        Manual merge
      mysql-test/t/heap_btree.test:
        Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
                    causes incorrect duplicate entries
        Manual merge
      78e0150e
    • unknown's avatar
      Fixed bug #27348. · 9f49f034
      unknown authored
      If a set function with a outer reference s(outer_ref) cannot be aggregated 
      the outer query against which the reference has been resolved then MySQL
      interpretes s(outer_ref) in the same way as it would interpret s(const).
      Hovever the standard requires throwing an error in this situation.
      Added some code to support this requirement in ansi mode.
      Corrected another minor bug in Item_sum::check_sum_func.
       
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #27348.
      mysql-test/t/subselect.test:
        Added a test case for bug #27348.
      sql/item_sum.cc:
        Fixed bug #27348.
        If a set function with a outer reference s(outer_ref) cannot be aggregated 
        the outer query against which the reference has been resolved then MySQL
        interprets s(outer_ref) in the same way as it would interpret s(const).
        Hovever the standard requires throwing an error in this situation.
        Added some code to support this requirement in ansi mode.
        Corrected another minor bug in Item_sum::check_sum_func.
      9f49f034
    • unknown's avatar
      Bug #26815: · da53497b
      unknown authored
       When creating a temporary table the concise column type
       of a string expression is decided based on its length:
       - if its length is under 512 it is stored as either 
         varchar or char.
       - otherwise it is stored as a BLOB.
       
       There is a flag (convert_blob_length) to create_tmp_field 
       that, when >0 allows to force creation of a varchar if the
       max blob length is under convert_blob_length.
       However it must be verified that convert_blob_length 
       (settable through a SQL option in some cases) is 
       under the maximum that can be stored in a varchar column.
       While performing that check for expressions in 
       create_tmp_field_from_item the max length of the blob was
       used instead. This causes blob columns to be created in the
       heap temp table used by GROUP_CONCAT (where blobs must not
       be created in the temp table because of the constant 
       convert_blob_length that is passed to create_tmp_field() ).
       And since these blob columns are not expected in that place
       we get wrong results.
       Fixed by checking that the value of the flag variable is 
       in the limits that fit into VARCHAR instead of the max length
       of the blob column.
      
      
      mysql-test/r/func_gconcat.result:
        Bug #26815: test case
      mysql-test/t/func_gconcat.test:
        Bug #26815: test case
      sql/item_sum.cc:
        Bug #26815: wrong length was checked
      sql/sql_select.cc:
        Bug #26815: wrong length was checked
      da53497b
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0 · 101fd585
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
      
      101fd585