1. 22 Mar, 2007 31 commits
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · a220fc48
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug27229
      
      
      sql/item.cc:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      a220fc48
    • unknown's avatar
      Fixed bug #27229: crash when a set function aggregated in outer · 1f8bdbe4
      unknown authored
      context was used as an argument of GROUP_CONCAT.
      Ensured correct setting of the depended_from field in references
      generated for set functions aggregated in outer selects.
      A wrong value of this field resulted in wrong maps returned by 
      used_tables() for these references.
      Made sure that a temporary table field is added for any set function
      aggregated in outer context when creation of a temporary table is 
      needed to execute the inner subquery. 
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #27229.
      mysql-test/t/subselect.test:
        Added a test case for bug #27229.
      sql/item.cc:
        Fixed bug #27229: crash when a set function aggregated in outer
        context was used as an argument of GROUP_CONCAT.
        Ensured correct setting of the depended_from field in references
        generated for set functions aggregated in outer selects.
      sql/item_sum.cc:
        Fixed bug #27229: crash when a set function aggregated in outer
        context was used as an argument of GROUP_CONCAT.
        Added the field aggr_sel to the objects of the class Item_sum.
        In any Item_sum object created for a set function this field 
        has to contain a pointer to the select where the set function
        is aggregated.
      sql/item_sum.h:
        Fixed bug #27229: crash when a set function aggregated in outer
        context was used as an argument of GROUP_CONCAT.
        Added the field aggr_sel to the objects of the class Item_sum.
        In any Item_sum object created for a set function this field 
        has to contain a pointer to the select where the set function
        is aggregated.
        Added a method that says whether a set function is aggregated
        in outer context and, if so, returns the aggregating select.
        Removed the field nest_level_tables_count introduced by the
        patch for bug 24484 as aggr_sel->join->tables contains the
        sane number.
      sql/sql_base.cc:
        Fixed bug #27229: crash when a set function aggregated in outer
        context was used as an argument of GROUP_CONCAT.
        Added the field aggr_sel to the objects of the class Item_sum.
        Removed changes introduced by the patch for bug 24484 as 
        the field leaf_count of the THD class is not used anymore.
      sql/sql_class.h:
        Fixed bug #27229: crash when a set function aggregated in outer
        context was used as an argument of GROUP_CONCAT.
        Added the field aggr_sel to the objects of the class Item_sum.
        Removed changes introduce by the patch for bug 24484 as 
        the field leaf_count of the THD class is not used anymore.
      sql/sql_insert.cc:
        Fixed bug #27229: crash when a set function aggregated in outer
        context was used as an argument of GROUP_CONCAT.
        Added the field aggr_sel to the objects of the class Item_sum.
        Removed changes introduce by the patch for bug 24484 as 
        the field leaf_count of the THD class is not used anymore.
      sql/sql_select.cc:
        Fixed bug #27229: crash when a set function aggregated in outer
        context was used as an argument of GROUP_CONCAT.
        When creating a temporary table a field is added in it for any 
        set function aggregated in outer context.
      1f8bdbe4
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 3e6787d3
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/26813-bug-5.0-opt-mysql
      
      
      3e6787d3
    • unknown's avatar
      sql_view.cc: · 842eaa44
      unknown authored
        Post-fix for bug#26813.
      
      
      sql/sql_view.cc:
        Post-fix for bug#26813.
      842eaa44
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 3206447b
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-5.0-opt
      
      
      3206447b
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · b8c101df
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-5.0-opt
      
      
      b8c101df
    • unknown's avatar
      Merge mysql.com:/home/hf/work/mrg/mysql-4.1-opt · 45b55666
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-5.0-opt
      
      
      45b55666
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0 · 96793a96
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-5.0-opt
      
      
      sql/item_cmpfunc.cc:
        Auto merged
      96793a96
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-4.1 · 55f991c2
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-4.1-opt
      
      
      55f991c2
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 9558c66c
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/26813-bug-5.0-opt-mysql
      
      
      9558c66c
    • unknown's avatar
      Bug#26813: The SUPER privilege is wrongly required to alter a view created by · 9b774e8f
      unknown authored
      another user.
      
      When the DEFINER clause isn't specified in the ALTER statement then it's loaded
      from the view definition. If the definer differs from the current user then
      the error is thrown because only a super-user can set other users as a definers.
      
      Now if the DEFINER clause is omitted in the ALTER VIEW statement then the
      definer from the original view is used without check.
      
      
      mysql-test/t/view_grant.test:
        Added a test case for the bug#27006: The SUPER privilege is wrongly required
        to alter a view created by another user.
      mysql-test/r/view_grant.result:
        Added a test case for the bug#27006: The SUPER privilege is wrongly required
        to alter a view created by another user.
      sql/sql_view.cc:
        Bug#26813: The SUPER privilege is wrongly required to alter a view created by
        another user.
        Now if the DEFINER clause is omitted in the ALTER VIEW statement then the
        definer from the original view is used without check.
      9b774e8f
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · dc41a5ce
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B26207-5.0-opt
      
      
      sql/sql_select.h:
        Auto merged
      dc41a5ce
    • unknown's avatar
      Bug #26207: When making the key image to use · 0a48cd93
      unknown authored
       in index search MySQL was not explicitly
       suppressing warnings. And if the context 
       happens to enable warnings (e.g. INSERT ..
       SELECT) the warnings resulting from converting 
       the data the key is compared to are 
       reported to the client.
       Fixed by suppressing warnings when converting
       the data to the same type as the key parts.
      
      
      mysql-test/r/insert_select.result:
        Bug #26207: test case
      mysql-test/t/insert_select.test:
        Bug #26207: test case
      sql/sql_select.h:
        Bug #26207: supress warnings when converting
          data of the same type to key buffer format.
      0a48cd93
    • unknown's avatar
      Bug#24791: Union with AVG-groups generates wrong results · 33da0f37
      unknown authored
      Patch appled after doing a pull from the team tree. Additional tests had to be
      fixed
      
      
      mysql-test/r/union.result:
        Bug 24791
        
        The tests for temporary tables have been fixed. Since the call to 
        display_length(Item) was removed from the constructor for Item_type_holder, items 
        in temporary tables keep the original values of the items, rather than the magic
        numbers supplied by display_length.
      33da0f37
    • unknown's avatar
      Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt · a9df90a7
      unknown authored
      into  linux-st28.site:/home/martin/mysql/src/5.0o-bug24791
      
      
      sql/item.cc:
        Auto merged
      a9df90a7
    • unknown's avatar
      Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb · bdb9b448
      unknown authored
      into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
      
      
      bdb9b448
    • unknown's avatar
      Merge perch.ndb.mysql.com:/home/jonas/src/50-work · 39e7b560
      unknown authored
      into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
      
      
      ndb/test/ndbapi/testNodeRestart.cpp:
        Auto merged
      39e7b560
    • unknown's avatar
      ndb - · 4dee1e6a
      unknown authored
        fix test prg
      
      
      ndb/test/ndbapi/testNodeRestart.cpp:
        fix test prg
      4dee1e6a
    • unknown's avatar
      Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt · 5b86ad19
      unknown authored
      into  linux-st28.site:/home/martin/mysql/src/5.0o-bug24791
      
      
      sql/field.h:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      5b86ad19
    • unknown's avatar
      Bug #24791: Union with AVG-groups generates wrong results · aa323361
      unknown authored
      The problem in this bug is when we create temporary tables. When
      temporary tables are created for unions, there is some 
      inferrence being carried out regarding the type of the column.
      Whenever this column type is inferred to be REAL (i.e. FLOAT or
      DOUBLE), MySQL will always try to maintain exact precision, and
      if that is not possible (there are hardware limits, since FLOAT
      and DOUBLE are stored as approximate values) will switch to
      using approximate values. The problem here is that at this point
      the information about number of significant digits is not 
      available. Furthermore, the number of significant digits should
      be increased for the AVG function, however, this was not properly 
      handled. There are 4 parts to the problem:
      
      #1: DOUBLE and FLOAT fields don't display their proper display 
      lengths in max_display_length(). This is hard-coded as 53 for 
      DOUBLE and 24 for FLOAT. Now changed to instead return the 
      field_length.
      
      #2: Type holders for temporary tables do not preserve the 
      max_length of the Item's from which they are created, and is 
      instead reverted to the 53 and 24 from above. This causes 
      *all* fields to get non-fixed significant digits.
      
      #3: AVG function does not update max_length (display length)
      when updating number of decimals.
      
      #4: The function that switches to non-fixed number of 
      significant digits should use DBL_DIG + 2 or FLT_DIG + 2 as 
      cut-off values (Since fixed precision does not use the 'e' 
      notation)
      
      Of these points, #1 is the controversial one, but this 
      change is preferred and has been cleared with Monty. The 
      function causes quite a few unit tests to blow up and they had
      to b changed, but each one is annotated and motivated. We 
      frequently see the magical 53 and 24 give way to more relevant
      numbers.
      
      
      mysql-test/r/create.result:
        bug#24791
        
        changed test result
        
        With the changes made for FLOAT and DOUBLE, the original display
        lengths are now preserved.
      mysql-test/r/temp_table.result:
        bug#24791
        
        changed test resullt
        
        Test case added
      mysql-test/r/type_float.result:
        bug#24791
        
        changed test result
        
        delta 1: field was originally declared as DOUBLE with no display
        length, so the hardware maximum is chosen rather than 53.
        
        delta 2: fields exceed the maximum precision and thus switch to
        non-fixed significant digits
        
        delta 3: Same as above, number of decmals and significant digits
        was not specified when t3 was created.
      mysql-test/t/temp_table.test:
        bug#24791
        
        Test case
      sql/field.h:
        bug#24791
        
        The method max_display_length is reimplemented as
        
        uint32 max_display_length() { return field_length; }
        
        in Field_double and Field_float. Since all subclasses of 
        Field_real now have the same implementation of this method, the
        implementation has been moved up the hierarchy to Field_real.
      sql/item.cc:
        bug#24791
        
        We switch to a non-fixed number of significant digits
        (by setting decimals=NOT_FIXED_DECIMAL) if the calculated 
        display length is greater than the display length of a value 
        with the maximum precision. These values differ for double and 
        float, obviously.
      sql/item_sum.cc:
        bug#24791
        
        We must increase the display length accordinly whenever we 
        change number of decimal places.
      aa323361
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 4e288dc3
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
      
      
      4e288dc3
    • unknown's avatar
      bug #16546 (DATETIME+0 not always coerced the same way) · 2b983572
      unknown authored
        fix for cast( AS DATETIME)+0 in 5.0 and above versions.
        val_real now works using val_decimal for DATETIME Items
        Superfluous val_real() methods deleted
      
      
      sql/item_timefunc.h:
        val_real() for datetime functions implemented
            as { return val_real_from_decimal(); }
            It's not a fastest possible way, but code is simple and less
            error-prone, what i belive is more important here as this part
            works unfrequently.
      2b983572
    • unknown's avatar
      Merge mysql.com:/home/hf/work/mrg/mysql-4.1-opt · 23354862
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-5.0-opt
      
      
      mysql-test/t/type_datetime.test:
        Auto merged
      mysql-test/r/type_datetime.result:
        SCCS merged
      sql/item_timefunc.h:
        SCCS merged
      23354862
    • unknown's avatar
      bug #16546 (DATETIME + 0 not always coerced in the same way) · 50b5064c
      unknown authored
        fix for cast( AS DATETIME) + 0 operation.
        I just implemented Item_datetime_typecast::val() method
        as it is usually done in other classes.
        Should be fixed more radically in 5.0
      
      
      mysql-test/r/type_datetime.result:
        result added
      mysql-test/t/type_datetime.test:
        testcase
      sql/item_timefunc.h:
        added double conversion to Item_datetime_typecast
      50b5064c
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0 · 1fdab610
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-5.0-opt
      
      
      sql/item.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      1fdab610
    • unknown's avatar
      Merge mysql.com:/home/hf/work/mrg/mysql-4.1-opt · 52d36629
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-5.0-opt
      
      
      52d36629
    • unknown's avatar
      Merge mysql.com:/home/hf/work/25492/my50-25492 · e98c61bb
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-5.0-opt
      
      
      libmysqld/lib_sql.cc:
        Auto merged
      e98c61bb
    • unknown's avatar
      Merge mysql.com:/home/hf/work/25492/my41-25492 · 6ef0fee8
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-4.1-opt
      
      
      6ef0fee8
    • unknown's avatar
      Merge mysql.com:/home/hf/work/25492/my41-25492 · b745f117
      unknown authored
      into  mysql.com:/home/hf/work/25492/my50-25492
      
      
      libmysqld/lib_sql.cc:
        merging
      b745f117
    • unknown's avatar
      Fixed bug #27362: crash at evaluation of IN predicate when one · a4a23fb9
      unknown authored
      of its argument happened to be a decimal expression returning
      the NULL value.
      The crash was due to the fact the function in_decimal::set did
      not take into account that val_decimal() could return 0 if 
      the decimal expression had been evaluated to NULL.  
      
      
      mysql-test/r/func_in.result:
        Added a test case for bug #27362.
      mysql-test/t/func_in.test:
        Added a test case for bug #27362.
      a4a23fb9
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0 · 8f69cbdb
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
      
      
      8f69cbdb
  2. 21 Mar, 2007 9 commits
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · b203723b
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
      
      
      b203723b
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 54a0f623
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.0-runtime
      
      
      54a0f623
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · b70693f5
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/23345-bug-5.0-opt-mysql
      
      
      b70693f5
    • unknown's avatar
      Bug#23345: Wrongly allowed INTO in a non-last select of a UNION. · 16404523
      unknown authored
      INTO clause can be specified only for the last select of a UNION and it
      receives the result of the whole query. But it was wrongly allowed in
      non-last selects of a UNION which leads to a confusing query result.
      
      Now INTO allowed only in the last select of a UNION.
      
      
      mysql-test/t/union.test:
        Added a test case for the bug#23345: Wrongly allowed INTO in a non-last select of a UNION.
      mysql-test/r/union.result:
        Added a test case for the bug#23345: Wrongly allowed INTO in a non-last select of a UNION.
      sql/sql_yacc.yy:
        Bug#23345: Wrongly allowed INTO in a non-last select of a UNION.
        Now INTO allowed only in the last select of a UNION.
      16404523
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint · e772a22d
      unknown authored
      into  recycle.(none):/src/bug27144/my50-bug27144
      
      
      e772a22d
    • unknown's avatar
      Bug#27144 sp-destruct.test is disabled on Windows · 65c34cc8
      unknown authored
      - Update test to run properly on Windows.
      
      
      mysql-test/t/sp-destruct.test:
        Bug#27144 sp-destruct.test is disabled on Windows
        - Enabled test on Windows.
        - Replaced non-portable system commands (mkdir, rmdir, mv, cp, echo) 
        with the mysqltest builtin commands.
        - Replace Windows directory seperator in error ER_NOT_FROM_FILE with
        posix directory seperator for single test/result pair.
      65c34cc8
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 4390f788
      unknown authored
      into  recycle.(none):/src/bug23736/my50-bug23736
      
      
      4390f788
    • unknown's avatar
      Merge perch.ndb.mysql.com:/home/jonas/src/50-work · f6681489
      unknown authored
      into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
      
      
      ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
        Auto merged
      ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Auto merged
      ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
        Auto merged
      ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
        Auto merged
      f6681489
    • unknown's avatar
      ndb - bug#27283 · f5acedb6
      unknown authored
          Additional fix for 2-node case
      
      
      ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
        Add error insert ref for errcode = 7181
      ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Make GSN_GCP_NODEFINISH always be sent to DIH node requesting it
      ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
        Make GSN_GCP_NODEFINISH always be sent to DIH node requesting it
      ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
        Make GSN_GCP_NODEFINISH always be sent to DIH node requesting it
      f5acedb6