An error occurred fetching the project authors.
  1. 16 Oct, 2008 1 commit
    • Gleb Shchepa's avatar
      Bug #39844: Query Crash Mysql Server 5.0.67 · 9f04b596
      Gleb Shchepa authored
      Server crashed during a sort order optimization
      of a dependent subquery:
      
      SELECT
          (SELECT t1.a FROM t1, t2
            WHERE t1.a = t2.b AND t2.a = t3.c
            ORDER BY t1.a)
        FROM t3;
      
      
      Bitmap of tables, that the reference to outer table
      column uses, in addition to the regular table bit
      has the OUTER_REF_TABLE_BIT bit set.
      The only_eq_ref_tables function traverses this map
      bit by bit simultaneously with join->map2table list.
      Obviously join->map2table never contains an entry
      for the OUTER_REF_TABLE_BIT pseudo-table, so the
      server crashed there.
      
      
      The only_eq_ref_tables function has been modified
      to traverse regular table bits only like the
      update_depend_map function (resetting of the
      OUTER_REF_TABLE_BIT there is enough, but
      resetting of the whole set of PSEUDO_TABLE_BITS
      is used there for sure).
      
      
      mysql-test/r/order_by.result:
        Added test case for bug #39844.
      mysql-test/t/order_by.test:
        Added test case for bug #39844.
      sql/sql_select.cc:
        Bug #39844: Query Crash Mysql Server 5.0.67
        
        The only_eq_ref_tables function has been modified
        to traverse regular table bits only like the
        update_depend_map function (resetting of the
        OUTER_REF_TABLE_BIT there is enough, but
        resetting of the whole set of PSEUDO_TABLE_BITS
        is used there for sure).
      9f04b596
  2. 23 Apr, 2008 1 commit
    • unknown's avatar
      Fixed bug#35844. · e038172a
      unknown authored
      The function test_if_skip_sort_order ignored any covering index used for ref
      access of a table in a query with ORDER BY if this index was incompatible 
      with the ORDER BY list and there was another covering index compatible with
      this list. 
      As a result sub-optimal execution plans were chosen for some queries with
      ORDER BY clause. 
      
      
      mysql-test/r/distinct.result:
        Adjusted results after the fix for bug#35844.
      mysql-test/r/order_by.result:
        Added a test case for bug#35844.
      mysql-test/t/order_by.test:
        Added a test case for bug#35844.
      e038172a
  3. 27 Mar, 2008 1 commit
    • unknown's avatar
      Bug #35206: select query result different if the key is indexed or not · 82242b93
      unknown authored
      The code for executing indexed ORDER BY was not setting all the 
      internal fields correctly when selecting to execute ORDER BY over
      and index.
      Fixed by change the access method to one that will use the 
      quick indexed access if one is selected while selecting indexed
      ORDER BY.
      
      
      mysql-test/r/order_by.result:
        Bug #35206: test case
      mysql-test/t/order_by.test:
        Bug #35206: test case
      sql/sql_select.cc:
        Bug #35206: Change the access method when selecting a 
        quick indexed access.
      82242b93
  4. 08 Feb, 2008 1 commit
    • unknown's avatar
      Bug#31590: Wrong error message on sort buffer being too small. · 2c468127
      unknown authored
      The out of memory error was thrown when the sort buffer size were too small.
      This led to a user confusion.
      
      Now filesort throws the error message about sort buffer being too small.
      
      
      mysql-test/t/order_by.test:
        Added a test case for the bug#31590: Wrong error message on sort buffer being too small.
      mysql-test/r/order_by.result:
        Added a test case for the bug#31590: Wrong error message on sort buffer being too small.
      sql/filesort.cc:
        Bug#31590: Wrong error message on sort buffer being too small.
        Now filesort throws the error message about sort buffer being too small
        instead of out of memory error.
      2c468127
  5. 28 Sep, 2007 1 commit
    • unknown's avatar
      Bug#30665: Inconsistent optimization of IGNORE INDEX FOR {ORDER BY|GROUP BY} · ad2fb477
      unknown authored
      The optimizer takes different execution paths during EXPLAIN than SELECT,
      this fix relates only to EXPLAIN, hence no behavior changes.
      The test of sort keys for ORDER BY was prohibited from considering keys
      that were mentioned in IGNORE KEYS FOR ORDER BY. This led to two 
      inconsistencies: One was that IGNORE INDEX FOR GROUP BY and 
      IGNORE INDEX FOR ORDER BY gave apparently different EXPLAINs; the latter 
      erroneously claimed to do filesort. The second inconsistency 
      is that the test of sort keys is called twice, finding a sort key the first
      time but not the second time, leading to the mentioned filesort.
      
      Fixed by making the test of sort keys consider all enabled 
      keys on the table. This test rejects keys that are not covering, and for 
      covering keys the hint should be ignored anyway. 
      
      
      mysql-test/r/group_by.result:
        Bug#30665: Changed test result. The plan gets more efficient here. 
        The output is included in order to show that it is still correct.
      mysql-test/r/order_by.result:
        Bug#30665: Test result
      mysql-test/t/group_by.test:
        Bug#30665: Changed test case to show correctness of changed plan
      mysql-test/t/order_by.test:
        Bug#30665: Test case
      sql/sql_select.cc:
        Bug#30665: 
        - the fix: Give test_if_skip_sort_order all keys not the subset of non-disabled keys.
        - Added comment to test_if_skip_sort_order
      ad2fb477
  6. 05 Aug, 2007 1 commit
  7. 04 Aug, 2007 1 commit
  8. 02 Aug, 2007 1 commit
    • unknown's avatar
      Fixed bug#28404. · bdba4c96
      unknown authored
      This patch adds cost estimation for the queries with ORDER BY / GROUP BY
      and LIMIT. 
      If there was a ref/range access to the table whose rows were required
      to be ordered in the result set the optimizer always employed this access
      though a scan by a different index that was compatible with the required 
      order could be cheaper to produce the first L rows of the result set.
      Now for such queries the optimizer makes a choice between the cheapest
      ref/range accesses not compatible with the given order and index scans
      compatible with it.
      
      
      mysql-test/r/distinct.result:
        Adjusted results for test cases affected fy the fix for bug #28404.
      mysql-test/r/endspace.result:
        Adjusted results for test cases affected fy the fix for bug #28404.
      mysql-test/r/group_by.result:
        Adjusted results for test cases affected fy the fix for bug #28404.
      mysql-test/r/group_min_max.result:
        Adjusted results for test cases affected fy the fix for bug #28404.
      mysql-test/r/innodb.result:
        Adjusted results for test cases affected fy the fix for bug #28404.
      mysql-test/r/innodb_mysql.result:
        Adjusted results for test cases affected fy the fix for bug #28404.
      mysql-test/r/merge.result:
        Adjusted results for test cases affected fy the fix for bug #28404.
      mysql-test/r/order_by.result:
        Added a test case for bug #28404.
      mysql-test/r/select_found.result:
        Adjusted results for test cases affected fy the fix for bug #28404.
      mysql-test/r/subselect.result:
        Adjusted results for test cases affected fy the fix for bug #28404.
      mysql-test/t/distinct.test:
        Changed a test case after adding the fix for bug #28404.
      mysql-test/t/order_by.test:
        Added a test case for bug #28404.
      sql/sql_select.cc:
        Fixed bug#28404.
        This patch adds cost estimation for the queries with ORDER BY / GROUP BY
        and LIMIT. 
        Now for such queries the optimizer makes a choice between the cheapest
        ref/range accesses not compatible with the given order and index scans
        compatible with it.
        
        Modified the function test_if_skip_sort_order to make the above mentioned
        choice cost based.
      sql/sql_select.h:
        Fixed bug#28404.
        This patch adds cost estimation for the queries with ORDER BY / GROUP BY
        and LIMIT. 
        Added a new field fot the JOIN_TAB structure.
      bdba4c96
  9. 01 Jun, 2007 1 commit
    • unknown's avatar
      Fix some mysqltest warnings. · 75c45487
      unknown authored
      mysql-test/r/sp.result:
        Update results.
      mysql-test/t/mysql.test:
        Fix a typo.
      mysql-test/t/mysqltest.test:
        Fix a typo.
      mysql-test/t/order_by.test:
        Fix a typo.
      mysql-test/t/row.test:
        Remove an unsupported command.
      mysql-test/t/sp.test:
        Fix a typo.
      mysql-test/t/subselect3.test:
        Fix  mysqltest warnings - now it warns when sees some suspicious --
        comment
      75c45487
  10. 04 Apr, 2007 1 commit
  11. 03 Apr, 2007 1 commit
    • unknown's avatar
      Fixed bug #27532: wrong results with ORDER/GROUP BY queries containing · c2a369b2
      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.
      c2a369b2
  12. 07 Mar, 2007 1 commit
    • unknown's avatar
      Bug #26672: · 7b53360a
      unknown authored
       DATE/DATETIME values are out of the currently supported
       4 basic value types (INT,STRING,REAL and DECIMAL).
       So expressions (not fields) of compile type DATE/DATETIME are 
       generally considered as STRING values. This is not so
       when they are compared : then they are compared as 
       INTEGER values.
       But the rule for comparison as INTEGERS must be checked
       explicitly each time when a comparison is to be performed.
       filesort is one such place. However there the check was 
       not done and hence the expressions (not fields) of type 
       DATE/DATETIME were sorted by their string representation.
       Fixed to compare them as INTEGER values for filesort.
      
      
      mysql-test/r/order_by.result:
        Bug #26672: test case
      mysql-test/t/order_by.test:
        Bug #26672: test case
      sql/filesort.cc:
        Bug #26672: sort dates/times as integers
      7b53360a
  13. 06 Mar, 2007 1 commit
    • unknown's avatar
      Bug#25376: Incomplete setup of ORDER BY clause results in a wrong result. · 447c074f
      unknown authored
      Functions over sum functions wasn't set up correctly for the ORDER BY clause
      which leads to a wrong order of the result set.
      
      The split_sum_func() function is called now for each ORDER BY item that
      contains a sum function to set it up correctly.
      
      
      mysql-test/t/order_by.test:
        Added a test case for bug#25376: Incomplete setup of ORDER BY clause results in a wrong result.
      mysql-test/r/order_by.result:
        Added a test case for bug#25376: Incomplete setup of ORDER BY clause results in a wrong result.
      sql/sql_select.cc:
        Bug#25376: Incomplete setup of ORDER BY clause results in a wrong result.
        The split_sum_func() function is called now for each ORDER BY item that
        contains a sum function to set it up correctly.
      447c074f
  14. 09 Feb, 2007 1 commit
    • unknown's avatar
      Bug#25126: Reference to non-existant column in UPDATE...ORDER BY... crashes server · eebf1d9a
      unknown authored
      "update existingtable set anycolumn=nonexisting order by nonexisting" would crash
      the server.
      
      Though we would find the reference to a field, that doesn't mean we can then use
      it to set some values.  It could be a reference to another field.  If it is NULL, 
      don't try to use it to set values in the Item_field and instead return an error.
      
      Over the previous patch, this signals an error at the location of the error, rather
      than letting the subsequent deref signal it.
      
      
      mysql-test/r/order_by.result:
        Verify that all permutations work.
      mysql-test/t/order_by.test:
        Verify that all permutations work.
      sql/item.cc:
        When the field is NULL, don't dereference it when we set_field().  
        Instead, raise an error.
      eebf1d9a
  15. 22 Jan, 2007 1 commit
    • unknown's avatar
      BUG#16590: Optimized does not do right "const" table pre-read · 82bfd109
      unknown authored
       st_table::const_key_parts member is used in determining if
       certain key has a prefix that is compared to constant(s) in
       the query predicates.
       If there's such prefix the index can be used to get the data
       from the remaining suffix columns in sorted order.
       However if a field is compared to another field from a "const"
       table the const_key_parts is not amended.
       This makes the optimizer unable to detect that the key can be 
       used for sorting and adds an extra filesort.
       Fixed by updating const_key_parts after reading in the "const"
       table.
      
      
      mysql-test/r/order_by.result:
        BUG#16590: Optimized does not do right "const" table pre-read
         - test case
      mysql-test/t/order_by.test:
        BUG#16590: Optimized does not do right "const" table pre-read
         - test case
      sql/sql_select.cc:
        BUG#16590: Optimized does not do right "const" table pre-read
         - fill up the const_key_parts structure
      82bfd109
  16. 10 Jan, 2007 1 commit
    • unknown's avatar
      Fixed bug #25427. · e7fb567a
      unknown authored
      In the method Item_field::fix_fields we try to resolve the name of
      the field against the names of the aliases that occur in the select
      list. This is done by a call of the function find_item_in_list.
      When this function finds several occurrences of the field name
      it sends an error message to the error queue and returns 0.
      Yet the code did not take into account that find_item_in_list
      could return 0 and tried to dereference the returned value.
      
      
      mysql-test/r/order_by.result:
        Added a test case for bug #25427.
      mysql-test/t/order_by.test:
        Added a test case for bug #25427.
      sql/item.cc:
        Fixed bug #25427.
        In the method Item_field::fix_fields we try to resolve the name of
        the field against the names of the aliases that occur in the select
        list. This is done by a call of the function find_item_in_list.
        When this function finds several occurrences of the field name 
        it sends an error message to the error queue and returns 0.
        Yet the code did not take into account that find_item_in_list
        could return 0 and tried to dereference the returned value.
      e7fb567a
  17. 03 Nov, 2006 1 commit
    • unknown's avatar
      Bug #22457: Column alias in ORDER BY works, but not if in an expression · f8ba4f1f
      unknown authored
       The parser is allocating Item_field for references by name in ORDER BY
       expressions. Such expressions however may point not only to Item_field 
       in the select list (or to a table column) but also to an arbitrary Item. 
       This causes Item_field::fix_fields to throw an error about missing 
       column.
       The fix substitutes Item_field for the reference with an Item_ref when 
       not pointing to Item_field.
      
      
      mysql-test/r/order_by.result:
        Bug #22457: Column alias in ORDER BY works, but not if in an expression
         - test case
      mysql-test/t/order_by.test:
        Bug #22457: Column alias in ORDER BY works, but not if in an expression
         - test case
      sql/item.cc:
        Bug #22457: Column alias in ORDER BY works, but not if in an expression
         - transform the Item_field made by the parser into Item_ref if it 
           doesn't point to Item_field and it is in allowed context
      f8ba4f1f
  18. 15 Aug, 2006 2 commits
  19. 14 Aug, 2006 1 commit
    • unknown's avatar
      Bug #21302: Result not properly sorted when using an ORDER BY on a second · f087e2c1
      unknown authored
                   table in a join
       The optimizer removes redundant columns in ORDER BY. It is considering 
      redundant every reference to const table column, e.g b in :
      create table t1 (a int, b int, primary key(a)); 
      select 1 from t1 order by b where a = 1
      
      But it must not remove references to const table columns if the 
      const table is an outer table because there still can be 2 values :
      the const value and NULL. e.g.:
      create table t1 (a int, b int, primary key(a));
      select t2.b c from t1 left join t1 t2 on (t1.a = t2.a and t2.a = 5) 
        order by c;
      
      
      mysql-test/r/join_outer.result:
        Bug #21302: Result not properly sorted when using an ORDER BY on a second 
                    table in a join
         - don't remove columns of const tables in ORDER BY if the const table 
           is an outer table.
      mysql-test/r/order_by.result:
        Bug #21302: Result not properly sorted when using an ORDER BY on a second 
                    table in a join
         - test case
      mysql-test/t/order_by.test:
        Bug #21302: Result not properly sorted when using an ORDER BY on a second 
                    table in a join
         - test case
      sql/sql_select.cc:
        Bug #21302: Result not properly sorted when using an ORDER BY on a second 
                    table in a join
         - don't remove columns of const tables in ORDER BY if the const table 
           is an outer table.
      f087e2c1
  20. 21 Apr, 2006 1 commit
    • unknown's avatar
      Fixed bug #18767. · 3dd2f261
      unknown authored
      The bug caused wrong result sets for union constructs of the form
      (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2.
      For such queries order lists were concatenated and limit clause was
      completely neglected. 
      
      
      mysql-test/r/order_by.result:
        Added a test case for bug #18767.
      mysql-test/t/order_by.test:
        Added a test case for bug #18767.
      sql/sql_lex.h:
        Fixed bug #18767.
        Placed the code the created a fake SELECT_LEX into a separate function.
      sql/sql_parse.cc:
        Fixed bug #18767.
        Placed the code the created a fake SELECT_LEX into a separate function.
      sql/sql_select.cc:
        Fixed bug #18767.
        Changed the condition on which a SELECT is treated as part of a UNION.
        The SELECT in 
        (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 
        now is handled in the same way as the first SELECT in a UNION
        sequence.
      sql/sql_union.cc:
        Fixed bug #18767.
        Changed the condition at which a SELECT is treated as part of a UNION.
        The SELECT in 
        (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 
        now is handled in the same way as the first SELECT in a UNION
        sequence.
      sql/sql_yacc.yy:
        Fixed bug #18767.
        Changed the condition at which a SELECT is treated as part of a UNION.
        The SELECT in 
        (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 
        now is handled in the same way as the first SELECT in a UNION
        sequence. In the same way is handled the SELECT in
        (SELECT ... LIMIT n) ORDER BY order list.
        Yet if there is neither ORDER BY nor LIMIT in the single-select
        union construct
        (SELECT ...) ORDER BY order_list
        then it is still handled as simple select with an order clause.
      3dd2f261
  21. 23 Aug, 2005 1 commit
    • unknown's avatar
      WL#2486 - natural and using join according to SQL:2003 · 1647932c
      unknown authored
      * Provide backwards compatibility extension to name resolution of
        coalesced columns. The patch allows such columns to be qualified
        with a table (and db) name, as it is in 4.1.
        Based on a patch from Monty.
      
      * Adjusted tests accordingly to test both backwards compatible name
        resolution of qualified columns, and ANSI-style resolution of
        non-qualified columns.
        For this, each affected test has two versions - one with qualified
        columns, and one without. 
      
      
      mysql-test/include/ps_query.inc:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/bdb.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/innodb.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/join.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/join_nested.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/join_outer.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/null_key.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/order_by.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_2myisam.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_3innodb.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_4heap.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_5merge.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_6bdb.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_7ndb.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/select.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/subselect.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/type_ranges.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/bdb.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/innodb.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/join.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/join_nested.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/join_outer.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/null_key.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/order_by.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/select.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/subselect.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/type_ranges.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      sql/sql_base.cc:
        * Applied Monty's patch for backwards compatible name resolution
          of qualified columns. The idea is:
          - When a column is qualified, search for the column in all
            tables/views underlying each natural join. In this case
            natural joins are *not* considered leaves.
          - If a column is not qualified, then consider natural joins
            as leaves, thus directly search the result columns of
            natural joins.
        * Simplified 'find_field_in_tables()' - unified two similar
          loops into one.
      sql/table.cc:
        - Removed method & members not needed after Monty's patch.
      sql/table.h:
        - Removed method & members not needed after Monty's patch.
      tests/mysql_client_test.c:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      1647932c
  22. 12 Aug, 2005 1 commit
    • unknown's avatar
      Implementation of WL#2486 - · bcc00c1f
      unknown authored
      "Process NATURAL and USING joins according to SQL:2003".
      
      * Some of the main problems fixed by the patch:
        - in "select *" queries the * expanded correctly according to
          ANSI for arbitrary natural/using joins
        - natural/using joins are correctly transformed into JOIN ... ON
          for any number/nesting of the joins.
        - column references are correctly resolved against natural joins
          of any nesting and combined with arbitrary other joins.
      
      * This patch also contains a fix for name resolution of items
        inside the ON condition of JOIN ... ON - in this case items must
        be resolved only against the JOIN operands. To support such
        'local' name resolution, the patch introduces a stack of
        name resolution contexts used at parse time.
      
      NOTICE:
      - This patch is not complete in the sense that
        - there are 2 test cases that still do not pass -
          one in join.test, one in select.test. Both are marked
          with a comment "TODO: WL#2486".
        - it does not include a new test specific for the task
      
      
      mysql-test/include/ps_query.inc:
        Adjusted according to standard NATURAL/USING join semantics.,
      mysql-test/r/bdb.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/derived.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/errors.result:
        The column as a whole cannot be resolved, so different error message.
      mysql-test/r/fulltext.result:
        Adjusted according to standard JOIN ... ON semantics =>
        the ON condition can refer only to the join operands.
      mysql-test/r/fulltext_order_by.result:
        More detailed error message.
      mysql-test/r/innodb.result:
        Adjusted according to standard NATURAL/USING join semantics.
        This test doesn't pass completetly yet!
      mysql-test/r/insert_select.result:
        More detailed error message.
      mysql-test/r/join.result:
        Adjusted according to standard NATURAL/USING join semantics.
        
        NOTICE: there is one test case that still fails, and it is
        commeted out and marked with WL#2486 in the test file.
      mysql-test/r/join_crash.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/join_nested.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/join_outer.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/multi_update.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/null_key.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/order_by.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/ps_2myisam.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/ps_3innodb.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/ps_4heap.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/ps_5merge.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/ps_6bdb.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/ps_7ndb.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/select.result:
        Adjusted according to standard NATURAL/USING join semantics.
        
        NOTICE: there is one failing test case which is commented with
        WL#2486 in the test file.
      mysql-test/r/subselect.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/type_ranges.result:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/r/union.result:
        More detailed error message.
      mysql-test/t/bdb.test:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/t/errors.test:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/t/fulltext.test:
        Adjusted according to standard JOIN ... ON semantics =>
        the ON condition can refer only to the join operands.
      mysql-test/t/fulltext_order_by.test:
        More detailed error message.
      mysql-test/t/innodb.test:
        Adjusted according to standard NATURAL/USING join semantics.
        This test doesn't pass completetly yet!
      mysql-test/t/insert_select.test:
        More detailed error message.
      mysql-test/t/join.test:
        Adjusted according to standard NATURAL/USING join semantics.
        
        NOTICE: there is one test case that still fails, and it is
        commeted out and marked with WL#2486 in the test file.
      mysql-test/t/join_crash.test:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/t/join_nested.test:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/t/join_outer.test:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/t/null_key.test:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/t/order_by.test:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/t/select.test:
        Adjusted according to standard NATURAL/USING join semantics.
        
        NOTICE: there is one test case that still fails, and it is
        commeted out and marked with WL#2486 in the test file.
      mysql-test/t/subselect.test:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/t/type_ranges.test:
        Adjusted according to standard NATURAL/USING join semantics.
      mysql-test/t/union.test:
        More detailed error message.
      sql/item.cc:
        - extra parameter to find_field_in_tables
        - find_field_in_real_table renamed to find_field_in_table
        - fixed comments/typos
      sql/item.h:
        - added [first | last]_name_resolution_table to class
          Name_resolution_context
        - commented old code
        - standardized formatting
      sql/mysql_priv.h:
        - refactored the find_field_in_XXX procedures,
        - added a new procedure for natural join table references,
        - renamed the find_field_in_XXX procedures to clearer names
      sql/sp.cc:
        - pass the top-most list of the FROM clause to setup_tables
        - extra parameter to find_field_in_tables
      sql/sql_acl.cc:
        - renamed find_field_in_table => find_field_in_table_ref
        - extra parameter to find_field_in_table_ref
        - commented old code
      sql/sql_base.cc:
        This file contains the core of the implementation of the processing
        of NATURAL/USING joins (WL#2486).
        - added many comments to old code
        - refactored the group of find_field_in_XXX procedures, and added a
          new procedure for natural joins. There is one find_field_in_XXX procedure
          per each type of table reference (stored table, merge view, or natural
          join); one meta-procedure that selects the correct one depeneding on the
          table reference; and one procedure that goes over a list of table
          referenes.
        - NATURAL/USING joins are processed through the procedures:
            mark_common_columns, store_natural_using_join_columns,
            store_top_level_join_columns, setup_natural_join_row_types.
          The entry point to processing NATURAL/USING joins is the
          procedure 'setup_natural_join_row_types'.
        - Replaced the specialized Field_iterator_XXX iterators with one
          generic iterator over the fields of a table reference.
        - Simplified 'insert_fields' and 'setup_conds' due to encapsulation of
          the processing of natural joins in a separate set of procedures.
      sql/sql_class.h:
        - Commented old code.
      sql/sql_delete.cc:
        - Pass the FROM clause to setup_tables.
      sql/sql_help.cc:
        - pass the end name resolution table to find_field_in_tables
        - adjust the list of tables for name resolution
      sql/sql_insert.cc:
        - Changed the code that saves and restores the current context to
          support the list of tables for name resolution -
          context->first_name_resolution_table, and
          table_list->next_name_resolution_table.
          Needed to support an ugly trick to resolve inserted columns only in
          the first table.
        - Added Name_resolution_context::[first | last]_name_resolution_table.
        - Commented old code
      sql/sql_lex.cc:
        - set select_lex.parent_lex correctly
        - set correct state of the current name resolution context
      sql/sql_lex.h:
        - Added a stack of name resolution contexts to support local
          contexts for JOIN ... ON conditions.
        - Commented old code.
      sql/sql_load.cc:
        - Pass the FROM clause to setup_tables.
      sql/sql_olap.cc:
        - Pass the FROM clause to setup_tables.
      sql/sql_parse.cc:
        - correctly set SELECT_LEX::parent_lex
        - set the first table of the current name resoltion context
        - added support for NATURAL/USING joins
        - commented old code
      sql/sql_select.cc:
        - Pass the FROM clause to setup_tables.
        - Pass the end table to find_field_in_tables
        - Improved comments
      sql/sql_show.cc:
        - Set SELECT_LEX::parent_lex.
      sql/sql_update.cc:
        - Pass the FROM clause to setup_tables.
      sql/sql_yacc.yy:
        - Added support for a stack of name resolution contexts needed to
          implement name resolution for JOIN ... ON. A context is pushed
          for each new JOIN ... ON, and popped afterwards.
        - Added support for NATURAL/USING joins.
      sql/table.cc:
        - Added new class Natural_join_column to hide the heterogeneous
          representation of column references for stored tables and for
          views.
        - Added a new list TABLE_LIST::next_name_resolution_table to
          support name resolution with NATURAL/USING joins. Also added
          other members to TABLE_LIST to support NATURAL/USING joins.
        - Added a generic iterator over the fields of table references
          of various types - class Field_iterator_table_ref
      sql/table.h:
        - Added new class Natural_join_column to hide the heterogeneous
          representation of column references for stored tables and for
          views.
        - Added a new list TABLE_LIST::next_name_resolution_table to
          support name resolution with NATURAL/USING joins. Also added
          other members to TABLE_LIST to support NATURAL/USING joins.
        - Added a generic iterator over the fields of table references
          of various types - class Field_iterator_table_ref
      tests/mysql_client_test.c:
        Adjusted according to standard NATURAL JOIN syntax.
      bcc00c1f
  23. 28 Jul, 2005 1 commit
    • unknown's avatar
      Added end marker for tests to make future merges easier · 0062e643
      unknown authored
      mysql-test/t/alias.test:
        Added end marker for test to make future merges easier
      mysql-test/t/alter_table.test:
        Added end marker for test to make future merges easier
      mysql-test/t/analyse.test:
        Added end marker for test to make future merges easier
      mysql-test/t/analyze.test:
        Added end marker for test to make future merges easier
        Fixed length of comment lines
      mysql-test/t/ansi.test:
        Added end marker for test to make future merges easier
      mysql-test/t/archive.test:
        Added end marker for test to make future merges easier
      mysql-test/t/auto_increment.test:
        Added end marker for test to make future merges easier
      mysql-test/t/backup.test:
        Added end marker for test to make future merges easier
      mysql-test/t/bdb-alter-table-1.test:
        Added end marker for test to make future merges easier
      mysql-test/t/bdb-alter-table-2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/bdb-crash.test:
        Added end marker for test to make future merges easier
      mysql-test/t/bdb-deadlock.test:
        Added end marker for test to make future merges easier
      mysql-test/t/bdb-deadlock.tminus:
        Added end marker for test to make future merges easier
      mysql-test/t/bdb.test:
        Added end marker for test to make future merges easier
      mysql-test/t/bdb_cache.test:
        Added end marker for test to make future merges easier
      mysql-test/t/bench_count_distinct.test:
        Added end marker for test to make future merges easier
      mysql-test/t/bigint.test:
        Added end marker for test to make future merges easier
      mysql-test/t/binary.test:
        Added end marker for test to make future merges easier
      mysql-test/t/blackhole.test:
        Added end marker for test to make future merges easier
      mysql-test/t/bool.test:
        Added end marker for test to make future merges easier
      mysql-test/t/bulk_replace.test:
        Added end marker for test to make future merges easier
      mysql-test/t/case.test:
        Added end marker for test to make future merges easier
      mysql-test/t/cast.test:
        Added end marker for test to make future merges easier
      mysql-test/t/check.test:
        Added end marker for test to make future merges easier
      mysql-test/t/comments.test:
        Added end marker for test to make future merges easier
      mysql-test/t/compare.test:
        Added end marker for test to make future merges easier
      mysql-test/t/connect.test:
        Added end marker for test to make future merges easier
      mysql-test/t/consistent_snapshot.test:
        Added end marker for test to make future merges easier
      mysql-test/t/constraints.test:
        Added end marker for test to make future merges easier
      mysql-test/t/count_distinct.test:
        Added end marker for test to make future merges easier
      mysql-test/t/count_distinct2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/count_distinct3.test:
        Added end marker for test to make future merges easier
      mysql-test/t/create.test:
        Added end marker for test to make future merges easier
      mysql-test/t/create_select_tmp.test:
        Added end marker for test to make future merges easier
      mysql-test/t/csv.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_big5.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_collate.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_cp1250_ch.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_cp1251.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_cp932.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_create.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_gbk.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_latin1.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_latin1_de.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_latin2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_many.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_mb.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_recoding.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_sjis.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_tis620.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_uca.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_ucs.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_ucs_binlog.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_ujis.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ctype_utf8.test:
        Added end marker for test to make future merges easier
      mysql-test/t/date_formats.test:
        Added end marker for test to make future merges easier
      mysql-test/t/delayed.test:
        Added end marker for test to make future merges easier
      mysql-test/t/delete.test:
        Added end marker for test to make future merges easier
      mysql-test/t/derived.test:
        Added end marker for test to make future merges easier
      mysql-test/t/dirty_close.test:
        Added end marker for test to make future merges easier
      mysql-test/t/distinct.test:
        Added end marker for test to make future merges easier
      mysql-test/t/drop.test:
        Added end marker for test to make future merges easier
      mysql-test/t/drop_temp_table.test:
        Added end marker for test to make future merges easier
      mysql-test/t/empty_table.test:
        Added end marker for test to make future merges easier
      mysql-test/t/endspace.test:
        Added end marker for test to make future merges easier
      mysql-test/t/errors.test:
        Added end marker for test to make future merges easier
      mysql-test/t/exampledb.test:
        Added end marker for test to make future merges easier
      mysql-test/t/explain.test:
        Added end marker for test to make future merges easier
      mysql-test/t/flush.test:
        Added end marker for test to make future merges easier
      mysql-test/t/flush_block_commit.test:
        Added end marker for test to make future merges easier
      mysql-test/t/flush_table.test:
        Added end marker for test to make future merges easier
      mysql-test/t/foreign_key.test:
        Added end marker for test to make future merges easier
      mysql-test/t/fulltext.test:
        Added end marker for test to make future merges easier
      mysql-test/t/fulltext2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/fulltext_cache.test:
        Added end marker for test to make future merges easier
      mysql-test/t/fulltext_distinct.test:
        Added end marker for test to make future merges easier
      mysql-test/t/fulltext_left_join.test:
        Added end marker for test to make future merges easier
      mysql-test/t/fulltext_multi.test:
        Added end marker for test to make future merges easier
      mysql-test/t/fulltext_order_by.test:
        Added end marker for test to make future merges easier
      mysql-test/t/fulltext_update.test:
        Added end marker for test to make future merges easier
      mysql-test/t/fulltext_var.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_compress.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_concat.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_crypt.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_date_add.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_default.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_des_encrypt.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_encrypt.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_encrypt_nossl.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_equal.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_gconcat.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_group.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_if.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_in.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_isnull.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_like.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_math.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_misc.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_op.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_regexp.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_sapdb.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_set.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_str.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_system.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_test.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_time.test:
        Added end marker for test to make future merges easier
      mysql-test/t/func_timestamp.test:
        Added end marker for test to make future merges easier
      mysql-test/t/gcc296.test:
        Added end marker for test to make future merges easier
      mysql-test/t/gis-rtree.test:
        Added end marker for test to make future merges easier
      mysql-test/t/gis.test:
        Added end marker for test to make future merges easier
      mysql-test/t/grant.test:
        Added end marker for test to make future merges easier
      mysql-test/t/grant2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/grant_cache.test:
        Added end marker for test to make future merges easier
      mysql-test/t/group_by.test:
        Added end marker for test to make future merges easier
      mysql-test/t/handler.test:
        Added end marker for test to make future merges easier
      mysql-test/t/having.test:
        Added end marker for test to make future merges easier
      mysql-test/t/heap.test:
        Added end marker for test to make future merges easier
      mysql-test/t/heap_auto_increment.test:
        Added end marker for test to make future merges easier
      mysql-test/t/heap_btree.test:
        Added end marker for test to make future merges easier
      mysql-test/t/heap_hash.test:
        Added end marker for test to make future merges easier
      mysql-test/t/help.test:
        Added end marker for test to make future merges easier
      mysql-test/t/init_connect.test:
        Added end marker for test to make future merges easier
      mysql-test/t/init_file.test:
        Added end marker for test to make future merges easier
      mysql-test/t/innodb-deadlock.test:
        Added end marker for test to make future merges easier
      mysql-test/t/innodb-lock.test:
        Added end marker for test to make future merges easier
      mysql-test/t/innodb-replace.test:
        Added end marker for test to make future merges easier
      mysql-test/t/innodb.test:
        Added end marker for test to make future merges easier
      mysql-test/t/innodb_cache.test:
        Added end marker for test to make future merges easier
      mysql-test/t/innodb_handler.test:
        Added end marker for test to make future merges easier
      mysql-test/t/insert.test:
        Added end marker for test to make future merges easier
      mysql-test/t/insert_select-binlog.test:
        Added end marker for test to make future merges easier
      mysql-test/t/insert_select.test:
        Added end marker for test to make future merges easier
      mysql-test/t/insert_update.test:
        Added end marker for test to make future merges easier
      mysql-test/t/isam.test:
        Added end marker for test to make future merges easier
      mysql-test/t/join.test:
        Added end marker for test to make future merges easier
      mysql-test/t/join_crash.test:
        Added end marker for test to make future merges easier
      mysql-test/t/join_outer.test:
        Added end marker for test to make future merges easier
      mysql-test/t/key.test:
        Added end marker for test to make future merges easier
      mysql-test/t/key_cache.test:
        Added end marker for test to make future merges easier
      mysql-test/t/key_diff.test:
        Added end marker for test to make future merges easier
      mysql-test/t/key_primary.test:
        Added end marker for test to make future merges easier
      mysql-test/t/keywords.test:
        Added end marker for test to make future merges easier
      mysql-test/t/kill.test:
        Added end marker for test to make future merges easier
      mysql-test/t/limit.test:
        Added end marker for test to make future merges easier
      mysql-test/t/loaddata.test:
        Added end marker for test to make future merges easier
      mysql-test/t/lock.test:
        Added end marker for test to make future merges easier
      mysql-test/t/lock_multi.test:
        Added end marker for test to make future merges easier
      mysql-test/t/lock_tables_lost_commit.test:
        Added end marker for test to make future merges easier
      mysql-test/t/lowercase_table.test:
        Added end marker for test to make future merges easier
      mysql-test/t/lowercase_table2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/lowercase_table3.test:
        Added end marker for test to make future merges easier
      mysql-test/t/lowercase_table_grant.test:
        Added end marker for test to make future merges easier
      mysql-test/t/lowercase_table_qcache.test:
        Added end marker for test to make future merges easier
      mysql-test/t/merge.test:
        Added end marker for test to make future merges easier
      mysql-test/t/metadata.test:
        Added end marker for test to make future merges easier
      mysql-test/t/mix_innodb_myisam_binlog.test:
        Added end marker for test to make future merges easier
      mysql-test/t/multi_statement.test:
        Added end marker for test to make future merges easier
      mysql-test/t/multi_update.test:
        Added end marker for test to make future merges easier
      mysql-test/t/myisam-blob.test:
        Added end marker for test to make future merges easier
      mysql-test/t/myisam.test:
        Added end marker for test to make future merges easier
      mysql-test/t/mysql_client_test.test:
        Added end marker for test to make future merges easier
      mysql-test/t/mysql_protocols.test:
        Added end marker for test to make future merges easier
      mysql-test/t/mysqlbinlog.test:
        Added end marker for test to make future merges easier
      mysql-test/t/mysqlbinlog2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/mysqldump.test:
        Added end marker for test to make future merges easier
      mysql-test/t/mysqltest.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_alter_table.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_autodiscover.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_autodiscover2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_basic.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_blob.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_cache.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_charset.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_config.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_database.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_grant.later:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_index.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_index_ordered.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_index_unique.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_insert.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_limit.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_lock.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_minmax.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_multi.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_replace.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_restore.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_subquery.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_transaction.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_truncate.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_types.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ndb_update.test:
        Added end marker for test to make future merges easier
      mysql-test/t/negation_elimination.test:
        Added end marker for test to make future merges easier
      mysql-test/t/not_embedded_server.test:
        Added end marker for test to make future merges easier
      mysql-test/t/null.test:
        Added end marker for test to make future merges easier
      mysql-test/t/null_key.test:
        Added end marker for test to make future merges easier
      mysql-test/t/odbc.test:
        Added end marker for test to make future merges easier
      mysql-test/t/olap.test:
        Added end marker for test to make future merges easier
      mysql-test/t/openssl_1.test:
        Added end marker for test to make future merges easier
      mysql-test/t/order_by.test:
        Added end marker for test to make future merges easier
      mysql-test/t/order_fill_sortbuf.test:
        Added end marker for test to make future merges easier
      mysql-test/t/outfile.test:
        Added end marker for test to make future merges easier
      mysql-test/t/overflow.test:
        Added end marker for test to make future merges easier
      mysql-test/t/packet.test:
        Added end marker for test to make future merges easier
      mysql-test/t/preload.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ps.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ps_10nestset.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ps_11bugs.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ps_1general.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ps_2myisam.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ps_3innodb.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ps_4heap.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ps_5merge.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ps_6bdb.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ps_7ndb.test:
        Added end marker for test to make future merges easier
      mysql-test/t/ps_grant.test:
        Added end marker for test to make future merges easier
      mysql-test/t/query_cache.test:
        Added end marker for test to make future merges easier
      mysql-test/t/query_cache_merge.test:
        Added end marker for test to make future merges easier
      mysql-test/t/raid.test:
        Added end marker for test to make future merges easier
      mysql-test/t/range.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rename.test:
        Added end marker for test to make future merges easier
      mysql-test/t/repair.test:
        Added end marker for test to make future merges easier
      mysql-test/t/replace.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rollback.test:
        Added end marker for test to make future merges easier
      mysql-test/t/row.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000001.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000002.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000004.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000005.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000006.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000008.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000009.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000010.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000011.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000012.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000013.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000015.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000017.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl000018.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_EE_error.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_alter.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_chain_temp_table.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_change_master.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_charset.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_commit_after_flush.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_create_database.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_ddl.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_deadlock.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_delete_all.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_do_grant.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_drop.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_drop_temp.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_empty_master_crash.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_error_ignored_table.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_failed_optimize.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_failsafe.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_flush_log_loop.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_flush_tables.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_free_items.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_get_lock.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_heap.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_ignore_grant.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_init_slave.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_innodb.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_insert_id.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_insert_ignore.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_loaddata.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_loaddata_rule_m.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_loaddata_rule_s.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_loaddatalocal.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_log.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_log_pos.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_many_optimize.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_master_pos_wait.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_max_relay_size.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_misc_functions.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_multi_delete.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_multi_delete2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_multi_query.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_multi_update.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_multi_update2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_multi_update3.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_mystery22.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_openssl.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_optimize.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_ps.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_redirect.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_relayrotate.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_relayspace.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_replicate_do.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_reset_slave.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_rewrite_db.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_rotate_logs.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_server_id1.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_server_id2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_set_charset.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_skip_error.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_sporadic_master.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_start_stop_slave.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_temporary.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_timezone.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_trunc_binlog.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_until.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_user_variables.test:
        Added end marker for test to make future merges easier
      mysql-test/t/rpl_variables.test:
        Added end marker for test to make future merges easier
      mysql-test/t/select.test:
        Added end marker for test to make future merges easier
      mysql-test/t/select_found.test:
        Added end marker for test to make future merges easier
      mysql-test/t/select_safe.test:
        Added end marker for test to make future merges easier
      mysql-test/t/show_check.test:
        Added end marker for test to make future merges easier
      mysql-test/t/skip_name_resolve.test:
        Added end marker for test to make future merges easier
      mysql-test/t/sql_mode.test:
        Added end marker for test to make future merges easier
      mysql-test/t/status.test:
        Added end marker for test to make future merges easier
      mysql-test/t/subselect.test:
        Added end marker for test to make future merges easier
      mysql-test/t/subselect2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/subselect_gis.test:
        Added end marker for test to make future merges easier
      mysql-test/t/subselect_innodb.test:
        Added end marker for test to make future merges easier
      mysql-test/t/symlink.test:
        Added end marker for test to make future merges easier
      mysql-test/t/synchronization.test:
        Added end marker for test to make future merges easier
      mysql-test/t/system_mysql_db.test:
        Added end marker for test to make future merges easier
      mysql-test/t/system_mysql_db_fix.test:
        Added end marker for test to make future merges easier
      mysql-test/t/system_mysql_db_refs.test:
        Added end marker for test to make future merges easier
      mysql-test/t/tablelock.test:
        Added end marker for test to make future merges easier
      mysql-test/t/temp_table.test:
        Added end marker for test to make future merges easier
      mysql-test/t/timezone.test:
        Added end marker for test to make future merges easier
      mysql-test/t/timezone2.test:
        Added end marker for test to make future merges easier
      mysql-test/t/timezone3.test:
        Added end marker for test to make future merges easier
      mysql-test/t/timezone_grant.test:
        Added end marker for test to make future merges easier
      mysql-test/t/truncate.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_blob.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_date.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_datetime.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_decimal.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_enum.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_float.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_nchar.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_ranges.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_set.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_time.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_timestamp.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_uint.test:
        Added end marker for test to make future merges easier
      mysql-test/t/type_year.test:
        Added end marker for test to make future merges easier
      mysql-test/t/union.test:
        Added end marker for test to make future merges easier
      mysql-test/t/update.test:
        Added end marker for test to make future merges easier
      mysql-test/t/user_var-binlog.test:
        Added end marker for test to make future merges easier
      mysql-test/t/user_var.test:
        Added end marker for test to make future merges easier
      mysql-test/t/varbinary.test:
        Added end marker for test to make future merges easier
      mysql-test/t/variables.test:
        Added end marker for test to make future merges easier
      mysql-test/t/warnings.test:
        Added end marker for test to make future merges easier
      0062e643
  24. 26 Jan, 2005 1 commit
    • unknown's avatar
      order_by.result, order_by.test: · 64184a40
      unknown authored
        Added test case for bug #7672 that existed only in 4.0.
      
      
      mysql-test/t/order_by.test:
        Added test case for bug #7672 that existed only in 4.0.
      mysql-test/r/order_by.result:
        Added test case for bug #7672 that existed only in 4.0.
      64184a40
  25. 25 Jan, 2005 1 commit
    • unknown's avatar
      order_by.result, order_by.test: · 657b2c96
      unknown authored
        Added a test case for bug #7672.
      sql_yacc.yy:
        Fixed bug #7672.
        Made queries of the form (SELECT ...) ORDER BY ... to
        be equivalent to SELECT ... ORDER BY ...
      
      
      sql/sql_yacc.yy:
        Fixed bug #7672.
        Made queries of the form (SELECT ...) ORDER BY ... to
        be equivalent to SELECT ... ORDER BY ...
      mysql-test/t/order_by.test:
        Added a test case for bug #7672.
      mysql-test/r/order_by.result:
        Added a test case for bug #7672.
      657b2c96
  26. 17 Jan, 2005 1 commit
  27. 15 Jan, 2005 1 commit
    • unknown's avatar
      Enable warnings for 'no default' fields being set to default when they · 9c69733f
      unknown authored
      are not specified in an insert. Most of these changes are actually to
      clean up the test suite to either specify defaults to avoid warnings,
      or add the warnings to the results. Related to bug #5986.
      
      
      mysql-test/t/index_merge_ror.test:
        Set default on columns to avoid warnings
      mysql-test/t/ctype_many.test:
        Add defaults to avoid warnings
      mysql-test/t/ctype_latin1_de.test:
        Add defaults to avoid warnings
      mysql-test/t/gis-rtree.test:
        Remove field that isn't used in test
      mysql-test/t/limit.test:
        set default values
      mysql-test/t/null.test:
        Specify default values
      mysql-test/t/order_by.test:
        add default value
      mysql-test/t/show_check.test:
        Add defaults
      mysql-test/t/sp.test:
        Add default value
      mysql-test/t/type_blob.test:
        Set default value
      mysql-test/t/type_ranges.test:
        Set default values
      mysql-test/r/create.result:
        Update results
      mysql-test/r/ctype_latin1_de.result:
        Update results
      mysql-test/r/ctype_many.result:
        Update results
      mysql-test/r/gis-rtree.result:
        Update results
      mysql-test/r/grant.result:
        Update results
      mysql-test/r/grant2.result:
        Update results
      mysql-test/r/help.result:
        Update results
      mysql-test/r/limit.result:
        Update results
      mysql-test/r/null.result:
        Update results
      mysql-test/r/order_by.result:
        Update results
      mysql-test/r/rpl000001.result:
        Update results
      mysql-test/r/sp.result:
        Update results
      mysql-test/r/strict.result:
        Update results
      mysql-test/r/type_blob.result:
        Update results
      mysql-test/r/type_ranges.result:
        Update results
      mysql-test/r/warnings.result:
        Update results
      sql/sql_insert.cc:
        Change check_that_all_fields_are_given_values() to issue warnings for all
        fields, and not only run when thd->abort_on_warning is set and error on
        just the first field.
      9c69733f
  28. 06 Jan, 2005 1 commit
    • unknown's avatar
      Fix for BUG#7331. · d96b59f5
      unknown authored
      The problem was that when a QUICK_SELECT access method is chosen,
      test_if_skip_sort_order() discovered that the index being used
      by the quick select will not deliver tuples in sorted order.
      In this case test_if_skip_sort_order() tried to change the index
      used by the quick select, but it didn't properly set the other
      members of the quick select, and especially the range flags of
      the ranges in QUICK_SELECT::ranges.
      
      The fix re-invokes the function SQL_SELECT::test_quick_select
      to correctly create a valid QUICK_SELECT object.
      
      
      mysql-test/r/order_by.result:
        Added test results.
      mysql-test/t/order_by.test:
        Added test for BUG#7331.
      sql/sql_select.cc:
        Fix for BUG#7331.
      d96b59f5
  29. 25 Nov, 2004 1 commit
  30. 30 Sep, 2004 1 commit
    • unknown's avatar
      Final solution for bug# 4302 "Ambiguos order by when renamed column is · 570923eb
      unknown authored
      identical to another in result"
      According to SQL standard queries like 
      "select t1.a as col from t1, t2 order by a" should return an error if
      both tables contain field a.
      
      
      mysql-test/r/order_by.result:
        Updated test to conform SQL-standard.
      mysql-test/t/order_by.test:
        Updated test to conform SQL-standard.
      sql/item.cc:
        find_item_in_list() has now one more out parameter which is not used
        in item.cc functions.
      sql/mysql_priv.h:
        find_item_in_list(): Added boolean out parameter "unaliased" which
        indicates that we have found field by its original name and not by
        its alias in item (select) list.
      sql/sql_base.cc:
        find_item_in_list(): Added boolean out parameter "unaliased" which
        indicates that we have found field by its original name and not by
        its alias in item (select) list. This means that additional check is
        required to ensure there will be no ambiguity if we would search for this
        field in all tables.
      sql/sql_select.cc:
        find_order_in_list(): If we have found field in select list by its
        original name and not by its alias then we should perform additional
        check to ensure that there will be no ambiguity if we will search for
        this field in all tables. Also small cleanup.
      570923eb
  31. 07 Sep, 2004 1 commit
  32. 20 Aug, 2004 1 commit
    • unknown's avatar
      Fix for bug#4302 "ambiguos order by when renamed column is identical to another in result" · 0f5fa0eb
      unknown authored
      When in find_item_in_list() we are looking for item we should take into account unaliased 
      names of the fields but only if item with such aliased name is not found.
      Also we should ignore aliases when looking for fully specified field.
      
      
      mysql-test/r/order_by.result:
        Fixed wrong (non-standard) test results
        Added test case for bug #4302
        Added tests for other ambiguos and potentially ambigous cases in order by clause
      mysql-test/t/order_by.test:
        Fixed wrong (non-standard) test results
        Added test case for bug #4302
        Added tests for other ambiguos and potentially ambigous cases in order by clause
      sql/sql_select.cc:
        We should ignore only not_found_item errors when searching for item in find_order_in_list() 
        to be able to catch ambiguities.
      0f5fa0eb
  33. 15 May, 2004 1 commit
    • unknown's avatar
      bad old merge fixed · 58063b0e
      unknown authored
      mysql-test/r/order_by.result:
        buggy results bug#3681
      mysql-test/t/order_by.test:
        test for bug#3681
      58063b0e
  34. 30 Mar, 2004 1 commit
    • unknown's avatar
      Fix to get correct metadata when using temporary tables to create result. (Bug #2654) · 961767fa
      unknown authored
      client/mysqltest.c:
        Added support for --enable_metadata
      mysql-test/t/order_by.test:
        Improved comment
      scripts/mysqlaccess.sh:
        CGI is required (Bug #2988)
      sql/field.cc:
        Fix to get correct metadata when using temporary tables to create result
      sql/field.h:
        Fix to get correct metadata when using temporary tables to create result
      sql/sql_insert.cc:
        Fix to get correct metadata when using temporary tables to create result
      961767fa
  35. 29 Mar, 2004 1 commit
    • unknown's avatar
      false/true -> FALSE/TRUE · a0354729
      unknown authored
      Fixes after last merge
      
      
      mysql-test/r/bdb-crash.result:
        fixed bad merge
      mysql-test/r/myisam.result:
        after merge fix
      mysql-test/r/order_by.result:
        fixed bad merge
      mysql-test/t/order_by.test:
        after merge fix
      sql/field_conv.cc:
        false/true -> FALSE/TRUE
      sql/handler.cc:
        false/true -> FALSE/TRUE
      sql/item.cc:
        false/true -> FALSE/TRUE
      sql/item_cmpfunc.cc:
        false/true -> FALSE/TRUE
      sql/item_sum.cc:
        false/true -> FALSE/TRUE
      sql/slave.cc:
        false/true -> FALSE/TRUE
      sql/sql_acl.cc:
        false/true -> FALSE/TRUE
      sql/sql_cache.cc:
        after merge fix
      sql/sql_help.cc:
        false/true -> FALSE/TRUE
      sql/sql_olap.cc:
        false/true -> FALSE/TRUE
      sql/sql_parse.cc:
        false/true -> FALSE/TRUE
      sql/sql_select.cc:
        fix after bad merge
      sql/sql_table.cc:
        fix after bad merge
      sql/sql_test.cc:
        false/true -> FALSE/TRUE
      a0354729
  36. 26 Mar, 2004 1 commit
    • unknown's avatar
      order_by.result: · 1aa24cf2
      unknown authored
        result of the test case for FORCE INDEX on ORDER BY
      order_by.test:
        test case for FORCE INDEX on ORDER BY
      sql_select.cc:
        Changing behaviour that MySQL server takes FORCE INDEX clause into account when optimising ORDER BY clause
      
      
      sql/sql_select.cc:
        Changing behaviour that MySQL server takes FORCE INDEX clause into account when optimising ORDER BY clause
      mysql-test/t/order_by.test:
        test case for FORCE INDEX on ORDER BY
      mysql-test/r/order_by.result:
        result of the test case for FORCE INDEX on ORDER BY
      1aa24cf2
  37. 17 Mar, 2004 1 commit
    • unknown's avatar
      Added test case for the bug #3155: strange results with index (x, y) ... WHERE... · c6d993a1
      unknown authored
      Added test case for the bug #3155: strange results with index (x, y) ... WHERE x=val_1 AND y>=val_2 ORDER BY pk;
      (thankee Monty)
      
      
      mysql-test/r/order_by.result:
        Added test case for the bug #3155: strange results with index (x, y) ... WHERE x=val_1 AND y>=val_2 ORDER BY pk;
      mysql-test/t/order_by.test:
        Added test case for the bug #3155: strange results with index (x, y) ... WHERE x=val_1 AND y>=val_2 ORDER BY pk;
      c6d993a1
  38. 31 Jan, 2004 1 commit
    • unknown's avatar
      fix for the bug #2419: order by ignores rows. · eccc114a
      unknown authored
      null_ref_key moved to TABLE_REF.
      new null range created if necessary.
      
      
      mysql-test/r/order_by.result:
        fix for the bug #2419: order by ignores rows
      mysql-test/t/order_by.test:
        fix for the bug #2419: order by ignores rows
      sql/item_subselect.cc:
        fix for the bug #2419: order by ignores rows
      sql/opt_range.cc:
        fix for the bug #2419: order by ignores rows
      sql/sql_select.cc:
        fix for the bug #2419: order by ignores rows
      sql/sql_select.h:
        fix for the bug #2419: order by ignores rows
      eccc114a
  39. 21 Dec, 2003 1 commit
    • unknown's avatar
      Portability fixes found during 5.0 test compilation · c9a87dba
      unknown authored
      Fixed bug in ORDER BY on a small column (Bug #2147)
      Fixed error from pthread_mutex_destroy() when one had wrong errmsg file
      
      
      
      client/mysqltest.c:
        Added handling of error on query send
        (Needed for init_connection.test)
      mysql-test/mysql-test-run.sh:
        Added tracing of mysqldump and mysqlbinlog
      mysql-test/r/init_connect.result:
        Updated tests
      mysql-test/r/order_by.result:
        Added test for bug filesort bug
      mysql-test/t/init_connect-master.opt:
        Added proper quoting (for Solaris and OSF)
      mysql-test/t/init_connect.test:
        Portability fix
      mysql-test/t/order_by.test:
        Added test for bug #2147 (bug in filesort)
      sql/filesort.cc:
        Fixed bug in filesort (Bug #2147)
      sql/item.h:
        Clear 'fixed' on cleanup (For prepared statements)
      sql/item_func.cc:
        Protect mutex destroy.
        (Fixed error from pthread_mutex_destroy() when one had wrong errmsg file)
      sql/log_event.cc:
        Portability fix
      sql/sql_class.h:
        Fixed compiler warning
      sql/sql_prepare.cc:
        Portability fix. (Some compilers doesn't support jump over variables declared in for())
      c9a87dba