An error occurred fetching the project authors.
  1. 23 Jan, 2006 1 commit
  2. 02 Dec, 2005 1 commit
    • unknown's avatar
      Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE · ca34f415
      unknown authored
        -issue more correct message for incorrect date|datetime|time values
        -ER_WARN_DATA_OUT_OF_RANGE message is changed
        -added new error message
      
      
      mysql-test/r/auto_increment.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/bigint.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/ctype_ucs.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/date_formats.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/func_sapdb.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/func_str.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/func_time.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/insert.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/loaddata.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/mysqldump.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/ps_2myisam.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/ps_3innodb.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/ps_4heap.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/ps_5merge.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/ps_6bdb.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/ps_7ndb.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/rpl_rewrite_db.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/sp.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/strict.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/timezone2.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/timezone_grant.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/type_bit.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/type_bit_innodb.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/type_date.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/type_datetime.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/type_decimal.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/type_float.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/type_newdecimal.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/type_ranges.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/type_time.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/type_uint.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/view.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      mysql-test/r/warnings.result:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          result change
      sql/share/errmsg.txt:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          -ER_WARN_DATA_OUT_OF_RANGE message is changed
          -added new error message
      sql/time.cc:
        Fix for bug#8294 Traditional: Misleading error message for invalid CAST to DATE
          issue more correct message for incorrect date|datetime|time values
      ca34f415
  3. 01 Dec, 2005 1 commit
    • unknown's avatar
      Fix for bug#11491 Misleading error message if not NULL column set to NULL, · c86ba5f5
      unknown authored
                        SQL mode TRADITIONAL
        Message is chenged from 'ER_WARN_NULL_TO_NOTNULL' to 'ER_BAD_NULL_ERROR'
      
      
      mysql-test/r/auto_increment.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/create.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/insert.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/insert_select.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/key.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/null.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/null_key.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/ps_2myisam.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/ps_3innodb.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/ps_4heap.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/ps_5merge.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/ps_6bdb.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/ps_7ndb.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/strict.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/view.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/r/warnings.result:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          result change
      mysql-test/t/strict.test:
        Fix for bug#11491 Misleading error message if not NULL column set to NULL,
                          SQL mode TRADITIONAL
          test change
      c86ba5f5
  4. 31 Oct, 2005 1 commit
    • unknown's avatar
      WL#2930 Adding view and cursor 'protocols' to mysqltest · 91faec36
      unknown authored
       - Cleanup of mysqltest.c before extending it
      
      
      client/mysqltest.c:
        Cleanup functions run_query_* before adding new functionality.
        Break out common functions used in both run_query_stmt and run_query_normal
        Move functionality for all run_query_* calls into run_query
        Since the normal way of handling an unepected error is to call die(which will never return), remove all return values from functions that does not return. 
        Add comments.
        Remove unused vars.
        Cleanup...
        Removed oboslete syntax @<file_name>, "require" or "result" should be used.
      mysql-test/include/master-slave.inc:
        remove obsolete syntax @, use "require" command
      mysql-test/include/ps_query.inc:
        Remove this comment, mysqltest will now produce output. Old mysqltest didn't return any output since command starting with @ was treated as a require. Uggh.
      mysql-test/r/mysqltest.result:
        Update test result
      mysql-test/r/ps_2myisam.result:
        Update test result
      mysql-test/r/ps_3innodb.result:
        Update test result
      mysql-test/r/ps_4heap.result:
        Update test result
      mysql-test/r/ps_5merge.result:
        Update test result
      mysql-test/r/ps_6bdb.result:
        Update test result
      mysql-test/r/ps_7ndb.result:
        Update test result
      mysql-test/t/alias.test:
        Remove --disable/enable_ps_protocol, only used to mask bugs in mysqltest
      mysql-test/t/group_by.test:
        Remove --disable/enable_ps_protocol, only used to mask bugs in mysqltest
      mysql-test/t/mysqltest.test:
        Add test for "Missing delimiter until eof"
      mysql-test/t/union.test:
        Remove --disable/enable_ps_protocol, "select found_rows" works  with ps_protocol now!
      91faec36
  5. 27 Sep, 2005 1 commit
    • unknown's avatar
      Fixed BUG#12589: Assert when creating temp. table from decimal stored · 06eabeee
      unknown authored
                       procedure variable
        Second version, after review.
        Keep the unsigned_flag in Item_decimal updated. Note that this also changed
        the result of several old test results - creating tables from decimal
        templates now gives unsigned columns and different sizes. (Several tests
        had Length > Max_length before.)
      
      
      mysql-test/r/case.result:
        Updated result (after fixing BUG#12589).
      mysql-test/r/metadata.result:
        Updated result (after fixing BUG#12589).
      mysql-test/r/ps_2myisam.result:
        Updated result (after fixing BUG#12589).
      mysql-test/r/ps_3innodb.result:
        Updated result (after fixing BUG#12589).
      mysql-test/r/ps_4heap.result:
        Updated result (after fixing BUG#12589).
      mysql-test/r/ps_5merge.result:
        Updated result (after fixing BUG#12589).
      mysql-test/r/ps_6bdb.result:
        Updated result (after fixing BUG#12589).
      mysql-test/r/ps_7ndb.result:
        Updated result (after fixing BUG#12589).
      mysql-test/r/sp.result:
        New test case for BUG#12589.
      mysql-test/r/type_newdecimal.result:
        Updated result (after fixing BUG#12589).
      mysql-test/t/sp.test:
        New test case for BUG#12589.
      sql/item.cc:
        Keep the unsigned_flag updated in Item_splocal and Item_decimal.
      06eabeee
  6. 09 Sep, 2005 2 commits
    • unknown's avatar
      after merge fix · 27eeeab8
      unknown authored
      27eeeab8
    • unknown's avatar
      Bug#12817 SHOW STATUS now blob fields · acf8d0f4
      unknown authored
         This fix is cancellation of ChangeSet
         1.2329 05/07/12 08:35:30 reggie@linux.site +8 -0
         Bug 7142  Show Fields from fails using Borland's dbExpress interface
         The reason is we can't fix bug#7142 without
         breaking of existing applications/APIs that worked fine with earlier 4.1
         bug 7142 is fixed in 5.0
      
      
      
      
      mysql-test/r/ps_1general.result:
        Bug #12817 SHOW STATUS now blob fields
      mysql-test/r/ps_2myisam.result:
        Bug #12817 SHOW STATUS now blob fields
      mysql-test/r/ps_3innodb.result:
        Bug #12817 SHOW STATUS now blob fields
      mysql-test/r/ps_4heap.result:
        Bug #12817 SHOW STATUS now blob fields
      mysql-test/r/ps_5merge.result:
        Bug #12817 SHOW STATUS now blob fields
      sql/item.cc:
        Bug #12817 SHOW STATUS now blob fields
      sql/sql_show.cc:
        Bug #12817 SHOW STATUS now blob fields
      tests/mysql_client_test.c:
        Bug #12817 SHOW STATUS now blob fields
      acf8d0f4
  7. 23 Aug, 2005 1 commit
    • unknown's avatar
      WL#2486 - natural and using join according to SQL:2003 · fe24add7
      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.
      fe24add7
  8. 12 Aug, 2005 1 commit
    • unknown's avatar
      Implementation of WL#2486 - · 7517d7e1
      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.
      7517d7e1
  9. 19 Jul, 2005 1 commit
    • unknown's avatar
      Cleanups after merge from 4.1. · ccc3052d
      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.
      ccc3052d
  10. 18 Jul, 2005 1 commit
    • unknown's avatar
      Fix number to date conversion so it always honors the NO_ZERO_DATE, · 5958f22a
      unknown authored
      NO_ZERO_IN_DATE, and INVALID_DATES bits of SQL_MODE. (Bug #5906)
      
      
      include/my_time.h:
        Pass flags to number_to_datetime() so it can check things
        like NO_ZERO_DATE.
      libmysql/libmysql.c:
        Enable fuzzy date handling when converting strings and numbers
        to datetime fields.
      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/strict.result:
        Update results
      mysql-test/r/timezone2.result:
        Update results
      mysql-test/r/type_datetime.result:
        Update results
      mysql-test/t/strict.test:
        Add new regression test
      mysql-test/t/timezone2.test:
        Add new test of timestamp values in DST gap
      sql-common/my_time.c:
        Expand check_date() to check NO_ZERO_DATE and NO_ZERO_IN_DATE, and
        use it from number_to_datetime() as well as str_to_datetime(). Also,
        make number_to_datetime() return -1 on error so we can distinguish
        between a violation of NO_ZERO_DATE and other errors.
      sql/field.cc:
        Update conversion of numbers to date, datetime, and timestamp to
        use number_to_datetime() and report errors and warnings correctly
        and consistently.
      5958f22a
  11. 14 Jul, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#9735. · a16a61d9
      unknown authored
      No separate typecode for MEDIUMTEXT/LONGTEXT is added, as we
      have no sound decision yet what typecodes and for what types are
      sent by the server (aka what constitutes a distinct type in MySQL).
      
      
      
      mysql-test/r/ps_2myisam.result:
        Test results fixed: new longtext/longblob length (2^32)
      mysql-test/r/ps_3innodb.result:
        Test results fixed: new longtext/longblob length (2^32)
      mysql-test/r/ps_4heap.result:
        Test results fixed: new longtext/longblob length (2^32)
      mysql-test/r/ps_5merge.result:
        Test results fixed: new longtext/longblob length (2^32)
      mysql-test/r/ps_6bdb.result:
        Test results fixed: new longtext/longblob length (2^32)
      mysql-test/r/ps_7ndb.result:
        Test results fixed: new longtext/longblob length (2^32)
      sql/field.cc:
        A fix for Bug#9735 "mysql_fetch_fields() acts strange on 
        LONGBLOB/LONGTEXT": fix wrong initialization of field_length
        in case of BLOB fields.
      tests/mysql_client_test.c:
        A test case for Bug#9735  "mysql_fetch_fields() acts strange on 
        LONGBLOB/LONGTEXT"
      a16a61d9
  12. 12 Jul, 2005 1 commit
    • unknown's avatar
      Bug #7142 Show Fields from fails using Borland's dbExpress interface · 831e2c7f
      unknown authored
      The problem here is that columns that have an especially long type 
      such as an enum type with many options would be longer than 40 chars
      but the type column returned from show columns always was defined
      as varchar(40).
      
      This is fixed in 5.0 using info schema.
      
      
      mysql-test/r/ps_1general.result:
        update columns which will now be reported as blobs
      mysql-test/r/ps_2myisam.result:
        update columns which will now be reported as blobs
      mysql-test/r/ps_3innodb.result:
        update columns which will now be reported as blobs
      mysql-test/r/ps_4heap.result:
        update columns which will now be reported as blobs
      mysql-test/r/ps_5merge.result:
        update columns which will now be reported as blobs
      sql/item.cc:
        report a column as a particular blob type if it's size warrants
      sql/sql_show.cc:
        Add function to iterate over all the fields of a table and determine 
        the longest type name.
        
        We call this function at the top of our show fields code.  We pass in 
        either 40 or max_len whichever is longer to the ctor of
        Item_empty_string.
      tests/mysql_client_test.c:
        update columns which will now be reported as blobs
      831e2c7f
  13. 20 Jun, 2005 1 commit
    • unknown's avatar
      bug#10466: Datatype "timestamp" displays "YYYYMMDDHHMMSS" irrespective of display sizes. · d2b52d19
      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.
      d2b52d19
  14. 14 Jun, 2005 1 commit
  15. 07 Jun, 2005 2 commits
    • unknown's avatar
      Many files: · d499ead6
      unknown authored
        Fixed bug #9899: erronious NOT_NULL flag for some attributes
        in the EXPLAIN table.
      
      
      sql/sql_class.cc:
        Fixed bug #9899: erronious NOT_NULL flag for some attributes
        in the EXPLAIN table.
      mysql-test/r/ps_1general.result:
        Fixed bug #9899: erronious NOT_NULL flag for some attributes
        in the EXPLAIN table.
      mysql-test/r/ps_2myisam.result:
        Fixed bug #9899: erronious NOT_NULL flag for some attributes
        in the EXPLAIN table.
      mysql-test/r/ps_3innodb.result:
        Fixed bug #9899: erronious NOT_NULL flag for some attributes
        in the EXPLAIN table.
      mysql-test/r/ps_4heap.result:
        Fixed bug #9899: erronious NOT_NULL flag for some attributes
        in the EXPLAIN table.
      mysql-test/r/ps_5merge.result:
        Fixed bug #9899: erronious NOT_NULL flag for some attributes
        in the EXPLAIN table.
      d499ead6
    • unknown's avatar
      Patch two (the final one) for Bug#7306 "the server side preparedStatement · 5188f031
      unknown authored
       error for LIMIT placeholder".
      The patch adds grammar support for LIMIT ?, ? and changes the
      type of ST_SELECT_LEX::select_limit,offset_limit from ha_rows to Item*,
      so that it can point to Item_param.
      
      
      mysql-test/include/ps_modify.inc:
        Fix existing tests: now LIMIT can contain placeholders.
      mysql-test/include/ps_query.inc:
        Fix existing tests: now LIMIT can contain placeholders.
      mysql-test/r/ps.result:
        Add basic test coverage for LIMIT ?, ? and fix test results.
      mysql-test/r/ps_2myisam.result:
        Fix test results: now LIMIT can contain placeholders.
      mysql-test/r/ps_3innodb.result:
        Fix test results: now LIMIT can contain placeholders.
      mysql-test/r/ps_4heap.result:
        Fix test results: now LIMIT can contain placeholders.
      mysql-test/r/ps_5merge.result:
        Fix test results: now LIMIT can contain placeholders.
      mysql-test/r/ps_6bdb.result:
        Fix test results: now LIMIT can contain placeholders.
      mysql-test/r/ps_7ndb.result:
        Fix test results: now LIMIT can contain placeholders.
      mysql-test/t/ps.test:
        Add basic test coverage for LIMIT ?, ?.
      sql/item.h:
        Add a short-cut for (ulonglong) val_int() to Item.
        Add a constructor to Item_int() that accepts ulonglong.
        Simplify Item_uint constructor by using the c-tor above.
      sql/item_subselect.cc:
        Now select_limit has type Item *.
        We can safely create an Item in Item_exists_subselect::fix_length_and_dec():
        it will be allocated in runtime memory root and freed in the end of
        execution.
      sql/sp_head.cc:
        Add a special initalization state for stored procedures to 
        be able to easily distinguish the first execution of a stored procedure
        from prepared statement prepare.
      sql/sql_class.h:
        Introduce new state 'INITIALIZED_FOR_SP' to be able to easily distinguish
        the first execution of a stored procedure from prepared statement prepare.
      sql/sql_derived.cc:
        - use unit->set_limit() to set unit->select_limit_cnt, offset_limit_cnt
          evreryplace. Add a warning about use of set_limit in 
        mysql_derived_filling.
      sql/sql_error.cc:
        - use unit->set_limit() to set unit->select_limit_cnt, offset_limit_cnt
          evreryplace.
        - this change is also aware of bug#11095 "show warnings limit 0 returns 
        all rows instead of zero rows", so the one who merges the bugfix from
        4.1 can use local version of sql_error.cc.
      sql/sql_handler.cc:
        - use unit->set_limit() to initalize 
        unit->select_limit_cnt,offset_limit_cnt everyplace.
      sql/sql_lex.cc:
        Now ST_SELECT_LEX::select_limit, offset_limit have type Item *
      sql/sql_lex.h:
        Now ST_SELECT_LEX::select_limit, offset_limit have type Item *
      sql/sql_parse.cc:
        - use unit->set_limit() to initalize 
        unit->select_limit_cnt,offset_limit_cnt everyplace. 
        - we can create an Item_int to set global limit of a statement:
        it will be created in the runtime mem root and freed in the end of
        execution.
      sql/sql_repl.cc:
        Use unit->set_limit to initialize limits.
      sql/sql_select.cc:
        - select_limit is now Item* so the proper way to check for default value
        is to compare it with NULL.
      sql/sql_union.cc:
        Evaluate offset_limit_cnt using the new type of ST_SELECT_LEX::offset_limit
      sql/sql_view.cc:
        Now ST_SELECT_LEX::select_limit, offset_limit have type Item *
      sql/sql_yacc.yy:
        Add grammar support for LIMIT ?, ? clause.
      5188f031
  16. 05 May, 2005 1 commit
    • unknown's avatar
      Tests and results fixed with last precision/decimal related modifications · 8a27426f
      unknown authored
      mysql-test/r/case.result:
        test result fixed
      mysql-test/r/create.result:
        test result fixed
      mysql-test/r/distinct.result:
        test result fixed
      mysql-test/r/func_group.result:
        test result fixed
      mysql-test/r/func_op.result:
        test result fixed
      mysql-test/r/group_by.result:
        test result fixed
      mysql-test/r/metadata.result:
        test result fixed
      mysql-test/r/olap.result:
        test result fixed
      mysql-test/r/ps_2myisam.result:
        test result fixed
      mysql-test/r/ps_3innodb.result:
        test result fixed
      mysql-test/r/ps_4heap.result:
        test result fixed
      mysql-test/r/ps_5merge.result:
        test result fixed
      mysql-test/r/ps_6bdb.result:
        test result fixed
      mysql-test/r/ps_7ndb.result:
        test result fixed
      mysql-test/r/select.result:
        test result fixed
      mysql-test/r/sp.result:
        test result fixed
      mysql-test/r/type_decimal.result:
        test result fixed
      mysql-test/r/type_newdecimal.result:
        test result fixed
      mysql-test/r/union.result:
        test result fixed
      mysql-test/r/variables.result:
        test result fixed
      mysql-test/t/func_group.test:
        test modified
      mysql-test/t/olap.test:
        test modified
      mysql-test/t/type_decimal.test:
        test modified
      8a27426f
  17. 30 Mar, 2005 1 commit
    • unknown's avatar
      BUG#8807 Select crash server · af2ab040
      unknown authored
       - Add function Item_param::fix_fields which will update any subselect they are part of and indicate that the subsleect is not const during prepare phase, and thus should not be executed during prepare.
      
      
      mysql-test/include/ps_query.inc:
        Adde new test case
      mysql-test/r/ps_2myisam.result:
        Update test result
      mysql-test/r/ps_3innodb.result:
        Update test result
      mysql-test/r/ps_4heap.result:
        Update test result
      mysql-test/r/ps_5merge.result:
        Update test result
      mysql-test/r/ps_6bdb.result:
        Update test result
      mysql-test/r/ps_7ndb.result:
        Update test result
      sql/item.cc:
        Add function Item_param::fix_fields, which will mark any subselects they are part of as not being a constant expression unless the param value is specified, ie. it will be not be constant during prepare phase.
      sql/item.h:
        Adde Item_param::fix_fields
      sql/item_subselect.h:
        Make Item_param::fix_field friend of Item_subselect
      af2ab040
  18. 23 Mar, 2005 1 commit
    • unknown's avatar
      client/mysqltest.c · 58aeecb0
      unknown authored
          corrected number of fields for --enable_metadata
      sql/sql_union.cc
          fixed a apparent typo in assert
      
      
      client/mysqltest.c:
        corrected number of fields for --enable_metadata
      mysql-test/r/metadata.result:
        corrected number of fields for --enable_metadata
      mysql-test/r/ps_1general.result:
        corrected number of fields for --enable_metadata
      mysql-test/r/ps_2myisam.result:
        corrected number of fields for --enable_metadata
      mysql-test/r/ps_3innodb.result:
        corrected number of fields for --enable_metadata
      mysql-test/r/ps_4heap.result:
        corrected number of fields for --enable_metadata
      mysql-test/r/ps_5merge.result:
        corrected number of fields for --enable_metadata
      mysql-test/r/type_enum.result:
        corrected number of fields for --enable_metadata
      sql/sql_union.cc:
        fixed a apparent typo in assert
      58aeecb0
  19. 16 Mar, 2005 1 commit
    • unknown's avatar
      data0type.h, row0sel.c: · f21905e0
      unknown authored
        Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
      ha_innodb.cc:
        Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE
      rowid_order_innodb.result, ps_3innodb.result, innodb.result, endspace.result:
        Edit InnoDB test results to reflect the arrival of true VARCHARs
      
      
      mysql-test/r/endspace.result:
        Edit InnoDB test results to reflect the arrival of true VARCHARs
      mysql-test/r/innodb.result:
        Edit InnoDB test results to reflect the arrival of true VARCHARs
      mysql-test/r/ps_3innodb.result:
        Edit InnoDB test results to reflect the arrival of true VARCHARs
      mysql-test/r/rowid_order_innodb.result:
        Edit InnoDB test results to reflect the arrival of true VARCHARs
      sql/ha_innodb.cc:
        Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE
      innobase/row/row0sel.c:
        Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
      innobase/include/data0type.h:
        Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
      f21905e0
  20. 10 Feb, 2005 1 commit
    • unknown's avatar
      Things missing in last changset · 4adab48b
      unknown authored
      After merge fixes
      Don't give duplicate warnings for some ::store() functions
      
      
      mysql-test/mysql-test-run.sh:
        Added back missing line
      mysql-test/r/ps_2myisam.result:
        Update results after removing duplicate warnings from ::store()
      mysql-test/r/ps_3innodb.result:
        Update results after removing duplicate warnings from ::store()
      mysql-test/r/ps_4heap.result:
        Update results after removing duplicate warnings from ::store()
      mysql-test/r/ps_5merge.result:
        Update results after removing duplicate warnings from ::store()
      sql/field.cc:
        Don't give duplicate warnings for some ::store() functions
        Before we could get different number of warnings in the test suite for different platforms
      sql/field.h:
        Update results after removing duplicate warnings from ::store()
      sql/sql_class.h:
        Update results after removing duplicate warnings from ::store()
      sql/sql_error.cc:
        Update results after removing duplicate warnings from ::store()
      sql/sql_list.h:
        After merge fix
      4adab48b
  21. 08 Feb, 2005 1 commit
    • unknown's avatar
      Precision Math implementation · 91db48e3
      unknown authored
      BitKeeper/etc/ignore:
        Added client/decimal.c client/my_decimal.cc client/my_decimal.h to the ignore list
      91db48e3
  22. 18 Jan, 2005 2 commits
    • unknown's avatar
      After-merge clean-up · 764501e7
      unknown authored
      764501e7
    • unknown's avatar
      1. Item now uses my_charset_bin by default, · cd89ed9a
      unknown authored
      not default_charset_into. It fixes the
      problem that in some cases numbers where
      treated as CHAR(N), not as BINARY(N), e.g.
      wrong 'charsetnr' when sent to the client side.
      2. IFNULL didn't aggregate argument charsets
      and collations, so IFNULL(1,'a') produced
      a CHAR(N). Now produces a BINARY(N).
      3. SELECT PROCEDURE ANALIZE now returns
      BINARY columns, which is much better than it worked
      previously: CHAR with the default character set.
      But in the future it's worth to fix the fields
      'Field_name' and 'Optimal_fieldtype' to use UTF8,
      and 'Min_value' and 'Max_value' to inherit their charsets
      from the original items. But it is not important,
      and BINARY(N) is OK for now.
      4. Tests were fixed accordingly. No new tests were
      made, as the old onces cover everything.
      
      
      mysql-test/r/analyse.result:
        SELECT PROCEDURE ANALIZE now returns
        BINARY columns, which is much better than it worked
        previously: CHAR with the default character set.
        But in the future it's worth to fix the fields
        'Field_name' and 'Optimal_fieldtype' to use UTF8,
        and 'Min_value' and 'Max_value' to inherit their charsets
        from the original items. But it is not important,
        and BINARY(N) is OK for now.
      mysql-test/r/case.result:
        Test fix according to the changes
      mysql-test/r/metadata.result:
        Test fix according to the changes
      mysql-test/r/ps_1general.result:
        Test fix according to the changes
      mysql-test/r/ps_2myisam.result:
        Test fix according to the changes
      mysql-test/r/ps_3innodb.result:
        Test fix according to the changes
      mysql-test/r/ps_4heap.result:
        Test fix according to the changes
      mysql-test/r/ps_5merge.result:
        Test fix according to the changes
      mysql-test/r/ps_6bdb.result:
        Test fix according to the changes
      mysql-test/r/ps_7ndb.result:
        Test fix according to the changes
      mysql-test/r/union.result:
        Test fix according to the changes
      sql/item.cc:
        Item is now BINARY by default
      sql/item_cmpfunc.cc:
        IFNULL now collects arguments collations/charsets
        like other functions do.
      cd89ed9a
  23. 30 Dec, 2004 2 commits
    • unknown's avatar
      After merge fixes · 2e8d13c7
      unknown authored
      config/ac-macros/character_sets.m4:
        Added latin1_spanish_ci
      dbug/dbug_analyze.c:
        Remove compiler warnings
      include/my_handler.h:
        Reorder structure arguments to be more optimal
      innobase/dict/dict0load.c:
        Fixed wrong define tag (for MySQL 5.0)
      innobase/fil/fil0fil.c:
        Fixed compiler warning
      innobase/os/os0file.c:
        Fixed compiler warning
      myisam/ft_boolean_search.c:
        Fixed compiler warning
      myisam/ft_static.c:
        Update to use new HA_KEYSEG structure
      myisam/mi_open.c:
        Simple optimization
      myisammrg/myrg_static.c:
        Removed compiler warning
      mysql-test/r/grant.result:
        Update results after merge
      mysql-test/r/index_merge.result:
        Update results after merge
      mysql-test/r/information_schema_inno.result:
        Add missing drop table
      mysql-test/r/lowercase_table.result:
        safety fix
      mysql-test/r/multi_update.result:
        safety fix
      mysql-test/r/ps_1general.result:
        safety fix
      mysql-test/r/ps_2myisam.result:
        Update results after merge
        (set is not anymore of binary type)
      mysql-test/r/ps_3innodb.result:
        Update results after merge
      mysql-test/r/ps_4heap.result:
        Update results after merge
      mysql-test/r/ps_5merge.result:
        Update results after merge
      mysql-test/r/ps_6bdb.result:
        Update results after merge
      mysql-test/r/show_check.result:
        Update results after merge
      mysql-test/r/subselect.result:
        Update results after merge
        (added missing quotes)
      mysql-test/r/timezone2.result:
        Update results after merge
      mysql-test/r/view.result:
        Update results after merge
        (note that INSERT IGNORE will work again after next merge from 4.1)
      mysql-test/t/derived.test:
        Removed empty line
      mysql-test/t/grant.test:
        Update results after merge
      mysql-test/t/information_schema_inno.test:
        added missing drop table
      mysql-test/t/lowercase_table.test:
        safety fix
      mysql-test/t/multi_update.test:
        safety fix
      mysql-test/t/ps_1general.test:
        safety fix
      mysql-test/t/view.test:
        update error codes after merge
      ndb/src/mgmsrv/main.cpp:
        after merge fix
      ndb/tools/ndb_test_platform.cpp:
        removed compiler warnings
      regex/main.c:
        remove compiler warnings
      sql/field.cc:
        Remove compiler warning
      sql/gen_lex_hash.cc:
        Added DBUG support
      sql/ha_myisam.cc:
        Removed warning from valgrind
      sql/ha_ndbcluster.cc:
        Remove compiler warning
      sql/item_cmpfunc.cc:
        Better to use val_int() instead of val_real() as we don't want Item_func_nop_all to return different value than the original ref element
      sql/mysqld.cc:
        Remove compiler warning
      sql/sql_acl.cc:
        More debugging
      sql/sql_lex.cc:
        Remove unnecessary 'else'
      sql/sql_parse.cc:
        After merge fixes
        Simplify reset of thd->server_status for SQLCOM_CALL
      sql/sql_prepare.cc:
        After merge fixes
        Removed possible core dump in mysql_stmt_fetch()
      sql/sql_update.cc:
        After merge fixes (together with Sanja)
      strings/ctype-czech.c:
        Remove compiler warning
      strings/ctype-ucs2.c:
        Remove compiler warning
      strings/ctype-win1250ch.c:
        Remove compiler warning
      strings/xml.c:
        Remove compiler warning
      tests/client_test.c:
        Fix test to work with 5.0
      vio/test-sslserver.c:
        Portability fix
      2e8d13c7
    • unknown's avatar
      Merged fixes for bug #7297 "Two digit year should be interpreted · 0e302f5e
      unknown authored
      correctly even with zero month and day" and bug #7515 "from_unixtime(0)
      now returns NULL instead of the Epoch" into 4.1 tree.
      
      
      mysql-test/r/ps_2myisam.result:
        Updated test result after merging fix for bug #7297 "Two digit year should
        be interpreted correctly even with zero month and day" into 4.1
      mysql-test/r/ps_3innodb.result:
        Updated test result after merging fix for bug #7297 "Two digit year should
        be interpreted correctly even with zero month and day" into 4.1
      mysql-test/r/ps_4heap.result:
        Updated test result after merging fix for bug #7297 "Two digit year should
        be interpreted correctly even with zero month and day" into 4.1
      mysql-test/r/ps_5merge.result:
        Updated test result after merging fix for bug #7297 "Two digit year should
        be interpreted correctly even with zero month and day" into 4.1
      mysql-test/r/ps_6bdb.result:
        Updated test result after merging fix for bug #7297 "Two digit year should
        be interpreted correctly even with zero month and day" into 4.1
      mysql-test/r/ps_7ndb.result:
        Updated test result after merging fix for bug #7297 "Two digit year should
        be interpreted correctly even with zero month and day" into 4.1
      sql-common/my_time.c:
        Merged fix for bug #7297 "Two digit year should be interpreted correctly
        even with zero month and day" into 4.1
      sql/item_timefunc.cc:
        Small fix after merging patch solving bug #7515 "from_unixtime(0) now
        returns NULL instead of the Epoch" into 4.1.
      0e302f5e
  24. 17 Dec, 2004 1 commit
    • unknown's avatar
      The BIT patch by ramil causes that the old data type BIT is no · 31c7faac
      unknown authored
      longer available for most storage engines.
      Therefore column c18 BIT is switched TINYINT .
      
      
      mysql-test/include/ps_conv.inc:
        updated comment
      mysql-test/include/ps_create.inc:
        replaced the data type bit with tinyint
      mysql-test/r/ps_1general.result:
        updated results
      mysql-test/r/ps_2myisam.result:
        updated results
      mysql-test/r/ps_3innodb.result:
        updated results
      mysql-test/r/ps_4heap.result:
        updated results
      mysql-test/r/ps_5merge.result:
        updated results
      mysql-test/r/ps_6bdb.result:
        updated results
      mysql-test/r/ps_7ndb.result:
        updated results
      mysql-test/t/ps_4heap.test:
        replaced the data type bit with tinyint
      mysql-test/t/ps_5merge.test:
        replaced the data type bit with tinyint
      31c7faac
  25. 13 Dec, 2004 1 commit
    • unknown's avatar
      Small bug fix · bd8f96f7
      unknown authored
      ps-modify1 used the user variables @1, @2, @100 set within ps_query and 
                 ps_modify. That architecture was wrong, because the dependence
                 of ps_modify1 on ps_query and ps_modify makes the test script
                 maintenance and the use of these test cases during bug fixing/
                 debugging of single sub test cases very uncomfortable.
      Therefore these user variables (@1, @2, @100) are also set within ps-modify1.
      
      The result files of the test cases ps_2myisam, ps_3innodb, ps_4heap, ps_6bdb,
      ps_7ndb will be affected by that change and show 3 additional lines, but
      nothing else will change.    
      
      
      mysql-test/include/ps_modify1.inc:
        Initialization of three user variables, with values derived from ps_query
        and ps_modify
      mysql-test/r/ps_2myisam.result:
        updated result set
      mysql-test/r/ps_3innodb.result:
        updated result set
      mysql-test/r/ps_4heap.result:
        updated result sset
      mysql-test/r/ps_6bdb.result:
        updated result set
      mysql-test/r/ps_7ndb.result:
        updated result set
      bd8f96f7
  26. 08 Dec, 2004 1 commit
  27. 07 Dec, 2004 1 commit
    • unknown's avatar
      Update results for new varchar handling · 9ca50fe1
      unknown authored
      Fixed compiler warnings
      String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      
      
      myisam/myisampack.c:
        Indentation cleanup
      mysql-test/r/analyse.result:
        Update results for new varchar handling
      mysql-test/r/case.result:
        Update results for new varchar handling
      mysql-test/r/cast.result:
        Update results for new varchar handling
      mysql-test/r/create.result:
        Update results for new varchar handling
      mysql-test/r/ctype_mb.result:
        Update results for new varchar handling
      mysql-test/r/ctype_ucs.result:
        Update results for new varchar handling
      mysql-test/r/ctype_utf8.result:
        Update results for new varchar handling
      mysql-test/r/func_group.result:
        Update results for new varchar handling
      mysql-test/r/func_str.result:
        Update results for new varchar handling
      mysql-test/r/func_system.result:
        Update results for new varchar handling
      mysql-test/r/heap.result:
        Update results for new varchar handling
      mysql-test/r/heap_hash.result:
        Update results for new varchar handling
      mysql-test/r/information_schema.result:
        Update results for new varchar handling
      mysql-test/r/metadata.result:
        Update results for new varchar handling
      mysql-test/r/null.result:
        Update results for new varchar handling
      mysql-test/r/ps_2myisam.result:
        Update results for new varchar handling
      mysql-test/r/ps_3innodb.result:
        Update results for new varchar handling
      mysql-test/r/ps_4heap.result:
        Update results for new varchar handling
      mysql-test/r/ps_5merge.result:
        Update results for new varchar handling
      mysql-test/r/ps_6bdb.result:
        Update results for new varchar handling
      mysql-test/r/subselect.result:
        Update results for new varchar handling
      mysql-test/r/type_ranges.result:
        Update results for new varchar handling
      mysql-test/r/union.result:
        Update results for new varchar handling
      mysql-test/t/heap.test:
        Update results for new varchar handling
      mysql-test/t/type_ranges.test:
        Added extra test to test generated type for string functions
      sql/field.cc:
        Update results for new varchar handling
      sql/field.h:
        Update results for new varchar handling
        We have to use orig_table instead of table as 'table' may point to a new field in the created table
      sql/field_conv.cc:
        Update results for new varchar handling
      sql/ha_heap.cc:
        Indentation fixes
      sql/ha_innodb.cc:
        Update results for new varchar handling
      sql/item.cc:
        Update results for new varchar handling
        Remove compiler warnings
        String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      sql/item.h:
        Update results for new varchar handling
      sql/item_func.cc:
        Update results for new varchar handling
        String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      sql/item_func.h:
        ANALYZE now return VARCHAR columns
      sql/procedure.h:
        Update results for new varchar handling
      sql/sql_acl.cc:
        After merge fixes
      sql/sql_select.cc:
        Update results for new varchar handling
        String results in temporary tables are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      sql/sql_show.cc:
        After merge fixes
      sql/sql_table.cc:
        After merge fixes
      strings/ctype-tis620.c:
        After merge fixes
      tests/client_test.c:
        Fixed results, as in MySQL 5.0 strings in CREATE ... SELECT are creates VARCHAR columns
      9ca50fe1
  28. 06 Dec, 2004 2 commits
    • unknown's avatar
      21f2d3aa
    • unknown's avatar
      Add support for up to VARCHAR (size up to 65535) · a8ea31fa
      unknown authored
      Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
      Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
      Added support for VARCHAR KEYS to heap
      Removed support for ISAM
      Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
      Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
      
      
      BitKeeper/deleted/.del-ha_isam.cc~4dce65904db2675e:
        Delete: sql/ha_isam.cc
      BitKeeper/deleted/.del-_cache.c~b5d80b5c3ae233b1:
        Delete: isam/_cache.c
      BitKeeper/deleted/.del-_dbug.c~88d7964ae5e3c9bd:
        Delete: isam/_dbug.c
      BitKeeper/deleted/.del-_dynrec.c~48dd758f5a5450df:
        Delete: isam/_dynrec.c
      BitKeeper/deleted/.del-_key.c~ce62d47a6c681084:
        Delete: isam/_key.c
      BitKeeper/deleted/.del-_locking.c~dea4cdc6ea425c67:
        Delete: isam/_locking.c
      BitKeeper/deleted/.del-_packrec.c~47ae1b16c007e9be:
        Delete: isam/_packrec.c
      BitKeeper/deleted/.del-_page.c~148b1a613d052ee8:
        Delete: isam/_page.c
      BitKeeper/deleted/.del-_search.c~f509292aa1ff18ff:
        Delete: isam/_search.c
      BitKeeper/deleted/.del-_statrec.c~58d9263b3475d58b:
        Delete: isam/_statrec.c
      BitKeeper/deleted/.del-changed.c~d075de80a314b02d:
        Delete: isam/changed.c
      BitKeeper/deleted/.del-close.c~fd62629496ee5bcc:
        Delete: isam/close.c
      BitKeeper/deleted/.del-create.c~96cecc433c0c2242:
        Delete: isam/create.c
      BitKeeper/deleted/.del-delete.c~65ee8daaa75a14b6:
        Delete: isam/delete.c
      BitKeeper/deleted/.del-extra.c~706f29d72beb2565:
        Delete: isam/extra.c
      BitKeeper/deleted/.del-info.c~96cfb747af8da0d:
        Delete: isam/info.c
      BitKeeper/deleted/.del-isamchk.c~c0f59c2687d2248f:
        Delete: isam/isamchk.c
      BitKeeper/deleted/.del-isamlog.c~85b6b31c6e2b8519:
        Delete: isam/isamlog.c
      BitKeeper/deleted/.del-log.c~55a973013d55cade:
        Delete: isam/log.c
      BitKeeper/deleted/.del-open.c~95b3b75042fae00a:
        Delete: isam/open.c
      BitKeeper/deleted/.del-pack_isam.c~43801f0df7504834:
        Delete: isam/pack_isam.c
      BitKeeper/deleted/.del-panic.c~f7fd71605324f8f3:
        Delete: isam/panic.c
      BitKeeper/deleted/.del-range.c~142f1f8ac4948082:
        Delete: isam/range.c
      BitKeeper/deleted/.del-rfirst.c~66f494291dc005d3:
        Delete: isam/rfirst.c
      BitKeeper/deleted/.del-rkey.c~cc54c6498352f999:
        Delete: isam/rkey.c
      BitKeeper/deleted/.del-rlast.c~d1fe1866139e9866:
        Delete: isam/rlast.c
      BitKeeper/deleted/.del-rnext.c~b308eaa1e11ea7de:
        Delete: isam/rnext.c
      BitKeeper/deleted/.del-rprev.c~b359f71fdea4bbce:
        Delete: isam/rprev.c
      BitKeeper/deleted/.del-rrnd.c~7fcfcce88d4a5200:
        Delete: isam/rrnd.c
      BitKeeper/deleted/.del-rsame.c~75a62d5548103a15:
        Delete: isam/rsame.c
      BitKeeper/deleted/.del-rsamepos.c~5b5652dd2cda6d5d:
        Delete: isam/rsamepos.c
      BitKeeper/deleted/.del-sort.c~e2e56b5a37ce86f4:
        Delete: isam/sort.c
      BitKeeper/deleted/.del-static.c~3a1354b84f4a9cc7:
        Delete: isam/static.c
      BitKeeper/deleted/.del-test1.c~64d52e9412d457ed:
        Delete: isam/test1.c
      BitKeeper/deleted/.del-test2.c~2f9a632cab572958:
        Delete: isam/test2.c
      BitKeeper/deleted/.del-test3.c~e8a7a4afe8a087:
        Delete: isam/test3.c
      BitKeeper/deleted/.del-isamdef.h~ac8d49e7e2201c66:
        Delete: isam/isamdef.h
      BitKeeper/deleted/.del-update.c~670264f51dc44934:
        Delete: isam/update.c
      BitKeeper/deleted/.del-write.c~8f1918b1f6770e54:
        Delete: isam/write.c
      BitKeeper/deleted/.del-Makefile.am~6cfa0db5e7778d09:
        Delete: isam/Makefile.am
      BitKeeper/deleted/.del-make-ccc~3ee55391eda0b0ab:
        Delete: isam/make-ccc
      BitKeeper/deleted/.del-ChangeLog~208984fb7a51e568:
        Delete: isam/ChangeLog
      BitKeeper/deleted/.del-test_all.res~c2aafb49a3a77db7:
        Delete: isam/test_all.res
      BitKeeper/deleted/.del-test_all~93c701e44a9c5b65:
        Delete: isam/test_all
      BitKeeper/deleted/.del-.cvsignore~54f6f0f2d5012561:
        Delete: isam/.cvsignore
      BitKeeper/deleted/.del-ha_isammrg.cc~dc682e4755d77a2e:
        Delete: sql/ha_isammrg.cc
      BitKeeper/deleted/.del-ha_isam.h~bf53d533be3d3927:
        Delete: sql/ha_isam.h
      BitKeeper/deleted/.del-ha_isammrg.h~66fd2e5bfe7207dc:
        Delete: sql/ha_isammrg.h
      acinclude.m4:
        Remove ISAM
      client/mysqldump.c:
        FIELD_TYPE -> MYSQL_TYPE
      client/mysqltest.c:
        Add missing DBUG_RETURN
      configure.in:
        Remove ISAM
      heap/heapdef.h:
        Add support for VARCHAR
      heap/hp_create.c:
        Add support for VARCHAR
      heap/hp_delete.c:
        Add support for VARCHAR
      heap/hp_hash.c:
        Add support for VARCHAR
        (VARCHAR keys was not supported before)
      heap/hp_rkey.c:
        Add support for VARCHAR
      heap/hp_update.c:
        Add support for VARCHAR
      heap/hp_write.c:
        Add support for VARCHAR
        (Added flag SEARCH_UPDATE to mark that this is an update)
      include/decimal.h:
        Remove not needed my_global.h
      include/m_ctype.h:
        Add support for VARCHAR
      include/my_base.h:
        Add support for VARCHAR
      include/my_handler.h:
        Moved general purpose macro from MyISAM code
      include/mysql_com.h:
        Add support for VARCHAR
      libmysql/libmysql.c:
        Add support for VARCHAR
      libmysqld/Makefile.am:
        Removed ISAM
      myisam/ft_static.c:
        Add support for VARCHAR
      myisam/ft_test1.c:
        Add support for VARCHAR
      myisam/ft_update.c:
        Add support for VARCHAR
      myisam/mi_check.c:
        Add support for VARCHAR
      myisam/mi_create.c:
        Add support for VARCHAR
        - VARCHAR key segments are marked with HA_VAR_LENGTH_PART
      myisam/mi_key.c:
        Add support for VARCHAR
        Fixed bug in old VARCHAR code when reading index-only
      myisam/mi_range.c:
        Fixed comment style
      myisam/mi_rnext_same.c:
        Handle case where equal keys can be of different length
      myisam/mi_search.c:
        Add support for VARCHAR
      myisam/mi_test1.c:
        Add support for VARCHAR
      myisam/mi_unique.c:
        Add support for VARCHAR
        (Some new code to handle keys that are equal but have different lengths)
      myisam/mi_write.c:
        Fixed comment
      myisam/myisamchk.c:
        Better infotext if wrong type
      mysql-test/r/bdb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/create.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ctype_tis620.result:
        Updated old result and new results for VARCHAR
        (Old code sorted tis620 wrong)
      mysql-test/r/ctype_ucs.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/endspace.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/func_like.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/heap.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/innodb.result:
        Updated old result. This will change a bit when also InnoDB supports VARCHAR
      mysql-test/r/merge.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/myisam.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/mysqldump.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/order_by.result:
        Updated old result and new results for VARCHAR
        (Key length is different for VARCHAR)
      mysql-test/r/ps.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_1general.result:
        Updated results for new .frm version
        Don't print seconds in show full process list as this may change
      mysql-test/r/ps_2myisam.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_3innodb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_4heap.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_5merge.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_6bdb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/select.result.es:
        Updated results by hand
      mysql-test/r/select.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/select_found.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/show_check.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/strict.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/subselect.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/system_mysql_db.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_blob.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_ranges.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_ranges.result.es:
        Updated some results by hand
      mysql-test/t/bdb.test:
        Test VARCHAR
      mysql-test/t/ctype_ucs.test:
        Some fixes related to VARCHAR
      mysql-test/t/endspace.test:
        Fixes to make it easier to compare columns with end space
      mysql-test/t/heap.test:
        Test VARCHAR
      mysql-test/t/innodb.test:
        Prepare for testing VARCHAR
      mysql-test/t/myisam.test:
        Test VARCHAR
      mysql-test/t/ps_1general.test:
        Don't show seconds for show processlist
      mysql-test/t/ps_4heap.test:
        Update for VARCHAR
      mysql-test/t/strict.test:
        Fix test for VARCHAR
      mysql-test/t/type_blob.test:
        Update test for VARCHAR
        Note that now you can't store 'a' and 'a ' in an unique varchar/text index if the column is not binary
      mysys/my_handler.c:
        Add support for VARCHAR
      ndb/src/common/util/NdbSqlUtil.cpp:
        Fix for usage of strnncollsp
      scripts/mysql_fix_privilege_tables.sh:
        Simple fix so that my_print_defaults works
      sql/Makefile.am:
        Remove ISAM
      sql/field.cc:
        Add support for VARCHAR
        Fixed the keys for blob's are compared with strnncollsp
        Ensure that old tables from MySQL 4.0 works as they did before.
        (Old VARCHAR will be converted to new VARCHAR on ALTER TABLE)
      sql/field.h:
        Add support for VARCHAR
      sql/field_conv.cc:
        Change FIELD_TYPE_VAR_STRING -> MYSQL_TYPE_VARCHAR
        Added usage of HA_KEY_BLOB_LENGTH
      sql/ha_berkeley.cc:
        Add support for VARCHAR
        Added usage of table->insert_or_update if we would ever want to know in key_cmp if we are changing keys
      sql/ha_heap.cc:
        Add support for VARCHAR
      sql/ha_innodb.cc:
        Changed MYSQL_TYPE_VAR_STRING to MYSQL_TYPE_VARCHAR.
        Waiting for Heikki to add full VARCHAR support
      sql/ha_innodb.h:
        InnoDB doesn't support full VARCHAR yet
      sql/ha_myisam.cc:
        Add support for VARCHAR
      sql/ha_ndbcluster.cc:
        Add support for VARCHAR
      sql/handler.h:
        Added HA_NO_VARCHAR for table handler that doesn't support VARCHAR. In this case MySQL will create a normal CHAR instead
      sql/item.cc:
        Fixed access of already freed memory
        Added support of VARCHAR
        - varchar length is now checked in mysql_prepare
      sql/item_cmpfunc.cc:
        Added new parameter to strncollsp
      sql/item_sum.cc:
        Added new parameter to strncollsp
        FIELD_TYPE -> MYSQL_TYPE
      sql/key.cc:
        Add support for VARCHAR
      sql/opt_range.cc:
        Remove character set parameter from set_key_image()
      sql/opt_sum.cc:
        Remove character set parameter from set_key_image()
      sql/protocol.cc:
        Return MYSQL_TYPE_VAR_STRING instead of MYSQL_TYPE_VARCHAR to clients (to not cause compatiblity problems)
      sql/sql_acl.cc:
        Change key handling code so that we can use CHAR or VARCHAR for the user table columns
      sql/sql_base.cc:
        Remove old, not used code
      sql/sql_help.cc:
        Remove charset from get_key_image
      sql/sql_parse.cc:
        Ensure that OPTION_TABLE_LOCK is cleared ASAP; This fixed a problem in BDB transaction code when one used LOCK TABLES on a BDB table
        Added support for VARCHAR
        Moved field length checking and VARCHAR -> TEXT convert to mysql_prepare (as we need the know the character set for the column)
      sql/sql_select.cc:
        Added support of VARCHAR
        Added heuristic to use fixed size rows for tmp tables if we are using only a few short VARCHAR's
      sql/sql_string.cc:
        Added extra argument to strnncollsp
      sql/sql_table.cc:
        Add support for VARCHAR
        Automaticly convert (with warning) big VARCHAR (but not CHAR) to TEXT
        If handler doesn't support VARCHAR convert VARCHAR to CHAR
      sql/sql_update.cc:
        Fixed compiler warning
      sql/sql_yacc.yy:
        Add support for VARCHAR
      sql/strfunc.cc:
        Fixed valgrind warning
      sql/structs.h:
        Added 'table' to KEY structure to make life easier for some handler functions
      sql/table.cc:
        Add support for VARCHAR
        - New .frm version
        - FIELD_TYPE -> MYSQL_TYPE
      sql/table.h:
        Added insert_or_update; A bool flag a handler can set/reset if needed (for handler internal usage)
      sql/unireg.h:
        Add support for VARCHAR
      strings/ctype-big5.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-bin.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-czech.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-gbk.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-latin1.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-mb.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-simple.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-sjis.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-tis620.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-uca.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-ucs2.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-utf8.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-win1250ch.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/decimal.c:
        Fixed include files usage
        Fixed some compiler warnings
      tests/client_test.c:
        Ensure tests works with VARCHAR
      a8ea31fa
  29. 10 Nov, 2004 1 commit
    • unknown's avatar
      1. When mixing NULL to a character string, · c5e6941e
      unknown authored
      the result takes its charset/collation
      attributes from the character string,
      e.g.  SELECT func(NULL, _latin2'string')
      now returns a latin2 result. This is
      done by introducing a new derivation
      (aka coercibility) level DERIVATION_IGNORABLE,
      which is used with Item_null.
      2. 'Pure' NULL is now BINARY(0), not CHAR(0).
      I.e. NULL is now more typeless.
      
      
      mysql-test/r/metadata.result:
        Fixing test results:
        CHAR(0) -> BINARY(0) for NULLs
      mysql-test/r/null.result:
        Testing mixing NULL with a character string with a number of functions.
      mysql-test/r/ps_2myisam.result:
        Fixing test results:
        CHAR(0) -> BINARY(0) for NULLs
      mysql-test/r/ps_3innodb.result:
        Fixing test results:
        CHAR(0) -> BINARY(0) for NULLs
      mysql-test/r/ps_4heap.result:
        Fixing test results:
        CHAR(0) -> BINARY(0) for NULLs
      mysql-test/r/ps_5merge.result:
        Fixing test results:
        CHAR(0) -> BINARY(0) for NULLs
      mysql-test/r/ps_6bdb.result:
        Fixing test results:
        CHAR(0) -> BINARY(0) for NULLs
      mysql-test/r/ps_7ndb.result:
        Fixing test results:
        CHAR(0) -> BINARY(0) for NULLs
      mysql-test/t/null.test:
        Testing mixing NULL with a character string with a number of functions.
      sql/item.cc:
        New derivation level.
      sql/item.h:
        New derivation level.
      c5e6941e
  30. 05 Nov, 2004 1 commit
    • unknown's avatar
      As it is wrong and confusing to associate any · aee1e78a
      unknown authored
      character set with NULL, @A should be latin2
      after this query sequence:
      
         SET @A=_latin2'string';
         SET @A=NULL;
      
      I.e. the second query should not change the charset
      to the current default value, but should keep the
      original value assigned during the first query.
      In order to do it, we don't copy charset
      from the argument if the argument is NULL
      and the variable has previously been initialized.
      
      
      mysql-test/r/ps_6bdb.result:
        t
      mysql-test/r/ps_5merge.result:
        t
      mysql-test/r/ps_3innodb.result:
        t
      mysql-test/r/ps_7ndb.result:
        t
      mysql-test/r/ps_4heap.result:
        t
      mysql-test/r/ps_2myisam.result:
        t
      sql/item_func.cc:
        t
      aee1e78a
  31. 03 Nov, 2004 1 commit
    • unknown's avatar
      Fixes after merge with 4.1 · f5a47f15
      unknown authored
      FOUND is not a reserved keyword anymore
      Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
      Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
      Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete
      
      
      BUILD/SETUP.sh:
        Portability fix
      client/mysqltest.c:
        Portability fix
      mysql-test/r/drop.result:
        updated results
      mysql-test/r/func_str.result:
        New warnings (after merge)
      mysql-test/r/insert.result:
        Updated tests
      mysql-test/r/join_nested.result:
        Updated results (because of new column types in 5.0)
      mysql-test/r/lock_multi.result:
        Temporarly wrong results until Sanja fixes multi-update-lock in 5.0
      mysql-test/r/multi_update.result:
        Temporary fix until Sanja fixes multi-update locking
      mysql-test/r/ps_1general.result:
        Update of results after merge
      mysql-test/r/ps_2myisam.result:
        Update of results after merge
      mysql-test/r/ps_3innodb.result:
        Update of results after merge
      mysql-test/r/ps_4heap.result:
        Update of results after merge
      mysql-test/r/ps_5merge.result:
        Update of results after merge
      mysql-test/r/ps_6bdb.result:
        Update of results after merge
      mysql-test/r/query_cache.result:
        Update of results after merge
      mysql-test/r/range.result:
        New results for new tests
      mysql-test/r/rpl_auto_increment.result:
        Update with new 4.0 information
      mysql-test/r/rpl_charset.result:
        After merge fixes
      mysql-test/r/subselect.result:
        After merge fixes
      mysql-test/r/view.result:
        Temporary fix until multi-update-locking is fixed
      mysql-test/t/drop.test:
        Safety fix
      mysql-test/t/multi_update.test:
        Temporary fix until multi-update-locking is fixed
      mysql-test/t/rpl_charset.test:
        More comments
      mysql-test/t/sp-error.test:
        Updated comments
      mysql-test/t/view.test:
        Temporary fix until multi-update-locking is fixed
      scripts/mysql_fix_privilege_tables.sh:
        Better error message
      sql-common/client.c:
        More debugging
      sql/ha_ndbcluster.cc:
        After merge fixes
      sql/handler.cc:
        After merge fixes
      sql/item.cc:
        Simple optimization of creating item
        After merge fixed
        Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
        The problem is that if you compare a string field to a binary string, you can't replace the field with a string constant as the binary comparison may then fail (The original field value may be in a different case)
      sql/item.h:
        Added Item::set_no_const_sub() to be able to mark fields that can't be substituted
      sql/item_cmpfunc.cc:
        Mark fields compared as binary to not be substituted.
      sql/item_func.cc:
        After merge fix
      sql/log_event.cc:
        After merge fix
      sql/mysql_priv.h:
        After merge fix
      sql/opt_range.cc:
        After merge fix
      sql/protocol.cc:
        Made flags uint instead of int (as it's used as a bit mask)
      sql/protocol.h:
        Made flags uint instead of int (as it's used as a bit mask)
      sql/protocol_cursor.cc:
        Made flags uint instead of int (as it's used as a bit mask)
        Indentation cleanups
      sql/sp.cc:
        After merge fixes
        Removed compiler warnings
      sql/sp_head.cc:
        After merge fixes
      sql/sql_base.cc:
        After merge fixes
        Removed 'send_error' from 'insert_fields()' as the error is sent higher up
      sql/sql_class.cc:
        Give assert if set_n_backup_item_arena is used twice
      sql/sql_class.h:
        Give assert if set_n_backup_item_arena is used twice
        After merge fixes
        Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
      sql/sql_handler.cc:
        After merge fixes
      sql/sql_parse.cc:
        After merge fixes
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
        Moved 'build_equal_items' to optimize_cond() (logical place)
      sql/sql_table.cc:
        After merge fixes
      sql/sql_trigger.cc:
        After merge fixes
      sql/sql_update.cc:
        After merge fixes
        (This should be fixed by Sanja to have lower granuality locking of tables in multi-update)
      sql/sql_view.cc:
        After merge fixes
      sql/sql_yacc.yy:
        After merge fixes
        Don't have FOUND as a reserved keyword
      f5a47f15
  32. 30 Oct, 2004 1 commit
    • unknown's avatar
      Enable REPLACE ... SELECT in prepared statements. · d46c7366
      unknown authored
      mysql-test/include/ps_modify.inc:
        replace ... select now works.
      mysql-test/r/ps_2myisam.result:
        replace ... select now works.
      mysql-test/r/ps_3innodb.result:
        replace ... select now works.
      mysql-test/r/ps_4heap.result:
        replace ... select now works.
      mysql-test/r/ps_5merge.result:
        replace ... select now works.
      mysql-test/r/ps_6bdb.result:
        replace ... select now works.
      mysql-test/r/ps_7ndb.result:
        replace ... select now works.
      mysql-test/t/ps_7ndb.test:
        replace ... select now works.
      sql/sql_prepare.cc:
        Enable SQLCOM_REPLACE_SELECT: no need for any code changes but
        enable this SQLCOM in the switch.
      d46c7366
  33. 11 Oct, 2004 1 commit
  34. 07 Oct, 2004 2 commits