1. 25 Oct, 2006 1 commit
    • unknown's avatar
      bug #19491 (CAST do DATETIME wrong result) · 8361922e
      unknown authored
      mysql-test/r/type_datetime.result:
        result fixed
      mysql-test/r/type_newdecimal.result:
        result fixed
      mysql-test/t/type_datetime.test:
        testcase
      mysql-test/t/type_newdecimal.test:
        testcase
      sql/field.cc:
        Field_new_decimal::store_time implemented
      sql/field.h:
        Field_new_decimal::store_time added
      sql/item.cc:
        auxiliary methods implemented to operate with datatimes
      sql/item.h:
        auxiliary methods declared in Item to operate with datatimes
      sql/item_timefunc.cc:
        Item_date::save_in_field old implementation removed
      sql/item_timefunc.h:
        my_decimal and save_in_field methods implemented for datetime items
      sql/my_decimal.cc:
        date2my_decimal implemented
      sql/my_decimal.h:
        date2my_decimal declared
      8361922e
  2. 20 Sep, 2006 1 commit
    • unknown's avatar
      Fixed bug #20108. · 4017a533
      unknown authored
      Any default value for a enum fields over UCS2 charsets was corrupted
      when we put it into the frm file, as it had been overwritten by its
      HEX representation.
      To fix it now we save a copy of structure that represents the enum
      type and when putting the default values we use this copy. 
      
      
      mysql-test/r/ctype_ucs.result:
        Added a test case for bug #20108.
      mysql-test/t/ctype_ucs.test:
        Added a test case for bug #20108.
      4017a533
  3. 15 Aug, 2006 1 commit
  4. 14 Aug, 2006 1 commit
    • unknown's avatar
      Fix for bug#20648 We introduce a new field method for knowing "real size", and... · 60861521
      unknown authored
      Fix for bug#20648 We introduce a new field method for knowing "real size", and we now in archive null unused bits of a row to null before writing. 
      
      
      sql/field.cc:
        data_length for field needs to be calculated directly.
      sql/field.h:
        The new method data_length() returns the "real" length of the field.
      sql/ha_archive.cc:
        Before a write_row() archive nulls space beyond the size of the row in varchars to make sure that compression only sees NULL.
      60861521
  5. 22 Jul, 2006 1 commit
    • unknown's avatar
      field.h: · 9e5d47e5
      unknown authored
        Fixed typo.
      
      
      sql/field.h:
        Fixed typo.
      9e5d47e5
  6. 21 Jul, 2006 1 commit
    • unknown's avatar
      Fixed bug#12185: Data type aggregation may produce wrong result · a05809b6
      unknown authored
      The Item::tmp_table_field_from_field_type() function creates Field_datetime
      object instead of Field_timestamp object for timestamp field thus always
      changing data type is a tmp table is used.
      
      The Field_blob object constructor which is used in the 
      Item::tmp_table_field_from_field_type() is always setting packlength field of
      newly created blob to 4. This leads to changing fields data type for example
      from the blob to the longblob if a temporary table is used.
      
      The Item::make_string_field() function always converts Field_string objects 
      to Field_varstring objects. This leads to changing data type from the 
      char/binary to varchar/varbinary.
      
      Added appropriate Field_timestamp object constructor for using in the 
      Item::tmp_table_field_from_field_type() function.
      
      Added Field_blob object constructor which sets pack length according to
      max_length argument.
      
      The Item::tmp_table_field_from_field_type() function now creates
      Field_timestamp object for a timestamp field.
      
      The Item_type_holder::display_length() now returns correct NULL length NULL
      length. 
      
      The Item::make_string_field() function now doesn't change Field_string to
      Field_varstring in the case of Item_type_holder. 
      
      The Item::tmp_table_field_from_field_type() function now uses the Field_blob
      constructor which sets packlength according to max_length.
      
      
      mysql-test/t/union.test:
        Added test case for bug#12185: Data type aggregation may produce wrong result
        Corrected test case after fix for bug#12185
      mysql-test/t/innodb.test:
        Corrected test case after fix for bug#12185
      mysql-test/r/union.result:
        Added test case for bug#12185: Data type aggregation may produce wrong result
         Corrected test case after fix for bug#12185
      mysql-test/r/innodb.result:
        Corrected test case after fix for bug#12185
      mysql-test/r/create.result:
        Corrected the test case after fixing bug#12185
      sql/field.h:
        Fixed bug#12185: Data type aggregation may produce wrong result
        Added Field_blob object constructor which sets packlength according to
        max_length argument.
      sql/item.cc:
        Fixed bug#12185: Data type aggregation may produce wrong result
        The Item::make_string_field() function now doesn't change Field_string to
        Field_varstring in the case of Item_type_holder.
        The Item::tmp_table_field_from_field_type() function now creates
        Field_timestamp object for a timestamp field.
        The Item::tmp_table_field_from_field_type() function now uses the Field_blob
        constructor which sets packlength according to max_length.
        The Item_type_holder::display_length() now returns correct NULL length NULL
        length.
      sql/field.cc:
        Fixed bug#12185: Data type aggregation may produce wrong result
        Added appropriate Field_timestamp object constructor for using in the 
        Item::tmp_table_field_from_field_type() function.
      a05809b6
  7. 19 Jul, 2006 1 commit
    • unknown's avatar
      Bug #21135 Crash in test "func_time" · 0794dc71
      unknown authored
       - backport patch from 5.0
       - "table" can be NULL in temporary fields used for type conversion
      
      
      sql/field.cc:
        table can be NULL in temporary fields used for type conversion.
        Store value in field as if db_low_byte_first was set.
      sql/field.h:
        table can be NULL in temporary fields used for type conversion.
        Store value in field as if db_low_byte_first was set.
      0794dc71
  8. 12 Jul, 2006 1 commit
    • unknown's avatar
      Bug #17608: String literals lost during INSERT query on FEDERATED table · 1f36d330
      unknown authored
        The Federated storage engine used Field methods that had arbitrary limits on
        the amount of data they could process, which caused problems with data
        over that limit (4K). By removing those Field methods and just using
        features of the String class, we can avoid this problem.
      
      
      mysql-test/r/federated.result:
        Add new results
      mysql-test/t/federated.test:
        Add new regression test
      sql/field.cc:
        Remove unnecessary methods
      sql/field.h:
        Remove unnecessary methods
      sql/ha_federated.cc:
        Remove use of quote_data, use String::print() to get escaping of strings,
        and don't bother with needs_quotes, just always quote values.
      1f36d330
  9. 26 Jun, 2006 1 commit
    • unknown's avatar
      Bug#16218 - Crash on insert delayed · 27fb95bc
      unknown authored
      Bug#17294 - INSERT DELAYED puting an \n before data
      Bug#16611 - INSERT DELAYED corrupts data
      Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
      Combined as Bug#16218.
      
      INSERT DELAYED crashed in 5.0 on a table with a varchar that 
      could be NULL and was created pre-5.0 (Bugs 16218 and 13707).
      INSERT DELAYED corrupted data in 5.0 on a table with varchar 
      fields that was created pre-5.0 (Bugs 17294 and 16611).
      
      In case of INSERT DELAYED the open table is copied from the
      delayed insert thread to be able to create a record for the 
      queue. When copying the fields, a method was used that did 
      convert old varchar to new varchar fields and did not set up 
      some pointers into the record buffer of the table.
      
      The field conversion was guilty for the misinterpretation of 
      the record contents by the delayed insert thread. The wrong
      pointer setup was guilty for the crashes.
      
      For Bug 13707 (Server crash with INSERT DELAYED on MyISAM table)
      I fixed the above mentioned method to set up one of the pointers.
      For Bug 16218 I set up the other pointers too.
      
      But when looking at the corruptions I got aware that converting
      the field type was totally wrong for INSERT DELAYED. The copied
      table is used to create a record that is to be sent to the
      delayed insert thread. Of course it can interpret the record
      correctly only if all field types are the same in both table
      objects.
      
      So I revoked the fix for Bug 13707 and changed the new_field() 
      method so that it can suppress conversions.
      
      No test case as this is a migration problem. One needs to
      create a table with 4.x and use it with 5.x. I added two
      test scripts to the bug report.
      
      
      sql/field.cc:
        Bug#16218 - Crash on insert delayed
        Bug#17294 - INSERT DELAYED puting an \n before data
        Bug#16611 - INSERT DELAYED corrupts data
        Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
        Combined as Bug#16218.
        
        Added parameter 'keep_type' to Field::new_field().
        
        Undid the change from Bug 13707 (Server crash with INSERT 
        DELAYED on MyISAM table).
        I solved all four bugs in sql/sql_insert.cc by making exact
        duplicates of the fields. The new_field() method converts
        certain field types, which is wrong for INSERT DELAYED.
      sql/field.h:
        Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
        Combined as Bug#16218.
        
        Added parameter 'keep_type' to Field::new_field().
      sql/sql_insert.cc:
        Bug#16218 - Crash on insert delayed
        Bug#17294 - INSERT DELAYED puting an \n before data
        Bug#16611 - INSERT DELAYED corrupts data
        Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
        Combined as Bug#16218.
        
        Added comments. Made small style fixes.
        Used the new parameter 'keep_type' of Field::new_field()
        to avoid field type conversion. The table copy must have
        exactly the same types of fields as the original table.
        Otherwise the record contents created by the foreground 
        thread could be misinterpreted by the delayed insert thread.
      sql/sql_select.cc:
        Bug#16218 - Crash on insert delayed
        Bug#17294 - INSERT DELAYED puting an \n before data
        Bug#16611 - INSERT DELAYED corrupts data
        Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
        Combined as Bug#16218.
        
        Added parameter 'keep_type' to Field::new_field().
        
        Undid the change from Bug 13707 (Server crash with INSERT 
        DELAYED on MyISAM table).
        I solved all four bugs in sql/sql_insert.cc by making exact
        duplicates of the fields. The new_field() method converts
        certain field types, which is wrong for INSERT DELAYED.
      sql/sql_trigger.cc:
        Bug#16218 - Crash on insert delayed
        Bug#17294 - INSERT DELAYED puting an \n before data
        Bug#16611 - INSERT DELAYED corrupts data
        Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
        Combined as Bug#16218.
        
        Added parameter 'keep_type' to Field::new_field().
        
        Undid the change from Bug 13707 (Server crash with INSERT 
        DELAYED on MyISAM table).
        I solved all four bugs in sql/sql_insert.cc by making exact
        duplicates of the fields. The new_field() method converts
        certain field types, which is wrong for INSERT DELAYED.
      sql/table.cc:
        Bug#16218 - Crash on insert delayed
        Bug#17294 - INSERT DELAYED puting an \n before data
        Bug#16611 - INSERT DELAYED corrupts data
        Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
        Combined as Bug#16218.
        
        Added parameter 'keep_type' to Field::new_field().
        
        Undid the change from Bug 13707 (Server crash with INSERT 
        DELAYED on MyISAM table).
        I solved all four bugs in sql/sql_insert.cc by making exact
        duplicates of the fields. The new_field() method converts
        certain field types, which is wrong for INSERT DELAYED.
      27fb95bc
  10. 20 Jun, 2006 1 commit
    • unknown's avatar
      field.cc, field.h: · 6ddd15ad
      unknown authored
        Additional fix for #16377 for bigendian platforms
      sql_select.cc, select.result, select.test:
        After merge fix
      
      
      mysql-test/t/select.test:
        After merge fix
      mysql-test/r/select.result:
        After merge fix
      sql/sql_select.cc:
        After merge fix
      sql/field.h:
        Additional fix for #16377 for bigendian platforms
      sql/field.cc:
        Additional fix for #16377 for bigendian platforms
      6ddd15ad
  11. 14 Jun, 2006 1 commit
    • unknown's avatar
      Bug #18895: BIT values cause joins to fail · d496b16d
      unknown authored
      The Field::eq() considered instances of Field_bit that differ only in 
      bit_ptr/bit_ofs equal. This caused equality conditions optimization 
      (build_equal_items_for_cond()) to make bad field substitutions that result
      in wrong predicates. 
      Field_bit requires an overloaded eq() function that checks the bit_ptr/bit_ofs
      in addition to Field::eq().
      
      
      mysql-test/r/select.result:
        Bug #18895: BIT values cause joins to fail
        
        - test case
      mysql-test/t/select.test:
        Bug #18895: BIT values cause joins to fail
        
        - test case
      sql/field.h:
        Bug #18895: BIT values cause joins to fail
        
        - eq() method overloaded for Field_bit
      d496b16d
  12. 24 May, 2006 1 commit
    • unknown's avatar
      Remove dflt_field from field structure as this was only needed when createing... · 57f138f7
      unknown authored
      Remove dflt_field from field structure as this was only needed when createing temporary table and I found another soultion that doesn't increase the size of the field structure for all table instances. (Better fix for bug #19089)
      Fixed compiler warnings
      Fixed valgrind warning in Item_date_add_intervall::eq. (Recoding of bugfix #19490)
      
      
      sql/field.cc:
        remove dflt_field from field structure (not needed)
        Simple cleanup of code that been copied elsewhere
      sql/field.h:
        remove dflt_field from field structure (not needed)
      sql/item.h:
        Removed compiler warnings
      sql/item_timefunc.cc:
        Fixed Item_date_add_intervall::eq
        The problem was that when we call 'eq' 'this' is not fixed, which means we can't call const_item() or a value function.
        I fixed this so that we check eq for all arguments and that the sign and type are identical.
        (The original code gave a 'accessing uninitialized data' in valgrind.
      sql/mysql_priv.h:
        Added default fields to create_tmp_field
      sql/sql_insert.cc:
        New default_field parameter to create_tmp_field()
      sql/sql_select.cc:
        New default_field parameter to create_tmp_field()
        Use this in create_tmp_table() to set right default value for a field
      57f138f7
  13. 22 May, 2006 1 commit
    • unknown's avatar
      Post-review fixes for bug #19089 · 9f628bb2
      unknown authored
      mysql-test/r/view.result:
        Post-review fixes.
      sql/field.cc:
        Post-review fixes.
      sql/field.h:
        Post-review fixes.
      sql/sql_select.cc:
        Post-review fixes.
      9f628bb2
  14. 21 May, 2006 1 commit
    • unknown's avatar
      Fixed bug #19089. · 765a7d69
      unknown authored
      When a CREATE TABLE command created a table from a materialized
      view id does not inherit default values from the underlying table.
      Moreover the temporary table used for the view materialization
      does not inherit those default values.
      In the case when the underlying table contained ENUM fields it caused
      misleading error messages. In other cases the created table contained
      wrong default values.
      The code was modified to ensure inheritance of default values for
      materialized views.
      
      
      mysql-test/r/view.result:
        Added a test case for bug #19089.
      mysql-test/t/view.test:
        Added a test case for bug #19089.
      sql/field.cc:
        Fixed bug ##19089.
        Added field dflt_field to the class Field.
        This field is set for temp table fields that inherits
        default values of items from which they are created.
      sql/field.h:
        Fixed bug ##19089.
        Added field dflt_field to the class Field.
        This field is set for temp table fields that inherits
        default values of items from which they are created.
      sql/sql_select.cc:
        Fixed bug #19089.
        When a CREATE TABLE command created a table from a materialized
        view id does not inherit default values from the underlying table.
        Moreover the temporary table used for the view materialization
        does not inherit those default values.
        The code was modified to ensure inheritance of default values for
        materialized views.
      765a7d69
  15. 05 Apr, 2006 2 commits
    • unknown's avatar
      Fixed bug #16281: Multi-table update broken in 5.0 on tables imported from 4.1 · 6c191f7a
      unknown authored
      Mutli-table uses temporary table to store new values for fields. With the
      new values the rowid of the record to be updated is stored in a Field_string
      field. Table to be updated is set as source table of the rowid field.
      But when the temporary table creates the tmp field for the rowid field it
      converts it to a varstring field because the table to be updated was created by
      the v4.1. Due to this the stored rowids were broken and no records for 
      update were found.
      
      The flag can_alter_field_type is added to Field_string class. When it is set to
      0 the field won't be converted to varstring. The Field_string::type() function 
      now always returns MYSQL_TYPE_STRING if can_alter_field_type is set to 0.
      The multi_update::initialize_tables() function now sets can_alter_field_type
      flag to 0 for the rowid fields denying conversion of the field to a varstring
      field.
      
      
      
      sql/field.h:
        Fixed bug #16281: Multi-table update broken in 5.0 on tables imported from 4.1
        The flag can_alter_field_type is added to Field_string class. When it is set to
        0 the field won't be converted to varstring.
        The Field_string::type() function now always returns MYSQL_TYPE_STRING if 
        can_alter_field_type is set to 0.
      sql/sql_update.cc:
        Fixed bug #16281: Multi-table update broken in 5.0 on tables imported from 4.1
        The multi_update::initialize_tables() function now sets can_alter_field_type
        flag to 0 for the rowid fields denying conversion of the field to a varstring
        field.
      6c191f7a
    • unknown's avatar
      Bug #13601: Wrong int type for bit · e13642dc
      unknown authored
        The wrong value was being reported as the field_length for BIT
        fields, resulting in confusion for at least Connector/J. The
        field_length is now always the number of bits in the field, as
        it should be.
      
      
      mysql-test/r/type_bit.result:
        Add new results
      mysql-test/r/type_bit_innodb.result:
        Add new results
      mysql-test/t/type_bit.test:
        Add new regression test
      mysql-test/t/type_bit_innodb.test:
        Add new regression test
      sql/field.cc:
        Fix Field_bit->field_length to actually report the display width, and
        store the bytes stored in the rec in the new bytes_in_rec member.
      sql/field.h:
        Fix Field_bit::field_length to store the correct value, adding
        Field_bit::bytes_in_rec to remember the number of bytes used for
        storing the value. Remove Field_bit_as_char::create_length, as it
        is now redundant.
      sql/ha_ndbcluster.cc:
        Handle field_length of Field_bit actually being the display width (# of bits).
      sql/key.cc:
        Fix inappropriate use of field->field_length for BIT field.
      e13642dc
  16. 29 Mar, 2006 1 commit
  17. 28 Mar, 2006 1 commit
  18. 27 Feb, 2006 1 commit
  19. 21 Feb, 2006 1 commit
    • unknown's avatar
      A fix and a test case for Bug#13134 "Length of VARCHAR() utf8 · d0ad6d90
      unknown authored
      column is increasing when table is recreated with PS/SP":
      make use of create_field::char_length more consistent in the code.
      Reinit create_field::length from create_field::char_length
      for every execution of a prepared statement (actually fixes the 
      bug).
      
      
      mysql-test/r/ps.result:
        Test results fixed (Bug#13134)
      mysql-test/t/ps.test:
        A test case for Bug#13134 "Length of VARCHAR() utf8 column is 
        increasing when table is recreated with PS/SP"
      sql/field.cc:
        Move initialization of create_field::char_length to the constructor
        of create_field.
      sql/field.h:
        Rename chars_length to char_length (to be consistent with
        how this term is used throughout the rest of the code).
      sql/sql_parse.cc:
        Initialize char_length in add_field_to_list. This function
        effectively works as another create_field constructor.
      sql/sql_table.cc:
        Reinit length from char_length for every field in 
        mysql_prepare_table. This is not needed if we're executing
        a statement for the first time, however, at subsequent executions
        length contains the number of bytes, not characters (as it's expected 
        to).
      d0ad6d90
  20. 03 Jan, 2006 1 commit
    • unknown's avatar
      many warnings (practically safe but annoying) corrected · 12e22065
      unknown authored
      client/mysqladmin.cc:
        don't use the handler after it's closed
      client/mysqlbinlog.cc:
        memory leak
      client/mysqldump.c:
        many "ignore return value" warnings, one "NULL dereference"
      cmd-line-utils/libedit/history.c:
        memory leak
      include/my_base.h:
        cleanup
      libmysql/libmysql.c:
        "return value ignored" warning
      myisam/mi_delete.c:
        "return value ignored" warning
      myisam/myisampack.c:
        "out-of-bound access" warning
      myisam/sort.c:
        "double free" warning
      mysys/default_modify.c:
        "double free" warning
      mysys/mf_iocache2.c:
        "return value ignored" warnings
      mysys/my_bitmap.c:
        s/return/DBUG_RETURN/
      mysys/my_error.c:
        memory leak
      server-tools/instance-manager/parse.cc:
        "NULL dereference" warning
      sql-common/client.c:
        "NULL dereference" warning
      sql/field.cc:
        deadcode, "NULL dereference", "uninitialized" warnings
      sql/field.h:
        unused parameters removed from constructor
      sql/ha_myisam.cc:
        "return value ignored" warnings
      sql/item.cc:
        "return value ignored" warnings
        changed constructor
      sql/item_func.cc:
        "return value ignored" warnings
      sql/log_event.cc:
        uninitialized warning
      sql/opt_range.cc:
        "double free" and uninitialized warnings
      sql/opt_range.h:
        "return value ignored" warning
      sql/repl_failsafe.cc:
        "return value ignored" warning
      sql/set_var.cc:
        "return value ignored" warning
      sql/slave.cc:
        "return value ignored" warnings
      sql/slave.h:
        new prototype
      sql/sql_acl.cc:
        deadcode and "NULL dereference" warnings
      sql/sql_db.cc:
        "return value ignored" warning
      sql/sql_handler.cc:
        "NULL dereference" warning
      sql/sql_help.cc:
        "NULL dereference" warning
      sql/sql_insert.cc:
        "return value ignored" warning
      sql/sql_parse.cc:
        "return value ignored" warning
        one more DBUG_ASSERT
      sql/sql_repl.cc:
        "return value ignored" and memory leak warnings
      sql/sql_show.cc:
        "return value ignored" and "NULL dereference"  warnings
      sql/sql_test.cc:
        "return value ignored" warning
      sql/table.cc:
        memory leak
      sql/uniques.cc:
        "return value ignored" warning
        endspaces deleted
      12e22065
  21. 07 Dec, 2005 1 commit
    • unknown's avatar
      Patch for WL#2894: Make stored routine variables work · 66ce27ca
      unknown authored
      according to the standard.
      
      The idea is to use Field-classes to implement stored routines
      variables. Also, we should provide facade to Item-hierarchy
      by Item_field class (it is necessary, since SRVs take part
      in expressions).
      
      The patch fixes the following bugs:
        - BUG#8702: Stored Procedures: No Error/Warning shown for inappropriate data 
          type matching; 
       
        - BUG#8768: Functions: For any unsigned data type, -ve values can be passed 
          and returned; 
       
        - BUG#8769: Functions: For Int datatypes, out of range values can be passed 
          and returned; 
       
        - BUG#9078: STORED PROCDURE: Decimal digits are not displayed when we use 
          DECIMAL datatype; 
       
        - BUG#9572: Stored procedures: variable type declarations ignored; 
       
        - BUG#12903: upper function does not work inside a function; 
       
        - BUG#13705: parameters to stored procedures are not verified; 
       
        - BUG#13808: ENUM type stored procedure parameter accepts non-enumerated
          data; 
       
        - BUG#13909: Varchar Stored Procedure Parameter always BINARY string (ignores 
          CHARACTER SET); 
       
        - BUG#14161: Stored procedure cannot retrieve bigint unsigned;
      
        - BUG#14188: BINARY variables have no 0x00 padding;
      
        - BUG#15148: Stored procedure variables accept non-scalar values;
      
      
      mysql-test/r/ctype_ujis.result:
        Explicitly specify correct charset.
      mysql-test/r/schema.result:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/r/show_check.result:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/r/skip_name_resolve.result:
        Ignore columns with unpredictable values.
      mysql-test/r/sp-big.result:
        Add cleanup statement.
      mysql-test/r/sp-dynamic.result:
        Add cleanup statements.
      mysql-test/r/sp.result:
        Update result file.
      mysql-test/r/sum_distinct-big.result:
        Update result file.
      mysql-test/r/type_newdecimal-big.result:
        Update result file.
      mysql-test/t/ctype_ujis.test:
        Explicitly specify correct charset.
      mysql-test/t/schema.test:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/t/show_check.test:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/t/skip_name_resolve.test:
        Ignore columns with unpredictable values.
      mysql-test/t/sp-big.test:
        Add cleanup statement.
      mysql-test/t/sp-dynamic.test:
        Add cleanup statements.
      mysql-test/t/sp.test:
        Non-scalar values prohibited for assignment to SP-vars;
        polishing.
      mysql-test/t/type_newdecimal-big.test:
        Update type specification so that the variables
        can contain the large values used in the test.
      sql/field.cc:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/field.h:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/item.cc:
        - Introduce a new class: Item_sp_variable -- a base class
          of stored-routine-variables classes;
        - Introduce Item_case_expr -- an Item, which is used to access
          to the expression of CASE statement;
      sql/item.h:
        - Introduce a new class: Item_sp_variable -- a base class
          of stored-routine-variables classes;
        - Introduce Item_case_expr -- an Item, which is used to access
          to the expression of CASE statement;
      sql/item_func.cc:
        Pass the Field (instead of Item) for the return value of
        a function to the function execution routine.
      sql/item_func.h:
        Pass the Field (instead of Item) for the return value of
        a function to the function execution routine.
      sql/mysql_priv.h:
        Move create_virtual_tmp_table() out of sql_select.h.
      sql/sp.cc:
        Use create_result_field() instead of make_field().
      sql/sp_head.cc:
        - Add a function to map enum_field_types to Item::Type;
        - Add sp_instr_push_case_expr instruction -- an instruction
          to push CASE expression into the active running context;
        - Add sp_instr_pop_case_expr instruction -- an instruction
          to pop CASE expression from the active running context;
        - Adapt the SP-execution code to using Fields instead of Items
          for SP-vars;
        - Use create_field structure for field description instead of
          a set of members.
      sql/sp_head.h:
        - Add a function to map enum_field_types to Item::Type;
        - Add sp_instr_push_case_expr instruction -- an instruction
          to push CASE expression into the active running context;
        - Add sp_instr_pop_case_expr instruction -- an instruction
          to pop CASE expression from the active running context;
        - Adapt the SP-execution code to using Fields instead of Items
          for SP-vars;
        - Use create_field structure for field description instead of
          a set of members.
      sql/sp_pcontext.cc:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Add an operation to retrieve a list of defined SP-vars
          from the processing context recursively.
      sql/sp_pcontext.h:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Add an operation to retrieve a list of defined SP-vars
          from the processing context recursively.
      sql/sp_rcontext.cc:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Use a tmp virtual table to store SP-vars instead of Items;
        - Provide operations to work with CASE expresion.
      sql/sp_rcontext.h:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Use a tmp virtual table to store SP-vars instead of Items;
        - Provide operations to work with CASE expresion.
      sql/sql_class.cc:
        - Reflect Item_splocal ctor changes;
        - Item_splocal::get_offset() has been renamed to get_var_idx().
      sql/sql_class.h:
        Polishing.
      sql/sql_parse.cc:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/sql_select.cc:
        Take care of BLOB columns in create_virtual_tmp_table().
      sql/sql_select.h:
        Move create_virtual_tmp_table() out of sql_select.h.
      sql/sql_trigger.cc:
        Use boolean constants for boolean type instead of numerical ones.
      sql/sql_yacc.yy:
        Provide an instance of create_field for each SP-var.
      mysql-test/include/sp-vars.inc:
        The definitions of common-procedures, which are created
        under different circumstances.
      mysql-test/r/sp-vars.result:
        Result file for the SP-vars test.
      mysql-test/sp-vars.test:
        A new test for checking SP-vars functionality.
      66ce27ca
  22. 31 Oct, 2005 1 commit
  23. 25 Oct, 2005 1 commit
    • unknown's avatar
      BUG#14139: When handling "CREATE TABLE(field_X type_spec,...) SELECT smth AS field_X, ...." · 5f6606ec
      unknown authored
      avoid multiplying length of field_X by charset->mbmaxlen twice when calculating space 
      required for field_X in the new table.
      
      
      mysql-test/r/create.result:
        Testcase for BUG#14139
      mysql-test/t/create.test:
        Testcase for BUG#14139
      sql/field.cc:
        BUG#14139: Make create_length_to_internal_length() save length-in-characters in 
        create_field::chars_length.
      sql/field.h:
        BUG#14139: Add create_length::chars_length where we save length-in-characters, added comments.
      sql/sql_table.cc:
        BUG#14139: When handling "CREATE TABLE(field_X type_spec,...) SELECT smth AS field_X, ...."
        we get two instances of create_field: (1) is occurence of field_X in create list, and (2) is
        in select list. If we figure they both refer to the same field, we "join" them according to
        some rule that is not explicitly specified anywhere.
        When we do this "join", create_field::length already contains length-in-bytes for both, so
        when we transfer field length (in characters) from (1) to (2), use length-in-characters that
        we have saved in create_length::chars_length.
      5f6606ec
  24. 13 Oct, 2005 1 commit
    • unknown's avatar
      Move handling of suffix_length from strnxfrm_bin() to filesort to ensure... · 55a21a33
      unknown authored
      Move handling of suffix_length from strnxfrm_bin() to filesort to ensure proper sorting of all kind of binary objects
      field::sort_key() now adds length last for varbinary/blob
      VARBINARY/BLOB is now sorted by filesort so that shorter strings comes before longer ones
      Fixed issues in test cases from last merge
      
      
      
      mysql-test/r/select.result:
        Change column name in test to get GROUP BY to use the alias
      mysql-test/r/type_blob.result:
        Test BLOB and VARCHAR sorting
      mysql-test/t/select.test:
        Change column name in test to get GROUP BY to use the alias
        Drop used tables at start of test
        Don't use table names 'a', 'b' or 'c'
      mysql-test/t/type_blob.test:
        Test BLOB and VARCHAR sorting
      sql/field.cc:
        Store length last in VARBINARY() and BLOB() columns to get shorter strings sorted before longer onces
      sql/field.h:
        Added method 'sort_length()' to allow one to have length bytes last for VARBINARY/BLOB to get these to sort properly
      sql/filesort.cc:
        Use 'sort_length()' instead of 'pack_length()' to get length o...
      55a21a33
  25. 13 Sep, 2005 1 commit
    • unknown's avatar
      Added option --valgrind-mysqltest to mysql-test-run · 411d7f59
      unknown authored
      Added flag to Field::store(longlong) to specify if value is unsigned.
      This fixes bug #12750: Incorrect storage of 9999999999999999999 in DECIMAL(19, 0)
      Fixed warning from valgrind in CREATE ... SELECT
      Fixed double free of mysql.options if reconnect failed
      
      
      mysql-test/mysql-test-run.sh:
        Added option --valgrind-mysqltest to allow one to run mysqltest with valgrind
      mysql-test/r/bigint.result:
        Update results after fix for Field::store(longlong)
      mysql-test/r/range.result:
        Update results after fix for Field::store(longlong)
      mysql-test/r/strict.result:
        Update results after fix for Field::store(longlong)
        (This fixes some wrong results when storing things into bigint columns)
      mysql-test/r/type_ranges.result:
        Update results after fix for Field::store(longlong)
      mysql-test/t/bigint.test:
        Added testing for #12750: Incorrect storage of 9999999999999999999 in DECIMAL(19, 0)
      mysql-test/t/innodb.test:
        Removed comments affected by this bug fix
      mysql-test/t...
      411d7f59
  26. 05 Aug, 2005 1 commit
  27. 01 Jul, 2005 1 commit
    • unknown's avatar
      Name resolution context added (BUG#6443) · f75ad371
      unknown authored
      include/my_bitmap.h:
        new bitmap operation
      mysql-test/r/view.result:
        added warnings
        Correct inserting data check (absence of default value) for view underlying tables (BUG#6443)
      mysql-test/t/view.test:
        Correct inserting data check (absence of default value) for view underlying tables (BUG#6443)
      mysys/my_bitmap.c:
        new bitmap operation
      sql/field.h:
        index of field in table added
      sql/item.cc:
        Name resolution context added
        table list removed from fix_fields() arguments
      sql/item.h:
        Name resolution context added
        table list removed from fix_fields() arguments
      sql/item_cmpfunc.cc:
        table list removed from fix_fields() arguments
      sql/item_cmpfunc.h:
        table list removed from fix_fields() arguments
      sql/item_func.cc:
        table list removed from fix_fields() arguments
      sql/item_func.h:
        table list removed from fix_fields() arguments
      sql/item_row.cc:
        table list removed from fix_fields() arguments
      sql/item_row.h:
        table list removed from fix_fields() arguments
      sql/item_strfunc.cc:
        fixed server crash on NULL argument
      sql/item_strfunc.h:
        table list removed from fix_fields() arguments
      sql/item_subselect.cc:
        table list removed from fix_fields() arguments
      sql/item_subselect.h:
        table list removed from fix_fields() arguments
      sql/item_sum.cc:
        table list removed from fix_fields() arguments
      sql/item_sum.h:
        table list removed from fix_fields() arguments
      sql/item_timefunc.cc:
        table list removed from fix_fields() arguments
      sql/item_timefunc.h:
        table list removed from fix_fields() arguments
      sql/item_uniq.h:
        table list removed from fix_fields() arguments
      sql/log_event.cc:
        Name resolution context added
      sql/log_event.h:
        Name resolution context added
      sql/mysql_priv.h:
        Name resolution context added
      sql/set_var.cc:
        table list removed from fix_fields() arguments
      sql/share/errmsg.txt:
        new error message
      sql/sp.cc:
        Name resolution context added
      sql/sp_head.cc:
        table list removed from fix_fields() arguments
      sql/sp_head.h:
        Name resolution context added
      sql/sql_base.cc:
        table list removed from fix_fields() arguments
        Name resolution context added
      sql/sql_class.cc:
        renamed variable
      sql/sql_delete.cc:
        Name resolution context added
      sql/sql_derived.cc:
        Name resolution context added
      sql/sql_do.cc:
        table list removed from fix_fields() arguments
      sql/sql_handler.cc:
        Name resolution context added
      sql/sql_help.cc:
        Name resolution context added
      sql/sql_insert.cc:
        Name resolution context added
        table list removed from fix_fields() arguments
      sql/sql_lex.cc:
        Name resolution context added
      sql/sql_lex.h:
        removed resolve mode (information stored into name resolution context)
      sql/sql_load.cc:
        table list removed from fix_fields() arguments
      sql/sql_olap.cc:
        Name resolution context added
      sql/sql_parse.cc:
        Name resolution context added
      sql/sql_prepare.cc:
        table list removed from fix_fields() arguments
      sql/sql_select.cc:
        table list removed from fix_fields() arguments
      sql/sql_show.cc:
        Name resolution context added
      sql/sql_trigger.cc:
        table list removed from fix_fields() arguments
      sql/sql_udf.h:
        table list removed from fix_fields() arguments
      sql/sql_union.cc:
        Name resolution context added
      sql/sql_update.cc:
        Name resolution context added
      sql/sql_view.cc:
        Name resolution context added
      sql/sql_view.h:
        table list removed from fix_fields() arguments
      sql/sql_yacc.yy:
        Name resolution context added
      sql/table.cc:
        Name resolution context added
        merged view processing moved
      sql/table.h:
        merged view processing moved
      f75ad371
  28. 30 Jun, 2005 1 commit
    • unknown's avatar
      a fix. · 654e468c
      unknown authored
      bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
      bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
      bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs 
      
      
      mysql-test/r/type_bit.result:
        test case.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
      mysql-test/t/type_bit.test:
        test case.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
      sql/field.h:
        a fix.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs 
        
        - max_length() returns length in bits.
        - introduced set_bit_ptr() function, which sets bit_ptr and bit_ofs.
      sql/item.cc:
        a fix.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
        
        - create Field_bit_as_char in case of MYSQL_TYPE_BIT in the Item::tmp_table_field_from_field_type()
          (we cannot create Field_bit here because of lack of information: bit_ptr, bit_ofs)
      sql/mysql_priv.h:
        a fix.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs 
        
        - table_cant_handle_bit_fields parameter added to the create_tmp_field()
      sql/sql_select.cc:
        a fix.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
        
        - create_tmp_field() changes to return create_tmp_field_from_item() result 
          (actually, Field_bit_as_char) if table_cant_handle_bit_fields=1 for bit fields.
        - create_tmp_field() calls accordingly changed 
        - call set_bit_ptr() for bit fields after the move_field() call during 
          temporary table creation.
      sql/sql_table.cc:
        a fix.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
        
        - changed the create_tmp_field() call
      654e468c
  29. 20 Jun, 2005 1 commit
    • unknown's avatar
      group_by.result: · 157c3738
      unknown authored
        Added  a test case for bug #11385.
      group_by.test:
        Added  a test case for bug #11385.
      field.h:
        Fixed bug #11385.
        The bug was due to not defined method decimals for the class
        Field_datetime.
      
      
      sql/field.h:
        Fixed bug #11385.
        The bug was due to not defined method decimals for the class
        Field_datetime.
      mysql-test/t/group_by.test:
        Added  atest case for bug #11385.
      mysql-test/r/group_by.result:
        Added  a test case for bug #11385.
      157c3738
  30. 15 Jun, 2005 1 commit
    • unknown's avatar
      cast.result, cast.test: · ec489073
      unknown authored
        Added test case for bug #11283.
      field.h, field.cc:
        Fixed bug #11283: wrong conversion from varchar to decimal.
        Added methods Field_string::val_decimal,
        Field_varstring::val_decimal, Field_blob::val_decimal.
        They are not inherited from the base class Field_longstr
        anymore.
      
      
      sql/field.cc:
        Fixed bug #11283: wrong conversion from varchar to decimal.
        Added methods Field_string::val_decimal,
        Field_varstring::val_decimal, Field_blob::val_decimal.
        They are not inherited from the base class Field_longstr
        anymore.
      sql/field.h:
        Fixed bug #11283: wrong conversion from varchar to decimal.
        Added methods Field_string::val_decimal,
        Field_varstring::val_decimal, Field_blob::val_decimal.
        They are not inherited from the base class Field_longstr
        anymore.
      mysql-test/t/cast.test:
        Added test case for bug #11283.
      mysql-test/r/cast.result:
        Added test case for bug #11283.
      ec489073
  31. 26 May, 2005 1 commit
    • unknown's avatar
      Fix partial keys when converting VARCHAR to TEXT. (Bug #10543) · 36808374
      unknown authored
      mysql-test/r/type_varchar.result:
        Update results
      mysql-test/t/type_varchar.test:
        Add new regression test
      sql/field.cc:
        Add Field::type_can_have_key_part() static method
      sql/field.h:
        Add Field::type_can_have_key_part() signature.
      sql/sql_table.cc:
        Only reset the length of a key part when changing from a
        field type that can't be used partially to a field that can,
        or vice versa, or when the part is smaller than the length
        of the field.
      36808374
  32. 25 May, 2005 1 commit
    • unknown's avatar
      Cleanup's during review · 8c21fd51
      unknown authored
      Added ASSERT() to detect wrongly packed fields
      
      
      sql/field.h:
        Fixed comments to right format
      sql/opt_range.cc:
        Merged code
      sql/sql_base.cc:
        Fixed indentation
      sql/sql_insert.cc:
        Fixed comments to right format
      sql/sql_select.cc:
        Simplify code
      sql/unireg.cc:
        Simply code for calculating key_buff_length
        Added ASSERT() to detect wrongly packed fields
      8c21fd51
  33. 07 May, 2005 1 commit
  34. 05 May, 2005 1 commit
    • unknown's avatar
      A lot of fixes to Precision math · 94dca613
      unknown authored
      Mostly about precision/decimals of the results of the operations
      
      
      include/decimal.h:
        decimal interface changed a little
      sql/field.cc:
        a lot of precision/decimals related changes to the Field_new_decimal
      sql/field.h:
        Field_new_decimal interface changed
      sql/ha_ndbcluster.cc:
        f->precision should be used here
      sql/item.cc:
        precision/decimals counting related changes
      sql/item.h:
        precision/decimals counting related changes
      sql/item_cmpfunc.cc:
        precision/decimals counting related changes
      sql/item_cmpfunc.h:
        precision/decimals counting related changes
      sql/item_func.cc:
        precision/decimals counting related changes
      sql/item_func.h:
        precision/decimals counting related changes
      sql/item_sum.cc:
        precision/decimals counting related changes
      sql/item_sum.h:
        precision/decimals counting related changes
      sql/my_decimal.cc:
        precision/decimals counting related changes
      sql/my_decimal.h:
        precision/decimals counting related changes
      sql/mysqld.cc:
        precision/decimals counting related changes
      sql/set_var.cc:
        precision/decimals counting related changes
      sql/sp_head.cc:
        dbug_decimal_print was replaced with dbug_decimal_as_string
      sql/sql_class.h:
        div_precincrement variable added
      sql/sql_parse.cc:
        precision/decimals counting related changes
      sql/sql_select.cc:
        precision/decimals counting related changes
      sql/sql_show.cc:
        Field::representation_length was removed
      strings/decimal.c:
        decimal_actual_fraction was introduced
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      94dca613
  35. 04 May, 2005 1 commit
    • unknown's avatar
      BUG#10241 cygwin port: invalid pragma interface directives · 2dc5e271
      unknown authored
       - Introduce ifdefs so we can control when to use #pragma interface on cygwin
      
      
      include/my_global.h:
        Turn on use of #pragma implementation and #pragma interface if compiled with GCC and platform != Cygwin
      include/raid.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/examples/ha_archive.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/examples/ha_example.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/field.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_berkeley.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_blackhole.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_heap.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_innodb.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_isam.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_isammrg.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_myisam.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_myisammrg.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_ndbcluster.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/handler.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_cmpfunc.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_func.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_geofunc.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_strfunc.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_subselect.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_sum.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_timefunc.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/opt_range.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/procedure.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/protocol.h:
        replace __GNUC__ with USE_PRAGMA_IMPLEMENTATION
      sql/set_var.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/sql_class.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/sql_list.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/sql_select.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/sql_string.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/sql_udf.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/tztime.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      2dc5e271
  36. 29 Apr, 2005 2 commits
    • unknown's avatar
      Fix for #6553 and #8776 (no errors on bad spatial data) · d1c51472
      unknown authored
      mysql-test/r/gis-rtree.result:
        test result fixed
      mysql-test/r/gis.result:
        test result fixed
      mysql-test/t/gis-rtree.test:
        test case fixed
      mysql-test/t/gis.test:
        test case added
      sql/field.cc:
        error messages launched now when we try to put bad spatial
        data in the GEOMETRY field
      sql/field.h:
        interface fixed
      sql/item_geofunc.cc:
        bad_data sign now instead of NULL now returned from
        Item_geometry_from_text::val_str
      sql/share/errmsg.txt:
        error message added
      sql/spatial.cc:
        bad_geometry data instance
      sql/spatial.h:
        bad_geometry_data declaration
      sql/sql_base.cc:
        messages now created in store_* function
      d1c51472
    • unknown's avatar
      CAST(string_argument AS UNSIGNED) didn't work for big integers above the signed range. (Bug #7036) · f301f8f2
      unknown authored
      Produce warnings of wrong cast of strings to signed/unsigned.
      Don't block not resolved IP's if DNS server is down (Bug #8467)
      Fix compiler problems with MinGW (Bug #8872)
      
      
      configure.in:
        Fix compiler problems with MinGW (Bug #8872)
      include/config-win.h:
        Fix compiler problems with MinGW (Bug #8872)
      include/my_global.h:
        Fix compiler problems with MinGW (Bug #8872)
      mysql-test/r/cast.result:
        Test for cast to signed/unsigned outside of range (Bug #7036)
      mysql-test/t/cast.test:
        Test for cast to signed/unsigned outside of range (Bug #7036)
      mysys/default.c:
        Cleanup (combine identical code). 
        Done mainly by Jani
      sql/field.h:
        Added cast_to_int_type() to ensure that enums are casted as numbers
      sql/hostname.cc:
        Don't block not resolved IP's if DNS server is down (Bug #8467)
      sql/item.h:
        Added cast_to_int_type() to ensure that enums are casted as numbers
      sql/item_func.cc:
        CAST(string_argument AS UNSIGNED) didn't work for big integers above the
        signed range. (Bug #7036)
        Produce warnings of wrong cast of strings to signed/unsigned
      sql/item_func.h:
        CAST(string_argument AS UNSIGNED) didn't work for big integers above the
        signed range. (Bug #7036)
      f301f8f2
  37. 14 Apr, 2005 1 commit
  38. 12 Apr, 2005 1 commit
    • unknown's avatar
      Bit type: code clean-up. · bd5c737c
      unknown authored
      sql/field.h:
        Field_bit_as_char::size_of() added - we use it in the ::new_key_field().
      sql/sql_table.cc:
        We have to set pack_flag for bit fields in the mysql_prepare_table()
        as we use it in the create_length_to_internal_length().
      bd5c737c