1. 11 Apr, 2007 1 commit
    • unknown's avatar
      Bug #27530: · 8fe487be
      unknown authored
      The function CRC32() returns unsigned integer.
      But the metadata (the unsigned flag) for the 
      function was set incorrectly.
      As a result type arithmetics based on the 
      function's metadata (like finding the concise
      type of an temporary table column to hold the result)
      returned incorrect results.
      Fixed by returning correct type information.
      
      This fix is based on code contributed by Martin Friebe
      (martin@hybyte.com) on 2007-03-30.  
      
      
      mysql-test/r/func_str.result:
        Bug #27530: test case
      mysql-test/t/func_str.test:
        Bug #27530: test case
      sql/item_strfunc.h:
        Bug #27530: Marked CRC32() as returning unsigned
      8fe487be
  2. 10 Apr, 2007 4 commits
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · b518d2a8
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B27659-5.0-opt
      
      
      b518d2a8
    • unknown's avatar
      Bug #27659: · 041767e1
      unknown authored
      The optimizer transforms DISTINCT into a GROUP BY
      when possible.
      It does that by constructing the same structure
      (a list of ORDER instances) the parser makes when
      parsing GROUP BY.
      While doing that it also eliminates duplicates.
      But if a duplicate is found it doesn't advance the
      pointer to ref_pointer array, so the next 
      (and subsequent) ORDER structures point to the wrong
      element in the SELECT list.
      Fixed by advancing the pointer in ref_pointer_array
      even in the case of a duplicate.
      
      
      mysql-test/r/distinct.result:
        Bug #27659: test case
      mysql-test/t/distinct.test:
        Bug #27659: test case
      sql/sql_select.cc:
        Bug #27659: use correct ref_pointer_array element
      041767e1
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · a41b81e3
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Bugs/5.0.27069
      
      
      sql/sql_table.cc:
        Auto merged
      a41b81e3
    • unknown's avatar
      Bug#27069 set with identical elements are created(additional fix) · 5ded16c5
      unknown authored
      issue an error in strict mode
      if enum|set column has duplicates members in 'create table'
      
      
      mysql-test/r/strict.result:
        test case
      mysql-test/t/strict.test:
        test case
      sql/sql_table.cc:
        issue an error in strict mode
        if enum|set has duplicates members
      5ded16c5
  3. 09 Apr, 2007 2 commits
  4. 08 Apr, 2007 1 commit
  5. 07 Apr, 2007 4 commits
  6. 06 Apr, 2007 6 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · b5cf43c9
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/27586-bug-5.0-opt-mysql
      
      
      b5cf43c9
    • unknown's avatar
      Bug#27586: Wrong autoinc value assigned by LOAD DATA in the · 35a0f472
      unknown authored
      NO_AUTO_VALUE_ON_ZERO mode.
      
      The table->auto_increment_field_not_null variable wasn't reset after
      reading a row which may lead to inserting a wrong value to the auto-increment
      field to the following row.
      
      The table->auto_increment_field_not_null variable is reset now right after a
      row is being written in the read_fixed_length() and the read_sep_field()
      functions.
      Removed wrong setting of the table->auto_increment_field_not_null variable in
      the read_sep_field() function.
      
      
      mysql-test/t/loaddata.test:
        Added a test case for the bug#27586: Wrong autoinc value assigned by LOAD DATA in the
        NO_AUTO_VALUE_ON_ZERO mode.
      mysql-test/r/loaddata.result:
        Added a test case for the bug#27586: Wrong autoinc value assigned by LOAD DATA in the
        NO_AUTO_VALUE_ON_ZERO mode.
      sql/sql_load.cc:
        Bug#27586: Wrong autoinc value assigned by LOAD DATA in the
        NO_AUTO_VALUE_ON_ZERO mode.
        The table->auto_increment_field_not_null variable is reset now right after a
        row is being written in the read_fixed_length() and the read_sep_field()
        functions.
        Remove wrong setting of the table->auto_increment_field_not_null variable in
        the read_sep_field() function.
      35a0f472
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0 · d6a78be9
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
      
      
      d6a78be9
    • unknown's avatar
      Merge acurtis@bk-internal:/home/bk/mysql-5.0-engines · e8a8d5df
      unknown authored
      into  xiphis.org:/home/antony/work2/mysql-5.0-engines.merge
      
      
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      e8a8d5df
    • unknown's avatar
      Polishing: note added. · 52b86a6e
      unknown authored
      52b86a6e
    • unknown's avatar
      Polishing: add comments. · 9bc5135f
      unknown authored
      
      sql/parse_file.cc:
        Add comments.
      9bc5135f
  7. 05 Apr, 2007 11 commits
  8. 04 Apr, 2007 9 commits
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0 · b651aa03
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
      
      
      b651aa03
    • unknown's avatar
      Bug #26242 UPDATE with subquery and triggers failing with cluster tables · 2efc0f51
      unknown authored
      In certain cases AFTER UPDATE/DELETE triggers on NDB tables that referenced
      subject table didn't see the results of operation which caused invocation
      of those triggers. In other words AFTER trigger invoked as result of update
      (or deletion) of particular row saw version of this row before update (or
      deletion).
      
      The problem occured because NDB handler in those cases postponed actual
      update/delete operations to be able to perform them later as one batch.
      
      This fix solves the problem by disabling this optimization for particular
      operation if subject table has AFTER trigger for this operation defined.
      To achieve this we introduce two new flags for handler::extra() method:
      HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH.
      These are called if there exists AFTER DELETE/UPDATE triggers during a
      statement that potentially can generate calls to delete_row()/update_row().
      This includes multi_delete/multi_update statements as well as insert statements
      that do delete/update as part of an ON DUPLICATE statement.
      
      
      include/my_base.h:
        Added HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible.
      mysql-test/r/ndb_trigger.result:
        Bug #26242  UPDATE with subquery and triggers failing with cluster tables
        ---
        Added new test cases
      mysql-test/t/ndb_trigger.test:
        Bug #26242  UPDATE with subquery and triggers failing with cluster tables
        ---
        Added new test cases
      sql/ha_ndbcluster.cc:
        Bug #26242  UPDATE with subquery and triggers failing with cluster tables: Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible
      sql/ha_ndbcluster.h:
        Bug #26242  UPDATE with subquery and triggers failing with cluster tables: Added member variables for handling of HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible
      sql/mysql_priv.h:
        Added new method prepare_triggers_for_insert_stmt to check if batching of delete/update must be disallowed.
      sql/sql_delete.cc:
        Use HA_EXTRA_DELETE_CANNOT_BATCH to inform handler when batching of delete is not possible
      sql/sql_insert.cc:
        Added method prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed.
        Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler
         when batching of delete/update is not possible
      sql/sql_load.cc:
        Call prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed and
        mark fields used by triggers for the insert statement.
      sql/sql_trigger.h:
        Added has_triggers to support what particular triggers exist on a table.
      sql/sql_update.cc:
        Use HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of update is not possible
      2efc0f51
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B27513-5.0-opt · 89aa5548
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B27513-5.0-opt
      
      
      89aa5548
    • unknown's avatar
      dbd125fd
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0 · 1895cdb3
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg04/50
      
      
      sql/item_func.cc:
        Auto merged
      1895cdb3
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 7603ed9f
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B27513-5.0-opt
      
      
      7603ed9f
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-4.1-opt · 201a343a
      unknown authored
      into  olga.mysql.com:/home/igor/mysql-5.0-opt
      
      
      mysql-test/r/order_by.result:
        Manual merge
      mysql-test/t/order_by.test:
        Manual merge
      201a343a
    • unknown's avatar
      e488e6f2
    • unknown's avatar
      Fix after manual merge · da037917
      unknown authored
      da037917
  9. 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