An error occurred fetching the project authors.
  1. 10 Nov, 2007 1 commit
    • unknown's avatar
      Fixed bug #28076: inconsistent binary/varbinary comparison. · e7c6a81f
      unknown authored
      After adding an index the <VARBINARY> IN (SELECT <BINARY> ...)
      clause returned a wrong result: the VARBINARY value was illegally padded
      with zero bytes to the length of the BINARY column for the index search.
      (<VARBINARY>, ...) IN (SELECT <BINARY>, ... ) clauses are affected too.
      
      
      sql/item.cc:
        Fixed bug #28076.
        The Item_cache_str::save_in_field method has been overloaded
        to check cached values for an illegal padding before the saving
        into a field.
      sql/item.h:
        Fixed bug #28076.
        The Item_cache_str::is_varbinary flag has been added and the
        Item_cache_str::save_in_field method has been overloaded to prevent
        cached values from an illegal padding when saving in fields.
        The signature of the Item_cache::get_cache method has been
        changed to accept pointers to Item instead of Item_result
        values.
      sql/item_cmpfunc.cc:
        Fixed bug #28076.
        The Item_in_optimizer::fix_left method has been modified to
        to call Item_cache::get_cache in a new manner.
      sql/item_subselect.cc:
        Fixed bug #28076.
        The subselect_indexsubquery_engine::exec method has been
        modified to take into account field conversion errors
        (copy&paste from subselect_uniquesubquery_engine::exec).
      sql/sp_rcontext.cc:
        Fixed bug #28076.
        The sp_rcontext::create_case_expr_holder method has been
        modified to call Item_cache::get_cache in a new manner.
      sql/sp_rcontext.h:
        Fixed bug #28076.
        The sp_rcontext::create_case_expr_holder method signature
        has been modified to pass Item pointers to the
        Item_cache::get_cache method.
      sql/sql_class.cc:
        Fixed bug #28076.
        The select_max_min_finder_subselect::send_data method has been
        modified to call Item_cache::get_cache in a new manner.
      mysql-test/t/subselect.test:
        Added test case for bug #28076.
      mysql-test/r/subselect.result:
        Added test case for bug #28076.
      e7c6a81f
  2. 30 Oct, 2007 1 commit
    • unknown's avatar
      Bug #31884: Assertion + crash in subquery in the SELECT clause. · 6bbdacae
      unknown authored
      Item_in_subselect's only externally callable method is val_bool().
      However the nullability in the wrapper class (Item_in_optimizer) is 
      established by calling the "forbidden" method val_int().
      
      Fixed to use the correct method (val_bool() ) to establish nullability 
      of Item_in_subselect in Item_in_optimizer.
      
      
      mysql-test/r/subselect.result:
        Bug #31884: test case
      mysql-test/t/subselect.test:
        Bug #31884: test case
      sql/item_subselect.h:
        Bug #31884: Use the correct method to establish nullability
      6bbdacae
  3. 05 Jul, 2007 1 commit
    • unknown's avatar
      Post-merge fixes. · ea2ec3d9
      unknown authored
      Fixed typos and comment styles in tests.
      
      
      mysql-test/r/rpl_partition.result:
        Post-merge fixes.
        Removed warnings after fixing --disable_warnings command.
      mysql-test/t/ctype_uca.test:
        Post-merge fixes.
        Fixed comment style.
      mysql-test/t/rpl_partition.test:
        Post-merge fixes.
        Fixed typo in --disable_warnings and --enable_warnings.
      mysql-test/t/subselect.test:
        Post-merge fixes.
        Fixed comment style.
      ea2ec3d9
  4. 29 Jun, 2007 1 commit
    • unknown's avatar
      Bug#27333: subquery grouped for aggregate of outer · c2e961cf
      unknown authored
      query / no aggregate of subquery
       The optimizer counts the aggregate functions that 
       appear as top level expressions (in all_fields) in 
       the current subquery. Later it makes a list of these
       that it uses to actually execute the aggregates in
       end_send_group().
       That count is used in several places as a flag whether
       there are aggregates functions.
       While collecting the above info it must not consider
       aggregates that are not aggregated in the current 
       context. It must treat them as normal expressions 
       instead. Not doing that leads to incorrect data about
       the query, e.g. running a query that actually has no
       aggregate functions as if it has some (and hence is
       expected to return only one row).
       Fixed by ignoring the aggregates that are not aggregated
       in the current context. 
       One other smaller omission discovered and fixed in the 
       process : the place of aggregation was not calculated for
       user defined functions. Fixed by calling 
       Item_sum::init_sum_func_check() and 
       Item_sum::check_sum_func() as it's done for the rest of 
       the aggregate functions.
      
      
      mysql-test/r/subselect.result:
        Bug #27333: test case
      mysql-test/t/subselect.test:
        Bug #27333: test case
      sql/item_subselect.cc:
        Bug#27333: need select_lex to filter out
         aggregates that are not aggregated in
         the current select.
      sql/item_sum.cc:
        Bug#27333: need select_lex to filter out
         aggregates that are not aggregated in
         the current select.
      sql/item_sum.h:
        Bug#27333: calculate the place of 
         aggregation for user defined functions.
      sql/sql_select.cc:
        Bug#27333: When counting the aggregated functions
         and collecting a list of them we must not consider
         the aggregates that are not aggregated in the local
         context as "local" : i.e. we must treat them as 
         normal functions and not add them to the aggregate
         functions list.
      sql/sql_select.h:
        Bug#27333: need select_lex to filter out
         aggregates that are not aggregated in
         the current select.
      c2e961cf
  5. 08 Jun, 2007 1 commit
    • unknown's avatar
      Fixed bug #28811: crash for a query containing a subquery with · d8e2f262
      unknown authored
      ORDER BY and LIMIT 1. 
      The bug was introduced by the patch for bug 21727. The patch
      erroneously skipped initialization of the array of headers
      for sorted records for non-first evaluations of the subquery.
      
      To fix the problem a new parameter has been added to the
      function make_char_array that performs the initialization.
      Now this function is called for any invocation of the 
      filesort procedure. Yet it allocates the buffer for sorted
      records only if this parameter is NULL.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #28811.
      mysql-test/t/subselect.test:
        Added a test case for bug #28811.
      d8e2f262
  6. 06 Jun, 2007 2 commits
  7. 02 Jun, 2007 1 commit
    • unknown's avatar
      Fixed bug #28728: a crash when executing EXPLAIN EXTENDED for a query · 8c4ff24b
      unknown authored
      using a derived table over a grouping subselect.
      
      This crash happens only when materialization of the derived tables 
      requires creation of auxiliary temporary table, for example when
      a grouping operation is carried out with usage of a temporary table.
      
      The crash happened because EXPLAIN EXTENDED when printing the query
      expression made an attempt to use the objects created in the mem_root
      of the temporary table which has been already freed by the moment
      when printing is called.
      
      This bug appeared after the method Item_field::print() had been 
      introduced.    
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #28728.
      mysql-test/t/subselect.test:
        Added a test case for bug #28728.
      sql/sql_select.cc:
        Fixed bug #28728: a crash when executing EXPLAIN EXTENDED for a query
        using a derived table over a grouping subselect.
        The crash happened because EXPLAIN EXTENDED when printing the query
        expression made an attempt to use the objects created in the mem_root
        of the temporary table which has been already freed by the moment
        when printing is accomplished.
        The fix in JOIN::exec() ensures using existing objects when printing 
        subselects for a derived tables by EXPLAIN EXTENDED.
      8c4ff24b
  8. 17 May, 2007 1 commit
    • unknown's avatar
      Fixed bug #28337: wrong results for grouping queries with correlated · dd1a1180
      unknown authored
      subqueries in WHERE conditions.
      This bug was introduced by the patch for bug 27321.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #28337.
      mysql-test/t/subselect.test:
        Added a test case for bug #28337.
      sql/item.cc:
        Fixed bug #28337: wrong results for grouping queries with correlated
        subqueries in WHERE conditions.
        This bug was introduced by the patch for bug 27321.
        
        Now in the Item_field::fix_outer_field function we create an Item_outer_ref
        object for an outer reference only if it is used in the SELECT list or
        in the HAVING clause of the subquery against which the reference is resolved.
      dd1a1180
  9. 04 May, 2007 1 commit
    • unknown's avatar
      Bug #27807. · 0ad4e1b2
      unknown authored
      Non-correlated scalar subqueries may get executed
      in EXPLAIN at the optimization phase if they are
      part of a right hand sargable expression.
      If the scalar subquery uses a temp table to 
      materialize its results it will replace the 
      subquery structure from the parser with a simple
      select from the materialization table.
      As a result the EXPLAIN will crash as the 
      temporary materialization table is not to be shown
      in EXPLAIN at all.
      Fixed by preserving the original query structure
      right after calling optimize() for scalar subqueries
      with temp tables executed during EXPLAIN.
      
      
      mysql-test/r/subselect.result:
        Bug #27807: test case
      mysql-test/t/subselect.test:
        Bug #27807: test case
      sql/item_subselect.cc:
        Bug #27807: preserve the join structure
      sql/sql_select.cc:
        Bug #27807: introduce initialization function for tmp_join
      sql/sql_select.h:
        Bug #27807: introduce initialization function for tmp_join
      0ad4e1b2
  10. 26 Apr, 2007 1 commit
    • unknown's avatar
      Bug #27363: · e14fd2b6
      unknown authored
      Validity checks for nested set functions
      were not taking into account that the enclosed
      set function may be on a nest level that is
      lower than the nest level of the enclosing set
      function.
      Fixed by :
       - propagating max_sum_func_level
      up the enclosing set functions chain.
       - updating the max_sum_func_level of the 
         enclosing set function when the enclosed set
         function is aggregated above or on the same
         nest level of as the level of the enclosing 
         set function.
       - updating the max_arg_level of the enclosing
         set function on a reference that refers to
         an item above or on the same nest level
         as the level of the enclosing set function.
       - Treating both Item_field and Item_ref as possibly
         referencing items from outer nest levels.
      
      
      mysql-test/r/subselect.result:
        Bug #27363: test cases
      mysql-test/t/subselect.test:
        Bug #27363: test cases
      sql/item.cc:
        Bug #27363:
        Treat the reference as an outer reference for the
        enclosing set function even if it's referencing
        an item that is above the nest level of the
        enclosing set function.
        Consider both Item_field and Item_ref.
      sql/item_sum.cc:
        Bug #27363: Use the enclosed set function aggregation
        level to mark the enclosing set function even 
        if it's aggregated on a level that is above the 
        nest level of the enclosing set function.
        Pass max_sum_func_level up the accending branch of the
        recursion because it must take into account each
        directly or indirectly nested set function.
      e14fd2b6
  11. 15 Apr, 2007 2 commits
    • unknown's avatar
      subselect.test, subselect.result: · 6ad00742
      unknown authored
        After merge fix.
      
      
      mysql-test/r/subselect.result:
        After merge fix.
      mysql-test/t/subselect.test:
        After merge fix.
      6ad00742
    • unknown's avatar
      Bug#27321: Wrong subquery result in a grouping select. · 1cf3b965
      unknown authored
      The Item_outer_ref class based on the Item_direct_ref class was always used
      to represent an outer field. But if the outer select is a grouping one and the 
      outer field isn't under an aggregate function which is aggregated in that
      outer select an Item_ref object should be used to represent such a field.
      If the outer select in which the outer field is resolved isn't grouping then
      the Item_field class should be used to represent such a field.
      This logic also should be used for an outer field resolved through its alias
      name.
      
      Now the Item_field::fix_outer_field() uses Item_outer_field objects to
      represent aliased and non-aliased outer fields for grouping outer selects
      only.
      Now the fix_inner_refs() function chooses which class to use to access outer
      field - the Item_ref or the Item_direct_ref. An object of the chosen class
      substitutes the original field in the Item_outer_ref object.
      The direct_ref and the found_in_select_list fields were added to the
      Item_outer_ref class.
      
      
      mysql-test/t/subselect3.test:
        Some test cases were corrected after the fix for the bug#27321.
      mysql-test/r/subselect3.result:
        Some test cases were corrected after the fix for the bug#27321.
      mysql-test/t/subselect.test:
        Added a test case for the bug#27321: Wrong subquery result in a grouping select.
      mysql-test/r/subselect.result:
        Added a test case for the bug#27321: Wrong subquery result in a grouping select.
        Some test cases were corrected after this fix.
      sql/sql_union.cc:
        Bug#27321: Wrong subquery result in a grouping select.
        Cleanup of the inner_refs_list.
      sql/sql_select.cc:
        Bug#27321: Wrong subquery result in a grouping select.
        Now the fix_inner_refs() function chooses which class to use to access outer
        field - the Item_ref or the Item_direct_ref. An object of the chosen class
        substitutes the original field in the Item_outer_ref object.
        A comment is corrected.
      sql/item.cc:
        Bug#27321: Wrong subquery result in a grouping select.
        Now the Item_field::fix_outer_field() uses Item_outer_field objects to
        represent aliased and non-aliased outer fields for grouping outer selects
        only.
      sql/item.h:
        Bug#27321: Wrong subquery result in a grouping select.
        The direct_ref and the found_in_select_list fields were added to the
        Item_outer_ref class.
      1cf3b965
  12. 27 Mar, 2007 1 commit
    • unknown's avatar
      Fixed bug #27348. · ec3de562
      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.
      ec3de562
  13. 22 Mar, 2007 1 commit
    • 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
  14. 20 Mar, 2007 1 commit
    • unknown's avatar
      Fixed bug #27257: queries containing subqueries with COUNT(*) · 91f7f318
      unknown authored
      aggregated in outer context returned wrong results.
      This happened only if the subquery did not contain any references
      to outer fields.
      As there were no references to outer fields the subquery erroneously
      was taken for non-correlated one.
      Now any set function aggregated in outer context makes the subquery
      correlated.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #27257.
      mysql-test/t/subselect.test:
        Added a test case for bug #27257.
      91f7f318
  15. 12 Mar, 2007 1 commit
    • unknown's avatar
      Fixed bug #26738: incomplete string values in a result set column · 91abf15e
      unknown authored
      when the column is to be read from a derived table column which 
      was specified as a concatenation of string literals.
      The bug happened because the Item_string::append did not adjust the
      value of Item_string::max_length. As a result of it the temporary 
      table column  defined to store the concatenation of literals was 
      not wide enough to hold the whole value.
      
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #26738.
      mysql-test/t/subselect.test:
        Added a test case for bug #26738.
      91abf15e
  16. 01 Mar, 2007 1 commit
  17. 26 Feb, 2007 1 commit
  18. 21 Feb, 2007 1 commit
    • unknown's avatar
      Bug#23800: Outer fields in correlated subqueries is used in a temporary table · f8855142
      unknown authored
      created for sorting.
      
      Any outer reference in a subquery was represented by an Item_field object.
      If the outer select employs a temporary table all such fields should be
      replaced with fields from that temporary table in order to point to the 
      actual data. This replacement wasn't done and that resulted in a wrong
      subquery evaluation and a wrong result of the whole query.
      
      Now any outer field is represented by two objects - Item_field placed in the
      outer select and Item_outer_ref in the subquery. Item_field object is
      processed as a normal field and the reference to it is saved in the
      ref_pointer_array. Thus the Item_outer_ref is always references the correct
      field. The original field is substituted for a reference in the
      Item_field::fix_outer_field() function.
      
      New function called fix_inner_refs() is added to fix fields referenced from
      inner selects and to fix references (Item_ref objects) to these fields.
      
      The new Item_outer_ref class is a descendant of the Item_direct_ref class.
      It additionally stores a reference to the original field and designed to
      behave more like a field.
      
      
      sql/item.cc:
        Bug#23800: Correlated sub query returning incorrect results when operated upon.
        Now all outer fields are substituted with references to them (Item_outer_ref objects)
        in the Item_field::fix_outer_field() function.
        The original field is saved in the Item_outer_ref object.
      sql/item.h:
        Bug#23800: Correlated sub query returning incorrect results when operated upon.
        Added the Item_outer_ref class.
      sql/mysql_priv.h:
        Bug#23800: Correlated sub query returning incorrect results when operated upon.
        Added the fix_inner_refs() function prototype.
      sql/sql_delete.cc:
        Bug#23800: Correlated sub query returning incorrect results when operated upon.
        Added call to the fix_inner_refs() function.
      sql/sql_select.cc:
        Bug#23800: Correlated sub query returning incorrect results when operated upon.
        The new function called fix_inner_refs() is added.
      mysql-test/r/subselect.result:
        Added a test case for bug#23800: Correlated sub query returning incorrect results when
        operated upon.
      sql/sql_update.cc:
        Bug#23800: Correlated sub query returning incorrect results when operated upon.
        Added call to the fix_inner_refs() function.
      mysql-test/r/subselect3.result:
        Corrected test cases result after fix for bug#23800: Correlated sub query returning
        incorrect results when operated upon.
      mysql-test/t/subselect.test:
        Added a test case for bug#23800: Correlated sub query returning incorrect results when
        operated upon.
      sql/sql_lex.cc:
        Bug#23800: Correlated sub query returning incorrect results when operated upon.
        Added cleanup of the inner_refs_list.
      sql/sql_lex.h:
        Bug#23800: Correlated sub query returning incorrect results when operated upon.
        The inner_refs_list is added to the SELECT_LEX class.
      f8855142
  19. 16 Feb, 2007 1 commit
  20. 30 Jan, 2007 2 commits
    • unknown's avatar
      manual merge · 59d9b52f
      unknown authored
      59d9b52f
    • unknown's avatar
      Bug#21904 (parser problem when using IN with a double "(())") · a1e20e04
      unknown authored
      Before this fix, a IN predicate of the form: "IN (( subselect ))", with two
      parenthesis, would be evaluated as a single row subselect: if the subselect
      returns more that 1 row, the statement would fail.
      
      The SQL:2003 standard defines a special exception in the specification,
      and mandates that this particular form of IN predicate shall be equivalent
      to "IN ( subselect )", which involves a table subquery and works with more
      than 1 row.
      
      This fix implements "IN (( subselect ))", "IN ((( subselect )))" etc
      as per the SQL:2003 requirement.
      
      All the details related to the implementation of this change have been
      commented in the code, and the relevant sections of the SQL:2003 spec
      are given for reference, so they are not repeated here.
      
      Having access to the spec is a requirement to review in depth this patch.
      
      
      mysql-test/r/subselect.result:
        Implement IN predicate special exceptions with subselects.
      mysql-test/t/subselect.test:
        Implement IN predicate special exceptions with subselects.
      sql/item_subselect.cc:
        Implement IN predicate special exceptions with subselects.
      sql/item_subselect.h:
        Implement IN predicate special exceptions with subselects.
      sql/sql_yacc.yy:
        Implement IN predicate special exceptions with subselects, cleanup.
      a1e20e04
  21. 26 Jan, 2007 1 commit
    • unknown's avatar
      Fixed bug #24653. · da561a80
      unknown authored
      The bug report has demonstrated the following two problems.
      1. If an ORDER/GROUP BY list includes a constant expression being 
      optimized away and, at the same time, containing single-row
      subselects that return more that one row, no error is reported.
      Strictly speaking the standard allows to ignore error in this case.
      Yet, now a corresponding fatal error is reported in this case.
      2. If a query requires sorting by expressions containing single-row
      subselects that, however, return more than one row, then the execution
      of the query may cause a server crash. 
      To fix this some code has been added that blocks execution of a subselect
      item in case of a fatal error in the method Item_subselect::exec.
      
      
      mysql-test/r/subselect.result:
        Added a test cases for bug #24653.
      mysql-test/t/subselect.test:
        Added a test cases for bug #24653.
      sql/filesort.cc:
        Fixed bug #24653.
        Added a check for fatal error after reading the next row from the table
        in the function find_all_keys.
      sql/item.cc:
        Fixed bug #24653.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/item.h:
        Fixed bug #24653.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/item_cmpfunc.cc:
        Fixed bug #24653.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/item_cmpfunc.h:
        Fixed bug #24653.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/item_func.cc:
        Fixed bug #24653.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/item_subselect.cc:
        Fixed bug #24653.
        Added a check for fatal error in the method Item_subselect::exec
        to block evaluation of subselects in erroneous situations.
        Down-ported calculation of the attribute with_subselect of for Item objects.
      sql/sql_select.cc:
        Fixed bug #24653.
        Added a check to verify that any constant expression used
        in ORDER BY and/or GROUP BY lists which is optimized away
        does not contain subselects returning more than one row.
        If it does a fatal error is reported.
      da561a80
  22. 19 Jan, 2007 1 commit
    • unknown's avatar
      Fixed bug #25219: crash for a query that contains an EXIST subquery with · edf72bf6
      unknown authored
      UNION over correlated and uncorrelated SELECTS.
      In such subqueries each uncorrelated SELECT should be considered as
      uncacheable. Otherwise join_free is called for it and in many cases
      it causes some problems.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #25219.
      mysql-test/t/subselect.test:
        Added a test case for bug #25219.
      sql/mysql_priv.h:
        Fixed bug #25219: crash for a query that contains an EXIST subquery with
        UNION over correlated and uncorrelated SELECTS.
        In such subqueries each uncorrelated SELECT should be considered as
        uncacheable. Otherwise join_free is called for it and in many cases
        it causes some problems. 
        Added a new flag UNCACHEABLE_UNITED for such SELECTs.
      sql/sql_lex.cc:
        Fixed bug #25219: crash for a query that contains an EXIST subquery with
        UNION over correlated and uncorrelated SELECTS.
        In such subqueries each uncorrelated SELECT should be considered as
        uncacheable. Otherwise join_free is called for it and in many cases
        it causes some problems.
        Added a new flag UNCACHEABLE_UNITED for such SELECTs.
      edf72bf6
  23. 12 Dec, 2006 1 commit
    • unknown's avatar
      Fixed bug #24670: optimizations that are legal only for subqueries without tables · 33446269
      unknown authored
      and no WHERE condition were applied for any subquery without tables.
      
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #24670.
      mysql-test/t/subselect.test:
        Added a test case for bug #24670.
      sql/item_subselect.cc:
        Fixed bug #24670: optimizations that are legal only for subqueries without tables
        and no WHERE condition were applied for any subquery without tables.
        
        Removed an assertion that caused an abort for subqueries without tables and no 
        WHERE condition. 
        Blocked substitution of a single-row subquery without tables for the constant 
        row from its select list when the subquery contained a WHERE condition.
        This optimization is valid only for subquries without tables with no conditions.
        Any subquery without tables with WHERE clause returns NULL if the WHERE condition
        is FALSE. Erroneously it was always considered as non-nullable that could trigger 
        another optimization concerning IS NULL predicates which is applicable only for 
        non-nullable expressions and ultimately led to a wrong result returned by the outer
        query.
        Added a proper implementation of the virtual method may_be_null for class 
        subselect_single_select_engine.
      sql/item_subselect.h:
        Fixed bug #24670: optimizations that are legal only for subqueries without tables
        and no WHERE condition were applied for any subquery without tables.
        Made method may_by_null for class subselect_engine vvirtual.
      33446269
  24. 03 Dec, 2006 1 commit
    • unknown's avatar
      bug #20835 (Subqueries: literal string with =any fails) · e8b32b2b
      unknown authored
      We create Item_cache_* object for each operand for each left operand of
      a subquery predicate. We also create Item_func_conv_charset for each string
      constant that needs charset conversion. So here we have Item_cache wrapped
      into Item_func_conv_charset.
      When Item_func_conv_charset wraps an constant Item it gets it's value
      in constructor. The problem is that Item_cache is ready to be used only
      at execution time, which is too late.
      The fix makes Item_cache wrapping constant to get ready at fix_fields() time.
      
      
      mysql-test/r/subselect.result:
        test result
      mysql-test/t/subselect.test:
        test case
      sql/item_cmpfunc.cc:
        now Item_optimizer::fix_left will store constant arguments in cache
        on fix_fields() stage
      e8b32b2b
  25. 20 Nov, 2006 1 commit
    • unknown's avatar
      Remove compiler warnings · 14decc4f
      unknown authored
      (Mostly in DBUG_PRINT() and unused arguments)
      Fixed bug in query cache when used with traceing (--with-debug)
      Fixed memory leak in mysqldump
      Removed warnings from mysqltest scripts (replaced -- with #)
      
      
      BitKeeper/etc/ignore:
        added mysql-test/r/*.warnings
      BUILD/SETUP.sh:
        Don't build with BDB as default
      client/client_priv.h:
        Added OPT_DEBUG_INFO
      client/mysqlbinlog.cc:
        Fixed compiler warning
      client/mysqldump.c:
        Removed compiler warnings
        Added option --debug-info to detect memory leaks
        Fixed memory leak
        Don't backup cluster replication tables (if used with 5.1)
      cmd-line-utils/readline/bind.c:
        Fixed compiler warning
      cmd-line-utils/readline/chardefs.h:
        Fixed compiler warning
      cmd-line-utils/readline/complete.c:
        Fixed compiler warning
      cmd-line-utils/readline/display.c:
        Fixed compiler warning
      cmd-line-utils/readline/histexpand.c:
        Fixed compiler warning
      cmd-line-utils/readline/input.c:
        Fixed compiler warning
      cmd-line-utils/readline/isearch.c:
        Fixed compiler warning
      cmd-line-utils/readline/kill.c:
        Fixed compiler warning
      cmd-line-utils/readline/macro.c:
        Fixed compiler warning
      cmd-line-utils/readline/misc.c:
        Fixed compiler warning
      cmd-line-utils/readline/nls.c:
        Fixed compiler warning
      cmd-line-utils/readline/readline.c:
        Fixed compiler warning
      cmd-line-utils/readline/rltty.c:
        Fixed compiler warning
      cmd-line-utils/readline/search.c:
        Fixed compiler warning
      cmd-line-utils/readline/terminal.c:
        Fixed compiler warning
      cmd-line-utils/readline/text.c:
        Fixed compiler warning
      cmd-line-utils/readline/tilde.c:
        Fixed compiler warning
      cmd-line-utils/readline/undo.c:
        Fixed compiler warning
      cmd-line-utils/readline/util.c:
        Fixed compiler warning
      cmd-line-utils/readline/vi_mode.c:
        Fixed compiler warning
      dbug/dbug_analyze.c:
        Fixed compiler warning
      extra/yassl/src/ssl.cpp:
        Fixed compiler warning
      extra/yassl/testsuite/testsuite.cpp:
        Fixed compiler warning
      heap/_check.c:
        Fixed compiler warning
      heap/hp_delete.c:
        Fixed compiler warning
      heap/hp_hash.c:
        Fixed compiler warning
      heap/hp_open.c:
        Fixed compiler warning
      heap/hp_rkey.c:
        Fixed compiler warning
      heap/hp_rrnd.c:
        Fixed compiler warning
      heap/hp_write.c:
        Fixed compiler warning
      libmysql/libmysql.c:
        Fixed compiler warning
      libmysqld/libmysqld.c:
        Fixed compiler warning
      myisam/mi_close.c:
        Fixed compiler warning
      myisam/mi_delete.c:
        Fixed compiler warning
      myisam/mi_dynrec.c:
        Fixed compiler warning
      myisam/mi_keycache.c:
        Fixed compiler warning
      myisam/mi_page.c:
        Fixed compiler warning
      myisam/mi_statrec.c:
        Fixed compiler warning
      myisam/mi_test2.c:
        Fixed compiler warning
      myisam/mi_write.c:
        Fixed compiler warning
      myisam/myisampack.c:
        Fixed compiler warning
      myisammrg/myrg_extra.c:
        Fixed compiler warning
      mysql-test/mysql-test-run.pl:
        Remove .reject, .progress, .log and .warnings flag at start
        cluster -> mysql database (for 5.1)
      mysql-test/include/federated.inc:
        Remove mysqltest warnings
      mysql-test/include/sp-vars.inc:
        Remove mysqltest warnings
      mysql-test/mysql-test-run.sh:
        Fix so that 'make test' works again
        Remove .reject, .progress .log and .warnings files at startup
      mysql-test/r/ctype_cp1250_ch.result:
        Drop used tables at startup
      mysql-test/t/create.test:
        Remove mysqltest warnings
      mysql-test/t/csv.test:
        Remove mysqltest warnings
      mysql-test/t/ctype_collate.test:
        Remove mysqltest warnings
      mysql-test/t/ctype_cp1250_ch.test:
        Drop used tables at startup
      mysql-test/t/ctype_ucs.test:
        Remove mysqltest warnings
      mysql-test/t/func_sapdb.test:
        Remove mysqltest warnings
      mysql-test/t/func_str.test:
        Remove mysqltest warnings
      mysql-test/t/grant.test:
        Remove mysqltest warnings
      mysql-test/t/greedy_optimizer.test:
        Remove mysqltest warnings
      mysql-test/t/group_min_max.test:
        Remove mysqltest warnings
      mysql-test/t/innodb.test:
        Remove mysqltest warnings
      mysql-test/t/join.test:
        Remove mysqltest warnings
      mysql-test/t/limit.test:
        Remove mysqltest warnings
      mysql-test/t/null.test:
        Remove mysqltest warnings
      mysql-test/t/select.test:
        Remove mysqltest warnings
      mysql-test/t/sp-prelocking.test:
        Remove mysqltest warnings
      mysql-test/t/strict.test:
        Remove mysqltest warnings
      mysql-test/t/subselect.test:
        Remove mysqltest warnings
      mysql-test/t/type_newdecimal.test:
        Remove mysqltest warnings
      mysql-test/t/view_grant.test:
        Remove mysqltest warnings
      mysys/default.c:
        Fixed compiler warning
      mysys/hash.c:
        Fixed compiler warning
      mysys/list.c:
        Fixed compiler warning
      mysys/mf_iocache.c:
        Fixed compiler warning
      mysys/mf_keycache.c:
        Fixed compiler warning
      mysys/mf_keycaches.c:
        Fixed compiler warning
      mysys/my_alloc.c:
        Fixed compiler warning
      mysys/my_dup.c:
        Fixed compiler warning
      mysys/my_fopen.c:
        Fixed compiler warning
      mysys/my_fstream.c:
        Fixed compiler warning
      mysys/my_getwd.c:
        Fixed compiler warning
      mysys/my_handler.c:
        Fixed compiler warning
        Added missing enums in switch
      mysys/my_lib.c:
        Fixed compiler warning
      mysys/my_lread.c:
        Fixed compiler warning
      mysys/my_lwrite.c:
        Fixed compiler warning
      mysys/my_malloc.c:
        Fixed compiler warning
      mysys/my_pread.c:
        Fixed compiler warning
      mysys/my_read.c:
        Fixed compiler warning
      mysys/my_realloc.c:
        Fixed compiler warning
      mysys/my_seek.c:
        Fixed compiler warning
      mysys/my_write.c:
        Fixed compiler warning
      mysys/safemalloc.c:
        Fixed compiler warning
      mysys/thr_lock.c:
        Fixed compiler warning
      mysys/tree.c:
        Fixed compiler warning
      mysys/typelib.c:
        Fixed compiler warning
      ndb/include/logger/LogHandler.hpp:
        Changed SetErrorStr() to take const char* to remove compiler warnings (as many arguments to this are const strings)
      ndb/include/ndb_global.h.in:
        Added LINT_SET_PTR macro to be able to remove some compiler warnings
      ndb/include/util/InputStream.hpp:
        Fixed compiler warning
      ndb/include/util/OutputStream.hpp:
        Fixed compiler warning
      ndb/include/util/SimpleProperties.hpp:
        Fixed compiler warning
      ndb/src/common/debugger/EventLogger.cpp:
        remove if on 'signal' as this is a function pointer and is always true
      ndb/src/common/debugger/signaldata/BackupSignalData.cpp:
        Add missing enums
      ndb/src/common/logger/LogHandler.cpp:
        Changed SetErrorStr() to take const char* to remove compiler warnings (as many arguments to this are const strings)
      ndb/src/common/portlib/NdbMutex.c:
        Fixed compiler warning
      ndb/src/common/portlib/NdbThread.c:
        Fixed compiler warning
      ndb/src/common/transporter/Transporter.cpp:
        Swapped arguments to remove compiler warnings
      ndb/src/cw/cpcd/CPCD.hpp:
        Fixed compiler warning
      ndb/src/kernel/blocks/backup/Backup.cpp:
        Fixed compiler warning
      ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
        Fixed compiler warning
      ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        Fixed compiler warning
      ndb/src/kernel/blocks/dbtux/DbtuxSearch.cpp:
        Fixed compiler warning
      ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
        Added missing enums
      ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
        Fixed compiler warning
      ndb/src/kernel/error/ErrorReporter.cpp:
        Fixed compiler warning
      ndb/src/kernel/error/ErrorReporter.hpp:
        Fixed compiler warning
      ndb/src/kernel/error/ndbd_exit_codes.c:
        Fixed compiler warning
      ndb/src/kernel/vm/TransporterCallback.cpp:
        Fixed compiler warning
      ndb/src/mgmapi/mgmapi.cpp:
        Fixed compiler warning
      ndb/src/mgmclient/CommandInterpreter.cpp:
        Fixed compiler warning
      ndb/src/mgmsrv/MgmtSrvr.cpp:
        Fixed compiler warning
      ndb/src/mgmsrv/Services.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/ClusterMgr.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/DictCache.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/Ndb.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/NdbOperationDefine.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/NdbOperationExec.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/NdbOperationInt.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/NdbOperationSearch.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/NdbTransaction.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/Ndbif.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/Ndbinit.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/ndb_cluster_connection.cpp:
        Fixed compiler warning
      ndb/tools/drop_index.cpp:
        Fixed compiler warning
      ndb/tools/drop_tab.cpp:
        Fixed compiler warning
      ndb/tools/ndb_config.cpp:
        Fixed compiler warning
      regex/regexec.c:
        Fixed compiler warning
      server-tools/instance-manager/mysql_connection.cc:
        Fixed compiler warning
      sql/Makefile.am:
        Fix for bison 1.875, which adds an attribute statement that gcc 4.1.0 can't parse
      sql/filesort.cc:
        Fixed compiler warning
      sql/ha_archive.cc:
        Fixed compiler warning
      sql/ha_federated.cc:
        Fixed compiler warning
      sql/ha_federated.h:
        Fixed compiler warning
      sql/ha_innodb.cc:
        Fixed compiler warning
      sql/ha_myisam.cc:
        Fixed compiler warning
      sql/ha_myisammrg.cc:
        Fixed compiler warning
      sql/ha_ndbcluster.cc:
        Fixed compiler warning
      sql/handler.cc:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Fixed compiler warning
      sql/item_subselect.cc:
        Fixed compiler warning
      sql/item_timefunc.cc:
        Fixed compiler warning
      sql/log_event.cc:
        Fixed compiler warning
      sql/mysqld.cc:
        Fixed compiler warning
      sql/net_serv.cc:
        Fixed compiler warning
      sql/opt_range.cc:
        Fixed compiler warning
        Formated DBUG statements to be as rest of code
      sql/slave.cc:
        Fixed compiler warning
      sql/sql_acl.cc:
        Fixed compiler warning
      sql/sql_cache.cc:
        Fixed compiler warning
        Fixed bug in query cache when used with DBUG traceing
      sql/sql_class.cc:
        Fixed compiler warning
      sql/sql_class.h:
        Fixed compiler warning
      sql/sql_delete.cc:
        Fixed compiler warning
      sql/sql_parse.cc:
        Fixed compiler warning
        Hack to fix my_sprintf() strings with %b
      sql/sql_prepare.cc:
        Fixed compiler warning
        Hack to fix my_sprintf() strings with %b
      sql/sql_repl.cc:
        Fixed compiler warning
      sql/sql_select.cc:
        Fixed compiler warning
      sql/sql_update.cc:
        Fixed compiler warning
      sql/sql_view.cc:
        Fixed compiler warning
      sql/strfunc.cc:
        Fixed compiler warning
      sql-common/client.c:
        Fixed compiler warning
      sql-common/my_time.c:
        Fixed compiler warning
      sql/table.cc:
        Fixed compiler warning
      sql/tztime.cc:
        Fixed compiler warning
      sql/unireg.cc:
        Fixed compiler warning
      strings/decimal.c:
        Fixed compiler warning
      tests/mysql_client_test.c:
        Fixed compiler warning
      vio/viosocket.c:
        Fixed compiler warning
      vio/viossl.c:
        Fixed compiler warning
      vio/viosslfactories.c:
        Fixed compiler warning
      14decc4f
  26. 07 Nov, 2006 1 commit
    • unknown's avatar
      Bug #11032: getObject() returns a String for a sub-query of type datetime · 5af4fd25
      unknown authored
       - When returning metadata for scalar subqueries the actual type of the
         column was calculated based on the value type, which limits the actual
         type of a scalar subselect to the set of (currently) 3 basic types : 
         integer, double precision or string. This is the reason that columns
         of types other then the basic ones (e.g. date/time) are reported as
         being of the corresponding basic type.
         Fixed by storing/returning information for the column type in addition
         to the result type.
      
      
      mysql-test/r/subselect.result:
        Bug #11032: getObject() returns a String for a sub-query of type datetime
         - test case
      mysql-test/t/subselect.test:
        Bug #11032: getObject() returns a String for a sub-query of type datetime
         - test case
      sql/item_subselect.cc:
        Bug #11032: getObject() returns a String for a sub-query of type datetime
         - store and return the field type as well in addition to result type for 
           single row subqueries
      sql/item_subselect.h:
        Bug #11032: getObject() returns a String for a sub-query of type datetime
         - store and return the field type as well in addition to result type for 
           single row subqueries
      5af4fd25
  27. 01 Nov, 2006 1 commit
    • unknown's avatar
      Fixed bug #21727. · 2a7cf59f
      unknown authored
      This is a performance issue for queries with subqueries evaluation
      of which requires filesort.
      Allocation of memory for the sort buffer at each evaluation of a
      subquery may take a significant amount of time if the buffer is rather big.
      With the fix we allocate the buffer at the first evaluation of the
      subquery and reuse it at each subsequent evaluation.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #21727.
      mysql-test/t/subselect.test:
        Added a test case for bug #21727.
      sql/item_subselect.h:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added an implementation for Item_subselect::is_uncacheable()
        returning TRUE if the engine if the subselect is uncacheable.
      sql/mysql_priv.h:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added a new boolean parameter to the filesort_free_buffers procedure.
        If the value of this parameter is TRUE the procedure frees the sort_keys
        buffpek buffers.
      sql/records.cc:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added a new boolean parameter to the filesort_free_buffers procedure.
        If the value of this parameter is TRUE the procedure frees the sort_keys
        buffpek buffers.
      sql/sql_base.cc:
        Fixed bug #21727.
        Made sure that st_table::pos_in_table_list would be always initialized.
      sql/sql_select.cc:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added a new boolean parameter to the filesort_free_buffers procedure.
        If the value of this parameter is TRUE the procedure frees the sort_keys
        buffpek buffers.
      sql/sql_show.cc:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added a new boolean parameter to the filesort_free_buffers procedure.
        If the value of this parameter is TRUE the procedure frees the sort_keys
        buffpek buffers.
      sql/sql_table.cc:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Cleanup.
      sql/table.cc:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added st_table_list::in_subselect() returning for a table the subselect that 
        contains the FROM list this table is taken from (if there is any).
      sql/table.h:
        Fixed bug #21727.
        This is a performance issue for queries with subqueries evaluation
        of which requires filesort.
        Added fields for sort_keys and buffpek buffers to the FILESORT_INFO structure.
      2a7cf59f
  28. 20 Oct, 2006 1 commit
    • unknown's avatar
      Fixed bug #23478. · d649efbb
      unknown authored
      If elements a not top-level IN subquery were accessed by an index and 
      the subquery result set included  a NULL value then the quantified
      predicate that contained the subquery was evaluated to NULL when 
      it should return a non-null value.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #23478.
      mysql-test/t/subselect.test:
        Added a test case for bug #23478.
      d649efbb
  29. 17 Oct, 2006 1 commit
    • unknown's avatar
      Bug#21798: memory leak during query execution with subquery in column · 841ea461
      unknown authored
                  list using a function
      When executing dependent subqueries they are re-inited and re-exec() for 
      each row of the outer context.
      The cause for the bug is that during subquery reinitialization/re-execution,
      the optimizer reallocates JOIN::join_tab, JOIN::table in make_simple_join()
      and the local variable in 'sortorder' in create_sort_index(), which is
      allocated by make_unireg_sortorder().
      Care must be taken not to allocate anything into the thread's memory pool
      while re-initializing query plan structures between subquery re-executions.
      All such items mush be cached and reused because the thread's memory pool
      is freed at the end of the whole query.
      Note that they must be cached and reused even for queries that are not 
      otherwise cacheable because otherwise it will grow the thread's memory 
      pool every time a cacheable query is re-executed. 
      We provide additional members to the JOIN structure to store references 
      to the items that need to be cached.
      
      
      mysql-test/r/subselect.result:
        Bug#21798: memory leak during query execution with subquery in column
                    list using a function
         - test case
      mysql-test/t/subselect.test:
        Bug#21798: memory leak during query execution with subquery in column
                    list using a function
         - test case
      sql/mysql_priv.h:
        Bug#21798: memory leak during query execution with subquery in column
                    list using a function
         - cache the entities allocated in the threads memory pool by
           JOIN::exec ().
      sql/sql_delete.cc:
        Bug#21798: memory leak during query execution with subquery in column
                    list using a function
         - cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's 
           memory pool by JOIN::exec ().
      sql/sql_select.cc:
        Bug#21798: memory leak during query execution with subquery in column
                    list using a function
         - cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's 
           memory pool by JOIN::exec ().
      sql/sql_select.h:
        Bug#21798: memory leak during query execution with subquery in column
                    list using a function
         - cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's 
           memory pool by JOIN::exec ().
      sql/sql_table.cc:
        Bug#21798: memory leak during query execution with subquery in column
                    list using a function
         - cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's 
           memory pool by JOIN::exec ().
      sql/sql_update.cc:
        Bug#21798: memory leak during query execution with subquery in column
                    list using a function
         - cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's 
           memory pool by JOIN::exec ().
      841ea461
  30. 03 Oct, 2006 1 commit
    • unknown's avatar
      Update mysqltest to latest version · 9368c7bc
      unknown authored
       - ie. backport from 5.1
       - also update testcase error dected by new version
      
      
      mysql-test/include/show_msg.inc:
        BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg.inc
      mysql-test/include/show_msg80.inc:
        BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg80.inc
      BitKeeper/deleted/.del-rpl_chain_temp_table.test:
        Delete: mysql-test/t/rpl_chain_temp_table.test
      BitKeeper/deleted/.del-rpl_chain_temp_table.result:
        Delete: mysql-test/r/rpl_chain_temp_table.result
      BitKeeper/deleted/.del-rpl_failsafe.result:
        Delete: mysql-test/r/rpl_failsafe.result
      BitKeeper/deleted/.del-rpl_failsafe.test:
        Delete: mysql-test/t/rpl_failsafe.test
      BitKeeper/deleted/.del-rpl_heap.test:
        Delete: mysql-test/t/rpl_heap.test
      BitKeeper/deleted/.del-rpl_heap.result:
        Delete: mysql-test/r/rpl_heap.result
      BitKeeper/deleted/.del-rpl000018.result:
        Delete: mysql-test/r/rpl000018.result
      BitKeeper/deleted/.del-rpl000018.test:
        Delete: mysql-test/t/rpl000018.test
      client/Makefile.am:
        Link mysqltest with mysys/my_copy.c
      client/mysqltest.c:
        Update mysqltest to latest version
      mysql-test/include/have_multi_ndb.inc:
        Remove old syntax "@filename" in favor of "--require filename"
      mysql-test/include/master-slave.inc:
        Remove old syntax "@filename" in favor of "--require filename"
      mysql-test/include/ps_query.inc:
        Remove the comment about no output now when it does.
      mysql-test/r/check.result:
        Update output from --send
      mysql-test/r/connect.result:
        Update result file for connect test after backport form 5.1
      mysql-test/r/flush.result:
        Update output from --send
      mysql-test/r/flush_block_commit.result:
        Update output from --send
      mysql-test/r/func_misc.result:
        Update output from --send
      mysql-test/r/grant2.result:
        Update output from --send
      mysql-test/r/handler.result:
        Update output from --send
      mysql-test/r/kill.result:
        Update output from --send
      mysql-test/r/lock_multi.result:
        Update output from --send
      mysql-test/r/mix_innodb_myisam_binlog.result:
        Update output from --send
      mysql-test/r/mysqltest.result:
        Update mysqltest.result after backport
      mysql-test/r/ps_2myisam.result:
        Update result as the output from query is now printed
      mysql-test/r/ps_3innodb.result:
        Update result as the output from query is now printed
      mysql-test/r/ps_4heap.result:
        Update result as the output from query is now printed
      mysql-test/r/ps_5merge.result:
        Update result as the output from query is now printed
      mysql-test/r/ps_6bdb.result:
        Update result as the output from query is now printed
      mysql-test/r/ps_7ndb.result:
        Update result as the output from query is now printed
      mysql-test/r/rename.result:
        Update output from --send
      mysql-test/r/rpl000001.result:
        Update output from --send
      mysql-test/r/rpl_error_ignored_table.result:
        Update output from --send
      mysql-test/r/rpl_master_pos_wait.result:
        Update output from --send
      mysql-test/r/subselect.result:
        Update result file after adding missing ;
      mysql-test/r/synchronization.result:
        Update output from --send
      mysql-test/r/type_blob.result:
        Update result file after adding missing ;
      mysql-test/t/connect.test:
        Backport test from 5.1
      mysql-test/t/init_file.test:
        Update test so something is printed
      mysql-test/t/mysql_client_test.test:
        Update test so result is sent to file and something is printed
      mysql-test/t/mysqltest.test:
        Backport latest mysqltest.test file
      mysql-test/t/ps.test:
        Move the --replace_column statement to just before the statetement it should replace
      mysql-test/t/ps_1general.test:
        Move the --replace_column statement to just before the statetement it should replace
      mysql-test/t/ps_grant.test:
        Remove the $DB, no other test uses it
      mysql-test/t/rpl_flush_tables.test:
        Fetch $SERVER_VERSION from the db server
      mysql-test/t/rpl_trunc_temp.test:
        Remove the selection of connection master after it's been disconnected already
      mysql-test/t/subselect.test:
        Add missing ;
      mysql-test/t/type_blob.test:
        Add missing ;
      9368c7bc
  31. 25 Sep, 2006 1 commit
    • unknown's avatar
      Fixed bug #21853: assert failure for a grouping query with · 9bf2ed95
      unknown authored
      an ALL/ANY quantified subquery in HAVING.
      The Item::split_sum_func2 method should not create Item_ref
      for objects of any class derived from Item_subselect.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #21853.
      mysql-test/t/subselect.test:
        Added a test case for bug #21853.
      9bf2ed95
  32. 08 Sep, 2006 1 commit
    • unknown's avatar
      Bug #21540: Subqueries with no from and aggregate functions return · 2a00a073
      unknown authored
                  wrong results
       Mark the containing Item(s) (Item_subselect descendant usually) of 
       a subselect as containing aggregate functions if it has references
       to aggregates functions that are calculated outside its context.
       This tels end_send_group() not to make an Item_subselect descendant in
       select list a copy and causes the correct value being returned.
      
      
      mysql-test/r/func_group.result:
        Bug #21540: Subqueries with no from and aggregate functions return
                    wrong results
         - test cases
      mysql-test/r/subselect.result:
        Bug #21540: Subqueries with no from and aggregate functions return
                    wrong results
         - fixed the result of an existing testcase.
      mysql-test/t/subselect.test:
        Bug #21540: Subqueries with no from and aggregate functions return
                    wrong results
         - test cases
      sql/item_sum.cc:
        Bug #21540: Subqueries with no from and aggregate functions return
                    wrong results
         Mark the containing Item (Item_subselect descendant usually) of 
         a subselect as containing aggregate functions if it has references
         to aggregates functions that are calculated outside its context.
         This tels end_send_group() not to make an Item_subselect descendant in
         select list a copy and causes the correct value being returned.
      2a00a073
  33. 31 Aug, 2006 1 commit
    • unknown's avatar
      Bug#14654 : Cannot select from the same table twice within a UNION statement · c9bba13a
      unknown authored
       Made the parser to support parenthesis around UNION branches.
       This is done by amending the rules of the parser so it generates the correct
       structure.
       Currently it supports arbitrary subquery/join/parenthesis operations in the 
       EXISTS clause. 
       In the IN/scalar subquery case it will allow adding nested parenthesis only 
       if there is an UNION clause after the parenthesis. Otherwise it will just  
       treat the multiple nested parenthesis as a scalar expression.
       It adds extra lex level for ((SELECT ...) UNION ...) to accommodate for the
       UNION clause.
      
      
      mysql-test/r/subselect.result:
        Bug#14654 : Cannot select from the same table twice within a UNION statement
         - test cases
      mysql-test/t/subselect.test:
        Bug#14654 : Cannot select from the same table twice within a UNION statement
         - test cases
      sql/sql_yacc.yy:
        Bug#14654 : Cannot select from the same table twice within a UNION statement
         - shuffle around the rules for the parenthesis in subselect
      c9bba13a
  34. 24 Aug, 2006 2 commits
    • unknown's avatar
      BUG#16255: Post-review fixes: adjust the testcase. · f895a16c
      unknown authored
      mysql-test/r/subselect.result:
        BUG#16255: A proper testcase
      mysql-test/t/subselect.test:
        BUG#16255: A proper testcase
      f895a16c
    • unknown's avatar
      Bug #16255: Subquery in WHERE (the cset by Georgi Kodinov) · c74c8195
      unknown authored
       Must not use Item_direct_ref in HAVING because it points to
       the new value (witch is not yet calculated for the first row).
      
      
      mysql-test/r/subselect.result:
        Bug #16255: Subquery in where
         - test case
      mysql-test/t/subselect.test:
        Bug #16255: Subquery in where
         - test case
      sql/item_subselect.cc:
        Bug #16255: Subquery in where
         Must not use Item_direct_ref in HAVING because it points to
         the new value (witch is not yet calculated for the first row).
      c74c8195
  35. 03 Aug, 2006 1 commit
    • unknown's avatar
      Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result · 8462d3a4
      unknown authored
       Reseting subqueries with "quick" access methods was incomplete.
       Partially backported the correct reseting of QUICK_SELECTs from 5.x.
      
      
      mysql-test/r/subselect.result:
        Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
         - test case
      mysql-test/t/subselect.test:
        Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
         - test case
      sql/opt_range.cc:
        Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
         - partially backported the correct reseting of QUICK_SELECTs from 5.x.
      sql/opt_range.h:
        Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
         - partially backported the correct reseting of QUICK_SELECTs from 5.x.
      8462d3a4
  36. 29 Jul, 2006 1 commit
    • unknown's avatar
      Add missing delimiter in subselect test · a7ec9063
      unknown authored
      mysql-test/r/subselect.result:
        Add missing semicolon delimiter and junk caused by that
      mysql-test/t/subselect.test:
        Add missing semicolon delimiter
      a7ec9063