An error occurred fetching the project authors.
  1. 09 Jun, 2006 1 commit
  2. 06 Jun, 2006 1 commit
    • unknown's avatar
      Added --pipe option for faster compile · 6504c296
      unknown authored
      Changed error to be more descriptive when you are refering to a not existing key
      Fixed core dump in view test and changed to better error message
      
      
      BUILD/compile-pentium64-debug-max:
        Added --pipe option for faster compile
        (This changset was missing in the tree I used to rebuild a new 5.1 tree)
      BUILD/compile-pentium64-debug:
        Added --pipe option for faster compile
        (This changset was missing in the tree I used to rebuild a new 5.1 tree)
      mysql-test/include/common-tests.inc:
        Changed error to be more descriptive
      mysql-test/r/compress.result:
        Changed error to be more descriptive
      mysql-test/r/explain.result:
        Changed error to be more descriptive
      mysql-test/r/key_cache.result:
        Changed error to be more descriptive
      mysql-test/r/preload.result:
        Changed error to be more descriptive
      mysql-test/r/select.result:
        Changed error to be more descriptive
      mysql-test/r/ssl.result:
        Changed error to be more descriptive
      mysql-test/r/ssl_compress.result:
        Changed error to be more descriptive
      mysql-test/r/view.result:
        Changed error to be more descriptive
      mysql-test/t/disabled.def:
        Disable im_instance_conf and im_options  until Bug#20294 (Instance manager test im_instance_conf fails randomly) is fixed
      mysql-test/t/explain.test:
        Changed error to be more descriptive
      mysql-test/t/select.test:
        Changed error to be more descriptive
      mysql-test/t/view.test:
        Changed error to be more descriptive
      sql/share/errmsg.txt:
        Fix that ER_KEY_DOES_NOT_EXISTS has same SQLSTATE as ER_KEY_COLUMN_DOES_NOT_EXISTS
      sql/sql_base.cc:
        Fixed core dump in view test
        Changed to correct error message that also shows the name of the faulty table
      BUILD/compile-pentium64:
        New BitKeeper file ``BUILD/compile-pentium64''
      6504c296
  3. 01 Jun, 2006 1 commit
  4. 13 Oct, 2005 1 commit
    • unknown's avatar
      Updated after testing · 2d2839ed
      unknown authored
      mysql-test/mysql-test-run.pl:
        Improved printouts
      mysql-test/r/compress.result:
        Updated test result
      mysql-test/r/ssl.result:
        Updated test result
      mysql-test/r/ssl_compress.result:
        Updated test result
      mysql-test/t/compress.test:
        Use new connection
        Use common include file 
        Test feature is turned on both before and after tests
      mysql-test/t/ssl.test:
        Use new connection
        Use common include file 
        Test feature is turned on both before and after tests
      mysql-test/t/ssl_compress.test:
        Use new connection
        Use common include file 
        Test feature is turned on both before and after tests
      2d2839ed
  5. 04 Oct, 2005 1 commit
    • unknown's avatar
      Improved testing of ssl and compression · c7e95b37
      unknown authored
       - Added show status variable "compression" for checking that compression is turned on.
       - Updated show status variable "have_openssl" to be set to DISABLED if server supports ssl but it's not turned on to accept incoming ssl connections.  
       - Setup server to accept ssl connections from clients ig that is supported by server
       - New tests 
         - ssl - Run with ssl turned on
         - ssl_compress - Run with ssl and compression turned on
         - compress - Run with compression turned in 
       - Updated test 
         - openssl_1, rpl_openssl1 - Changed to run if server supports ssl
      
      
      BitKeeper/deleted/.del-have_openssl_1.inc~55590efedeec9ee0:
        Delete: mysql-test/include/have_openssl_1.inc
      BitKeeper/deleted/.del-have_openssl_1.require~e8cdeb0adba99ac5:
        Delete: mysql-test/r/have_openssl_1.require
      client/mysqltest.c:
        Add commands to enable/disable ssl for the follwing connect's
        Add commands to enable/disable compression for the  following connect's
      mysql-test/mysql-test-run.pl:
        Test if ssl is supported by the server
        If ssl is supported by the server, start server with ability to accept ssl connections from clients
        Cleanup check of supported features check_ssl_support, check_ndbcluster_support
        Flags and helptext for mysl-test-run.pl updated 
          --ssl, turn on ssl encryption between server and client
          --skip-ssl, don'r turn on ssl or setup ssl even if it's supported
          --with-openssl, deprecated, synonym with --ssl
      mysql-test/r/openssl_1.result:
        Update test results
      mysql-test/t/openssl_1.test:
        Run this if server reports it has support for ssl
        Enable ssl before connecting
        Check that ssl encryption has been turned on
      mysql-test/t/rpl_openssl.test:
        Run this if server reports it supports ssl
      sql-common/client.c:
        Add DBUG_PRINT's
      sql/mysqld.cc:
        If server can't accept ssl connection set have_openssl to SHOW_OPTION_DISABLED
        Add status variable to show if connection with server is using compressed protocol
      sql/sql_show.cc:
        Add status variable to show if connection with server is using compressed protocol
      sql/structs.h:
        Add status variable to show if connection with server is using compressed protocol
      mysql-test/r/compress.result:
        New BitKeeper file ``mysql-test/r/compress.result''
      mysql-test/r/ssl.result:
        New BitKeeper file ``mysql-test/r/ssl.result''
      mysql-test/r/ssl_compress.result:
        New BitKeeper file ``mysql-test/r/ssl_compress.result''
      mysql-test/t/compress.test:
        New BitKeeper file ``mysql-test/t/compress.test''
      mysql-test/t/ssl.test:
        New BitKeeper file ``mysql-test/t/ssl.test''
      mysql-test/t/ssl_compress.test:
        New BitKeeper file ``mysql-test/t/ssl_compress.test''
      c7e95b37
  6. 03 Oct, 2005 1 commit
    • unknown's avatar
      Fix bug#13535 Incorrect result from SELECT statement after SHOW TABLE STATUS · 26e376be
      unknown authored
      After SHOW TABLE STATUS last_insert_id wasn't cleaned, and next select
      erroneously rewrites WHERE condition and returs a row;
      5.0 isn't affected because of different SHOW TABLE STATUS handling.
      
      last_insert_id cleanup added to mysqld_extend_show_tables().
      
      
      sql/sql_show.cc:
        Fix bug #13535 Incorrect result from SELECT statement after SHOW TABLE STATUS
        Added last_insert_id cleanup after SHOW TABLE STATUS command.
      mysql-test/t/select.test:
        Test case for bug #13535 Incorrect result from SELECT statement after SHOW TABLE STATUS
      mysql-test/r/select.result:
        Test case for bug #13535 Incorrect result from SELECT statement after SHOW TABLE STATUS
      26e376be
  7. 30 Sep, 2005 1 commit
    • unknown's avatar
      Fix for BUG#13597 - columns in ON condition not resolved if references a table... · 19a76602
      unknown authored
      Fix for BUG#13597 - columns in ON condition not resolved if references a table in a nested right join.
      
      The problem was in that when finding the last table reference in a nested join tree,
      the procedure doing the iteration over the right-most branches of a join tree
      was testing for RIGHT JOINs the table reference that represents the join, and not
      the second operand of the JOIN. Currently the information whether a join is LEFT/RIGHT
      is stored not on the join object itself, but on one of its operands.
      
      
      mysql-test/r/select.result:
        Added test for BUG#13597
      mysql-test/t/select.test:
        Added test for BUG#13597
      sql/table.cc:
        - test whether a table reference is a right join by testing the
          rigth join operand (first in the list of operands), and not
          the table reference that represents the join itself.
        - clearer comments
      19a76602
  8. 28 Sep, 2005 1 commit
    • unknown's avatar
      select.result, item.cc: · ada5cd91
      unknown authored
        After merge fix for bug#13356
      
      
      sql/item.cc:
        After merge fix for bug#13356
      mysql-test/r/select.result:
        After merge fix for bug#13356
      ada5cd91
  9. 27 Sep, 2005 1 commit
    • unknown's avatar
      Fix bug#13356 resolve_const_item() wasn't able to handle Item_row items. · e966efeb
      unknown authored
      resolve_const_item() assumed to be not called for Item_row items. For
      ensuring that DBUG_ASSERT(0) was set there.
      
      This patch adds section for Item_row items. If it can it recursively calls
      resolve_const_item() for each item the Item_row contains. If any of the
      contained items is null then whole Item_row substitued by Item_null. Otherwise
      it just returns.
      
      
      sql/item.cc:
        Fix bug#13356 resolve_const_item() wasn't able to handle Item_row items.
        
        Added section to resolve_const_item() for Item_row items. If it can it
        recursively calls resolve_const_item() for each item the Item_row contains. If
        any of the contained items is null then Item_row is substituted by Item_null.
        Otherwise it just returns.
        Comment moved closer to function it belongs to.
      mysql-test/t/select.test:
        Test case for bug#13356 resolve_const_item() wasn't able to handle Item_row items.
      mysql-test/r/select.result:
        Test case for bug#13356 resolve_const_item() wasn't able to handle Item_row items.
      e966efeb
  10. 20 Sep, 2005 1 commit
    • unknown's avatar
      Fix for BUG#13127. · 5968baf8
      unknown authored
      The problem was in the way table references are pre-filtered when
      resolving a qualified field. When resolving qualified table references
      we search recursively in the operands of the join. If there is
      natural/using join with a merge view, the first call to find_field_in_table_ref
      makes a recursive call to itself with the view as the new table reference
      to search for the column. However the view has both nested_join and
      join_columns != NULL so it skipped the test whether the view name matches
      the field qualifier. As a result the field was found in the view since the
      view already has a field with the same name. Thus the field was incorrectly
      resolved as the view field.
      
      
      mysql-test/r/select.result:
        Test for BUG#13127.
      mysql-test/t/select.test:
        Test for BUG#13127.
      sql/sql_base.cc:
        The patch contains two independent changes:
        
        - When searching for qualified fields, include merge views and information schema tables
        used with SHOW (both using TABLE_LIST::field_translation to represent result fields) in
        the test that compares the qualifying table with the name of the table reference being
        searched. This change fixes the bug.
        
        - Do not search the materialized list of columns of a NATURAL/USING join if 'table_list'
        is a stored table or merge view. Instead search directly in the table or view as if it
        is not under a natural join. This is a performance improvement since if 'table_list'
        is a stored table, then the search can utilize the name hash for table names.
      5968baf8
  11. 15 Sep, 2005 1 commit
    • unknown's avatar
      Fix bug #12291 Table wasn't reinited for index scan after sequential scan · 812037da
      unknown authored
      Optimizer did choose "Range checked for each record" for one of the tables.
      For first few loops over that table it choose sequential access, on later
      stage it choose to use index. Because table was previously initialized for 
      sequential access, it skips intitialization for index access, and when
      server tries to retrieve data error occurs.
      
      QUICK_RANGE_SELECT::init() changes so if file already initialized for
      sequential access, it calls ha_rnd_end() and initializes file for index
      access.
      
      
      sql/opt_range.cc:
        Fix bug #12291 Table wasn't reinited for index scan after sequential scan
      mysql-test/t/select.test:
        Test case for bug #12291 Table wasn't reinited for index scan after sequential scan
      mysql-test/r/select.result:
        Test case for bug #12291 Table wasn't reinited for index scan after sequential scan
      812037da
  12. 12 Sep, 2005 2 commits
  13. 10 Sep, 2005 1 commit
    • unknown's avatar
      Fix for BUG#12943. · 58cc5073
      unknown authored
      The problem was that in the first production in rule 'join_table', that
      processes simple cross joins, the parser was processing the second join operand
      before the first one due to unspecified priorities of JOINs. As a result in the
      case of cross joins the parser constructed a tree with incorrect nesting:
      the expression "t1 join t2 join t3 on some_cond" was interpreted as
      "t1 join (t2 join t3 on some_cond)" instead of
      "(t1 join t2) join t3 on some_cond".
      Because of this incorrect nesting the method make_join_on_context picked an
      incorrect table as the first table of the name resolution context.
      
      The solution assignes correct priorities to the related production.
      
      
      mysql-test/r/select.result:
        Added test for BUG#12943.
      mysql-test/t/select.test:
        Added test for BUG#12943.
      sql/sql_parse.cc:
        Fixed typo.
      sql/sql_yacc.yy:
        Provide explicit priorities of the JOIN operator and the 'table_ref' rule,
        to enforce left-associativity of [INNER | CROSS] JOIN.
      58cc5073
  14. 08 Sep, 2005 1 commit
    • unknown's avatar
      Fix for BUG#12977. · 15560cdb
      unknown authored
      mysql-test/r/select.result:
        Test for BUG#12977.
      mysql-test/t/select.test:
        Test for BUG#12977.
      sql/sql_base.cc:
        - Compare table qualifier of qualified fields only with tables that
          are not natural joins or their operands.
        - For qualified fields perform recursive search in all operands of
          natural joins that are nested joins.
        - Symmetrically detect ambiguous columns for both operands of
          NATURAL/USING joins.
      15560cdb
  15. 29 Aug, 2005 1 commit
    • unknown's avatar
      fix for bug #12841 · dd62a4bd
      unknown authored
      (Server crash on DO IFNULL(NULL,NULL)
      (fixes also "SELECT CAST(IFNULL(NULL,NULL) as DECIMAL)" unreported
       crash)
      (new revampled fix with suggestions from Igor)
      
      
      mysql-test/r/select.result:
        result of test for bug 12841
      mysql-test/t/select.test:
        test for bug #12841
        (Server crash on DO IFNULL(NULL,NULL)
      sql/item_func.cc:
        don't use the return value of ::str_op() without checking it
        whether checking it for NULL. (fixes bug #12841 as well as
        another not reported bug, but existing one - test case added).
        All other places where ::str_op() is used are safe.
      dd62a4bd
  16. 23 Aug, 2005 5 commits
    • unknown's avatar
      Test for BUG#6495. · e9a3d1b0
      unknown authored
      The bug itself is fixed by WL#2486.
      
      
      mysql-test/r/select.result:
        Test for BUG#6495.
      mysql-test/t/select.test:
        Test for BUG#6495.
      e9a3d1b0
    • unknown's avatar
      Test for BUG#4889 - inconsistent resilts of more than 2-way natural join · 359ed9a0
      unknown authored
      due to incorrect transformation to JOIN ... ON.
      
      The bug itself is fixed by WL#2486.
      
      
      mysql-test/r/select.result:
        Test for BUG#4889.
      mysql-test/t/select.test:
        Test for BUG#4889.
      359ed9a0
    • unknown's avatar
      Fix for BUG#6276. · 3bfeefff
      unknown authored
      mysql-test/r/select.result:
        Test for BUG#6276.
      mysql-test/t/select.test:
        Test for BUG#6276.
      sql/sql_base.cc:
        Add a true ON condition for outer joins without common columns.
      3bfeefff
    • unknown's avatar
      Test case for BUG#10972 - Natural join of view and underlying table gives wrong result. · 98d63231
      unknown authored
      The bug itself is fixed by WL#2486.
      
      
      mysql-test/r/select.result:
        Test case for BUG#10972.
      mysql-test/t/select.test:
        Test case for BUG#10972.
      98d63231
    • 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
  17. 22 Aug, 2005 2 commits
    • unknown's avatar
      Test case for BUG#10646 · 6e84ecc9
      unknown authored
      The bug itself is fixed by WL #2486.
      
      
      mysql-test/r/select.result:
        Test for BUG#10646
      mysql-test/t/select.test:
        Test for BUG#10646
      6e84ecc9
    • unknown's avatar
      Test case for BUG#6558 - Views: create fails with JOIN ... USING · 8caef6f8
      unknown authored
      The bug is non-view specific, and it resulted from incorrect
      name resolution of natural join result columns. The bug is
      fixed by WL#2486.
      
      
      mysql-test/r/select.result:
        Added test case for BUG#6558
      mysql-test/t/select.test:
        Added test case for BUG#6558
      8caef6f8
  18. 18 Aug, 2005 1 commit
  19. 17 Aug, 2005 1 commit
    • unknown's avatar
      WL#2486 - natural and using join according to SQL:2003 · d24ce05d
      unknown authored
      - fixed a problem with RIGHT JOIN ON and enabled corresponding tests in select.test
      - fixed a memory leak
      
      
      mysql-test/r/select.result:
        Fixed a problem with RIGHT JOIN ON queries, enabling the corresponding tests.
      mysql-test/t/select.test:
        Fixed a problem with RIGHT JOIN ON queries, enabling the corresponding tests.
      sql/sql_base.cc:
        Fixed a problem with RIGHT JOINs that have operand(s) which are NATURAL JOIN(s).
      sql/table.h:
        Inherit from Sql_alloc for proper memory allocation.
        The change fixes a memory leak.
      d24ce05d
  20. 16 Aug, 2005 2 commits
    • unknown's avatar
      Fix bug #11398 Bug in field_conv() results in wrong result of join with index · d32a3db9
      unknown authored
      When copying varchar fields with field_conv() it's not taken into account
      that length_bytes of source and destination fields may be different.
      This results in saving wrong data in field and making wrong key later.
      
      Added check so if fields are varchar and have different length_bytes they
      are not copied by memcpy().
      
      
      sql/field_conv.cc:
        Fix bug #11398 Bug in field_conv() results in wrong result of join with index
      mysql-test/t/select.test:
        Test case for bug #11398 Bug in field_conv() results in wrong result of join with index
      mysql-test/r/select.result:
        Test case for bug #11398 Bug in field_conv() results in wrong result of join with index
      d32a3db9
    • unknown's avatar
      fix for bug #12595 (Escape character has to be exactly one) · 7c524e0d
      unknown authored
      mysql-test/r/select.result:
        results for test of bug 12595
      mysql-test/t/select.test:
        test for bug #12595
      sql/item_cmpfunc.cc:
        check whether the size of the escape string is exactly 1 (bug #12595)
      7c524e0d
  21. 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
  22. 28 Jul, 2005 1 commit
    • unknown's avatar
      Cleanups during review of new code · c8e2aee9
      unknown authored
      Ensure mysql_close() is called if mysql_set_character_set() fails
      
      
      libmysql/libmysql.c:
        Indentation cleanup
      mysql-test/r/select.result:
        Fix bad merge & align code with 4.1
      mysql-test/r/type_newdecimal.result:
        Added test of extreme case
      mysql-test/t/select.test:
        Fix bad merge & align code with 4.1
      mysql-test/t/type_newdecimal.test:
        Added test of extreme case
      mysys/charset.c:
        Removed not used variable
      mysys/default.c:
        Simplify code
      sql-common/client.c:
        Ensure mysql_close() is called if mysql_set_character_set() fails
      sql/log.cc:
        strmov(strmov())  -> strxmov()
      sql/sp.cc:
        Indentation fixes
      sql/sql_acl.cc:
        Indentation fixes
      sql/sql_base.cc:
        Added commments
        Moved variable to inner block
      sql/sql_show.cc:
        Simple optimization (removed loop variable)
      sql/sql_trigger.cc:
        strmov(strmov())  -> strxmov()
      strings/decimal.c:
        Indentation fixes
      c8e2aee9
  23. 19 Jul, 2005 2 commits
    • unknown's avatar
      Cleanups after merge from 4.1. · 086f7ac2
      unknown authored
      mysql-test/r/ps_1general.result:
        Update results
      mysql-test/r/ps_2myisam.result:
        Update results
      mysql-test/r/ps_3innodb.result:
        Update results
      mysql-test/r/ps_4heap.result:
        Update results
      mysql-test/r/ps_5merge.result:
        Update results
      mysql-test/r/ps_6bdb.result:
        Update results
      mysql-test/r/ps_7ndb.result:
        Update results
      mysql-test/r/select.result:
        Update results
      mysql-test/t/disabled.def:
        Disable ndb_condition_pushdown test
      mysql-test/t/select.test:
        Fix bad merge
      sql/field_conv.cc:
        Update name of warning message
      sql/mysqld.cc:
        Set proper thd->killed
      tests/mysql_client_test.c:
        Update test cases, change verify_prepared_field() help function
        so it is passed the filename and line from where it is called
        and includes that in the error message.
      086f7ac2
    • unknown's avatar
      Simple fixes during review of new code · b11046f5
      unknown authored
      include/my_global.h:
        Added floatget() to read unaligned flaot
      mysql-test/r/select.result:
        Added test for found_rows()
      mysql-test/t/select.test:
        Added test for found_rows()
      sql/des_key_file.cc:
        Moved initalization of LOCK_des_key_file to mysqld to make simpler code and avoid theoretical race condition
      sql/field_conv.cc:
        Added optimizzed varsion of do_cut_string (for simple character sets)
      sql/item_func.cc:
        Simplify code (and ensure DBUG_ENTER is excuted before main code)
      sql/item_strfunc.cc:
        Safe calculation of max_length
        This was needed as max_length can now be 1<<32-1 (after konstantins recent patch to fix BLOB_LENGTH)
        Remove init_des_key_file() as this is not initialized in mysqld.cc
      sql/item_timefunc.cc:
        Safe calculation of max_length
        This was needed as max_length can now be 1<<32-1 (after konstantins recent patch to fix BLOB_LENGTH)
      sql/log_event.cc:
        Simplify code
      sql/mysql_priv.h:
        Moved initalization of LOCK_des_key_file to mysqld to make simpler code and avoid theoretical race condition
      sql/mysqld.cc:
        Moved initalization of LOCK_des_key_file to mysqld to make simpler code and avoid theoretical race condition
        Revert wrong patch of calling close_connection() in first close_connections() loop. (Bug #7403)
        Instead we now print a warning for closed connections only if mysqld is sarted with --warnings
        Added comments to make the close_connections() logic clearer
      sql/sql_prepare.cc:
        Use floatget() and doubleget() to protect against unaligned data
      sql/sql_select.cc:
        Fixed some cases unlikely cases where found_rows() would return wrong for queries that would return 0 or 1 rows
      b11046f5
  24. 18 Jul, 2005 1 commit
    • unknown's avatar
      Fix bug#11482 4.1.12 produces different resultset for a complex query · a77c2acf
      unknown authored
        than in previous 4.1.x
      
      Wrongly applied optimization were adding NOT NULL constraint which results in
      rejecting valid rows and reduced result set.
      
      The problem was that add_notnull_conds() while checking subquery were adding
      NOT NULL constraint to left joined table, to which, normally, optimization 
      don't have to be applied.
      
      
      sql/sql_select.cc:
        Fix bug #11482 Wrongly applied optimization was erroneously rejecting valid rows
        Constraint were added to optimization appliance test.
      mysql-test/t/select.test:
        Test case for bug #11482  Wrongly applied optimization was erroneously rejecting valid rows
      mysql-test/r/select.result:
        Test case for bug #11482  Wrongly applied optimization was erroneously rejecting valid rows
      a77c2acf
  25. 17 Jul, 2005 1 commit
    • unknown's avatar
      select.result, select.test: · bbee428d
      unknown authored
        Added a test case for bug #11745.
      sql_select.cc:
        Fixed bug # 11745.
        Added support of where clause for queries with FROM DUAL.
      sql_yacc.yy:
        Fixed bug # 11745.
        Added optional where clause for queries with FROM DUAL.
      
      
      sql/sql_yacc.yy:
        Fixed bug # 11745.
        Added optional where clause for queries with FROM DUAL.
      sql/sql_select.cc:
        Fixed bug # 11745.
        Added support of where clause for queries with FROM DUAL.
      mysql-test/t/select.test:
        Added a test case for bug #11745.
      mysql-test/r/select.result:
        Added a test case for bug #11745.
      bbee428d
  26. 16 Jul, 2005 1 commit
    • unknown's avatar
      Added test for Bug #11521 · 3fc69476
      unknown authored
      "Negative integer keys incorrectly substituted for 0 during range analysis."
      
      The problem is that the range optimizer incorrectly replaces any negative
      constant with '0' for all types except BIGINT because the method save_in_field()
      casts negative integers to non-negative. This causes incorrect query
      results where (0 = any_negative_number).
      
      The problem caused by this bug is fixed by the patch for BUG#11185.
      That patch constitutes an optimization due to which the problem code is
      never called with negative constants. This patch adds a test so we are sure
      that the problem does not reappear.
      
      
      mysql-test/r/select.result:
        Test for BUG#11521.
      mysql-test/t/select.test:
        Test for BUG#11521.
      3fc69476
  27. 15 Jul, 2005 1 commit
    • unknown's avatar
      Fix bug#11482 4.1.12 produces different resultset for a complex query · 653e2989
      unknown authored
        than in previous 4.1.x
      
      Wrongly applied optimization were adding NOT NULL constraint which results in
      rejecting valid rows and reduced result set.
      
      The problem was that add_notnull_conds() while checking subquery were adding
      NOT NULL constraint to left joined table, to which, normally, optimization 
      don't have to be applied.
      
      
      sql/sql_select.cc:
        Fix bug #11482 Wrongly applied optimization was erroneously rejecting valid rows
        Constraint were added to optimization appliance test.
      mysql-test/t/select.test:
        Test case for bug #11482  Wrongly applied optimization was erroneously rejecting valid rows
      mysql-test/r/select.result:
        Test case for bug #11482  Wrongly applied optimization was erroneously rejecting valid rows
      653e2989
  28. 14 Jul, 2005 1 commit
  29. 04 Jul, 2005 1 commit
    • unknown's avatar
      After merge fixes · 90949a31
      unknown authored
      Better fix for ON DUPLICATE KEY UPDATE
      
      
      mysql-test/r/group_by.result:
        After merge fixes
      mysql-test/r/select.result:
        Reorder test to match 4.1 tests (will make future merges easier)
      mysql-test/t/group_by.test:
        Added --disable_ps_protocol to avoid extra warning
      mysql-test/t/select.test:
        Reorder test to match 4.1 tests (will make future merges easier)
      sql/mysql_priv.h:
        Better fix for ON DUPLICATE KEY UPDATE
      sql/sql_base.cc:
        After merge fixes
      sql/sql_insert.cc:
        Better fix for ON DUPLICATE KEY UPDATE
        (old solution gave problem with item->cached_table)
      sql/sql_prepare.cc:
        Better fix for ON DUPLICATE KEY UPDATE
      90949a31
  30. 28 Jun, 2005 1 commit
    • unknown's avatar
      fixed not_null_tables() for IN() (BUG#9393) · b8e5174d
      unknown authored
      (IN() remove NULL rows only for tables from first argument (value which we looking for in IN() list) but not for tables from IN() list)
      Also it will be better change Item::not_null_tables() to prohibit this optimisation by default for new created items in 5.0 or 5.1.
      
      
      mysql-test/r/select.result:
        IN with outer join condition
      mysql-test/t/select.test:
        IN with outer join condition
      sql/item_cmpfunc.h:
        correct not_null_tables() for IN
      b8e5174d
  31. 20 Jun, 2005 1 commit
    • unknown's avatar
      bug#10466: Datatype "timestamp" displays "YYYYMMDDHHMMSS" irrespective of display sizes. · a24d614a
      unknown authored
       - Print warning that says display width is not supported for datatype TIMESTAMP, if user tries to create a TIMESTAMP column with display width.
       - Use display width for TIMESTAMP only in type_timestamp test to make sure warning is displayed correctly.
      
      
      mysql-test/include/ps_create.inc:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/alias.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/func_date_add.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/func_str.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/func_time.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/group_by.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/innodb.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/ps.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/ps_1general.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/ps_2myisam.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/ps_3innodb.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/ps_4heap.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/ps_5merge.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/ps_6bdb.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/ps_7ndb.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/select.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/r/type_timestamp.result:
        When display width is used for a TIMESTAMP column a warning is printed that the display width will be ignored.
      mysql-test/r/update.result:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/t/alias.test:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/t/func_date_add.test:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/t/func_str.test:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/t/func_time.test:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/t/group_by.test:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/t/innodb.test:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/t/ps.test:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/t/ps_4heap.test:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/t/ps_5merge.test:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/t/select.test:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      mysql-test/t/update.test:
        Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
      sql/share/errmsg.txt:
        Correct swedish error message
      sql/sql_parse.cc:
        Print warning if datatype is TIMESTAMP and display width is used.
      a24d614a
  32. 16 Jun, 2005 1 commit