1. 24 May, 2004 1 commit
    • unknown's avatar
      Support for character set conversion in binary protocol: another go · 093d6292
      unknown authored
      after Monty's review.
      - Item_param was rewritten.
      - it turns out that we can't convert string data to character set of
        connection on the fly, because they first should be written to the binary
        log.
        To support efficient conversion we need to rewrite prepared statements
        binlogging code first.
      
      
      include/my_global.h:
        Macro swap(a, b, c) was renamed to resolve name conflict with
        String::swap() method.
      include/my_sys.h:
        Added declaration of escape_string_for_mysql()
      include/mysql_com.h:
        Removed and moved back: a macro which is visible to libmysql user but
        has sence only in prepared statement protocol implementation.
      isam/_search.c:
        swap -> swap_variables
      isam/test2.c:
        swap -> swap_variables
      libmysql/libmysql.c:
        - sub_escape_string moved to mysys/charset.c to be visible in sql/
        - few cleanups
      myisam/mi_test2.c:
        swap -> swap_variables
      mysys/charset.c:
        sub_escape_string was moved from libmysql.c to be able to use it in sql/
        code.
      mysys/my_chsize.c:
        rename: swap -> swap_variables
      mysys/my_compress.c:
        swap -> swap_variables
      mysys/my_handler.c:
        swap -> swap_variables
      sql/field.cc:
        Field::store_time refactored to use TIME_to_string function from time.cc
      sql/item.cc:
        New implementation of Item_param class:
        added support for character sets conversion.
      sql/item.h:
        Item_param:
        - 'state' member introduced instead of many boolean variables.
        - put ltime, int_value and real_value into union to save space.
        - remove unimplemented members
        - set_value renamed to set_str
      sql/item_timefunc.cc:
        Refactored to use functions from time.cc
      sql/lock.cc:
        rename: swap -> swap_variables
      sql/mysql_priv.h:
        - added declarations for TIME_to_ulonglong_*, TIME_to_string functions
        - const specifiers for make_date, make_time, make_datetime arguments
      sql/opt_range.cc:
        rename: swap -> swap_variables
      sql/protocol.cc:
        - added character set conversion support to binary protocol.
        - Protocol::convert changed to point at shared buffer in THD.
          This lets us use one convert buffer for binary and simple protocol.
          The same buffer is used for client->server conversions in prepared
          statements code.
        - string conversion code refactored to Protocol::store_string_aux function.
        - few more comments
      sql/protocol.h:
        - Protocol::convert now points at THD::convert_buffer: we want to share one
          buffer between all protocol implementations.
      sql/sql_class.cc:
        - implementation of THD::convert_string using THD::convert_buffer
          (conversion of strings allocated in the system heap).
      sql/sql_class.h:
        - THD::convert_buffer is shared between THD and network Protocols and
          used for character set conversion of strings.
        - new function to convert String object from one charset to another using
          THD::convert_buffer
      sql/sql_insert.cc:
        A little fix in a comment.
      sql/sql_parse.cc:
        Shrink convert buffer in the end of each statement.
      sql/sql_prepare.cc:
          Many changes:
        - static specifier for set_param_* family of functions.
        - FIELD_TYPE -> MYSQL_TYPE
        - added set_param_binary as handler for BLOB types.
        - added character set support
        - added support for param typecode in mysql_stmt_get_longdata
          (mysql_stmt_send_long_data handler)
        - changes in Item_param deployed
        - few cleanups
      sql/sql_select.cc:
        rename: swap -> swap_variables
      sql/sql_string.cc:
        - String::append rewritten to support character set conversion for
        single-byte encodings.
        - added String::swap method to efficiently exchange two string objects.
      sql/sql_string.h:
        Declraration for String::swap().
      sql/time.cc:
        - function TIME_to_string to convert TIME to String in default MySQL format
        - family of functions TIME_to_ulonglong_*
      tests/client_test.c:
        Test for support for character set conversions in prepared statements
        (binary and text data).
      093d6292
  2. 18 May, 2004 1 commit
  3. 16 May, 2004 1 commit
    • unknown's avatar
      key_cmp -> key_cmp_if_same · 70f79563
      unknown authored
      New records_in_range() interface (similar to read_range())
      Macros for faster bitmap handling
      Simplify read_range() code (#WL1786)
      New general key_cmp() function to compare keys
      
      
      
      
      heap/hp_hash.c:
        New records_in_range() interface
      include/heap.h:
        New records_in_range() interface
      include/my_base.h:
        Moved 'key_range' here so that all table handlers can use it
      include/my_bitmap.h:
        Make some bitmap functions inline for faster usage in one thread
      include/myisam.h:
        New records_in_range() interface
      include/myisammrg.h:
        New records_in_range() interface
      myisam/mi_range.c:
        New records_in_range() interface
      myisam/mi_test2.c:
        New records_in_range() interface
      myisam/rt_test.c:
        New records_in_range() interface
        Indentation fixes
      myisam/sp_test.c:
        New records_in_range() interface
        Indentation fixes
      myisammrg/myrg_range.c:
        New records_in_range() interface
      mysys/my_bitmap.c:
        Make some bitmap functions inline for faster usage in one thread
      sql/examples/ha_example.cc:
        New records_in_range() interface
      sql/field.cc:
        Fixed indentation
      sql/ha_berkeley.cc:
        New records_in_range() interface
      sql/ha_berkeley.h:
        New records_in_range() interface
      sql/ha_heap.cc:
        New records_in_range() interface
      sql/ha_heap.h:
        New records_in_range() interface
      sql/ha_innodb.cc:
        New records_in_range() interface
      sql/ha_innodb.h:
        New records_in_range() interface
      sql/ha_isam.cc:
        New records_in_range() interface
      sql/ha_isam.h:
        New records_in_range() interface
      sql/ha_myisam.cc:
        New records_in_range() interface
      sql/ha_myisam.h:
        New records_in_range() interface
      sql/ha_myisammrg.cc:
        New records_in_range() interface
      sql/ha_myisammrg.h:
        New records_in_range() interface
      sql/ha_ndbcluster.cc:
        New records_in_range() interface
      sql/ha_ndbcluster.h:
        New records_in_range() interface
      sql/handler.cc:
        Simplify read_range() interface:
        - Add 'eq_range' to read_range_first
        - Remove 'eq_range' parameer from read_range_next()
        - Trust values from index_next_same()
        - Simplfy compare_key() by moving key_comparision to key.cc (as this code can be reused from other places)
      sql/handler.h:
        Move key_range to my_base.h to be used by external table handlers
        Simplify read_range() interface
        New records_in_range() interface
      sql/key.cc:
        Rename key_cmp() to key_cmp_if_same() to make it more descriptive
        Add new key_cmp() function usable from range and handler code.
      sql/mysql_priv.h:
        Prototypes for new functions
      sql/opt_range.cc:
        New records_in_range() interface
        Simplify cmp_prev()
        (We can in 5.0 simplify cmp_next() the same way)
      sql/opt_range.h:
        Added key_part_info to QUICK_SELECT to be able to use key_cmp() in get_next()
      sql/opt_sum.cc:
        key_cmp -> key_cmp_if_same
      sql/sql_acl.cc:
        key_cmp -> key_cmp_if_same
      sql/sql_select.cc:
        key_cmp -> key_cmp_if_same
      70f79563
  4. 11 May, 2004 1 commit
  5. 28 Apr, 2004 1 commit
    • unknown's avatar
      Fixed http address in some scripts (Bug #3460) · 8b9ecce0
      unknown authored
      Output TIMESTAMP in 4.1 format for 4.1 tables (or for TIMESTAMP(19)) (portability fix)
      Fixed that INTERVAL can handle big integers. (Bug #3498)
      Fixed that hostname="" works identical as hostname="%" for table/column grants (Bug #3473)
      
      
      mysql-test/mysql-test-run.sh:
        Fixed wrong http address (Bug #3460)
      mysql-test/r/func_time.result:
        Results for new test cases
      mysql-test/t/func_time.test:
        Added test of INTERVAL with big integers
      scripts/mysqld_safe.sh:
        Added html address to manual in case of error
      sql/field.cc:
        Output TIMESTAMP in 4.1 format for 4.1 tables (or for TIMESTAMP(19))
      sql/item_timefunc.cc:
        Fixed that INTERVAL can handle big integers. (Bug #3498)
      sql/mysql_priv.h:
        Removed not needed prototype
      sql/sql_acl.cc:
        Fixed that hostname="" works identical as hostname="%" for table/column grants (Bug #3473)
        Moved GRANT_TABLE::GRANT_TABLE functions ou from class definition to make it possible to debug them
      sql/structs.h:
        Fix for long values to INTERVAL
      8b9ecce0
  6. 09 Apr, 2004 1 commit
    • unknown's avatar
      Fixed problems noticed with last build · 1bbca272
      unknown authored
      mysql-test/r/lowercase_table2.result:
        Fixed typo
      mysql-test/r/repair.result:
        Portability fix (For OpenBSD)
      mysql-test/t/repair.test:
        Portability fix (For OpenBSD)
      mysys/my_thr_init.c:
        Fixed crasch with some tests on OpenBSD.
      sql/field.cc:
        Don't truncate big values (Caused a core dump on Linux-Alpha for big values)
      sql/log.cc:
        More DBUG
      1bbca272
  7. 07 Apr, 2004 3 commits
    • unknown's avatar
      Cleanup/optimizations of structures and key usage to make it easier to move... · 3cb13f79
      unknown authored
      Cleanup/optimizations of structures and key usage to make it easier to move key-range-search to handler
      
      
      sql/field.cc:
        Use 'HA_KEY_BLOB_LENGTH' instead of '2' for 'packed-length'
        Changed 'get_key_image' and 'set_key_image' to take length data part of key (without length-store bytes). This makes the interface easier to use from opt_range.cc
      sql/field.h:
        Indentation fix
      sql/opt_range.cc:
        Changed KEY_PART to use KEY_PART_INFO->store_length (which includes null-byte if needed)
        This makes some functions easier and allowed us to easier use the new get_key_image/set_key_image interfaces
        Simple loop optimization.
      sql/opt_range.h:
        Changed part_length -> store_length and added length to KEY_PART.
        This make this structure more like KEY_PART_INFO
        Added 'sorted' to QUICK_SELECT for NDB
      sql/sql_class.cc:
        Fixed compiler warning
      sql/sql_select.cc:
        Set 'quick->sorted' if keys should be sorted (for NDB)
      sql/table.cc:
        GEOMETRY KEYS doesn't have length prefix in keys
      3cb13f79
    • unknown's avatar
      post-review fixes · 736853e5
      unknown authored
      HA_EXTRA_WRITE_CACHE now part of start_bulk_insert()
      test cleanups
      
      
      BitKeeper/deleted/.del-repair_part2-master.sh~f44a8c15d6c36585:
        Delete: mysql-test/t/repair_part2-master.sh
      BitKeeper/deleted/.del-repair_part2.test~c20f60783b04d001:
        Delete: mysql-test/t/repair_part2.test
      BitKeeper/deleted/.del-repair_part2.result~72ca166fb248b566:
        Delete: mysql-test/r/repair_part2.result
      mysql-test/r/myisam.result:
        updated
      mysql-test/t/lowercase_table2.test:
        typo fixed
      mysql-test/r/repair.result:
        single repair.test from repair_part[12].test
      mysql-test/t/lowercase_table3.test:
        typo fixed
      mysql-test/t/lowercase_table_qcache.test:
        newline added
      mysql-test/t/myisam.test:
        updated
      mysql-test/t/repair.test:
        single repair.test from repair_part[12].test
      sql/field.cc:
        reverted
      sql/field.h:
        style fix
      sql/ha_myisam.cc:
        add HA_EXTRA_WRITE_CACHE to start_bulk_insert
      sql/sql_insert.cc:
        add HA_EXTRA_WRITE_CACHE to start_bulk_insert
      sql/sql_load.cc:
        add HA_EXTRA_WRITE_CACHE to start_bulk_insert
      sql/sql_table.cc:
        add HA_EXTRA_WRITE_CACHE to start_bulk_insert
      736853e5
    • unknown's avatar
      Portability fixes · e9447881
      unknown authored
      Fixed problems with group_concat() and HAVING
      Updated crash-me values
      
      
      sql-bench/limits/mysql-4.0.cfg:
        Rename: sql-bench/limits/mysql.cfg -> sql-bench/limits/mysql-4.0.cfg
      include/my_global.h:
        Safety fix
      libmysqld/Makefile.am:
        Portability fix (For AIX 64 bit)
      mysql-test/r/func_gconcat.result:
        More tests
      mysql-test/t/func_gconcat.test:
        More tests
      sql/field.cc:
        Cleanups
      sql/init.cc:
        moved thread_stack_min to right place
      sql/item_sum.cc:
        Fixed problems with group_concat() and HAVING
        Removed some not needed variables
      sql/item_sum.h:
        Fixed problems with group_concat() and HAVING
        Removed some not needed variables
      sql/mysqld.cc:
        Moved thread_stack_min to right place to handle case where we didn't get as much stack space as we asked for
      sql/sql_parse.cc:
        More debugging
      sql/sql_select.cc:
        Cleanup
      sql/sql_yacc.yy:
        Fixed handling of Item_group_concat() in having. (Arguments should not be handled as refs)
      e9447881
  8. 06 Apr, 2004 2 commits
    • unknown's avatar
      ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(),... · c6270543
      unknown authored
      ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      Field::val_str simplification, comment
      
      
      include/my_base.h:
        typos fixed
      mysql-test/r/myisam.result:
        alter table enable/disable keys
      mysql-test/t/help.test:
        cleanup
      mysql-test/t/myisam.test:
        alter table enable/disable keys
      sql/field.cc:
        Field::val_str() simplification
      sql/field.h:
        Field::val_str() simplification and comment
      sql/field_conv.cc:
        Field::val_str() simplification
      sql/ha_berkeley.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_berkeley.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_heap.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_heap.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_innodb.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_innodb.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isam.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isam.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isammrg.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isammrg.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_myisam.cc:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/ha_myisam.h:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/ha_myisammrg.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_myisammrg.h:
        ::reset(), HA_FAST_KEY_READ
      sql/handler.h:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/item.cc:
        Field::val_str() simplification
      sql/item_sum.cc:
        Field::val_str() simplification
      sql/key.cc:
        Field::val_str() simplification
      sql/opt_range.cc:
        Field::val_str() simplification
      sql/protocol.cc:
        Field::val_str() simplification
      sql/records.cc:
        HA_FAST_KEY_READ
      sql/sql_acl.cc:
        Field::val_str() simplification
      sql/sql_base.cc:
        ::reset
      sql/sql_insert.cc:
        ::reset(), start_bulk_insert(), end_bulk_insert()
      sql/sql_load.cc:
        start_bulk_insert(), end_bulk_insert()
      sql/sql_show.cc:
        Field::val_str() simplification
      sql/sql_table.cc:
        disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/table.cc:
        Field::val_str() simplification
      c6270543
    • unknown's avatar
      Fixed charsetnr sent to the client · 815c23f1
      unknown authored
      815c23f1
  9. 05 Apr, 2004 1 commit
    • unknown's avatar
      Fixed many compiler warnings · 7873b89f
      unknown authored
      Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
      Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
      Set locked_in_memory properly
      
      
      include/mysql_com.h:
        Fixed compiler warning
      libmysqld/emb_qcache.cc:
        Removed not used variable
      libmysqld/lib_sql.cc:
        Removed not used variable
      myisam/mi_locking.c:
        Added comment
      myisam/mi_rnext.c:
        Fixed bug in concurrent insert
      myisam/mi_rprev.c:
        Simple optimization
      mysql-test/r/func_gconcat.result:
        New tests
      mysql-test/t/func_gconcat.test:
        New tests
      mysql-test/t/func_group.test:
        Cleanup
      sql-common/client.c:
        Removed compiler warning
      sql/derror.cc:
        Better comments
      sql/field.cc:
        Removed not used function/variable
      sql/field.h:
        Removed not needed variable
      sql/ha_innodb.cc:
        Removed not used function
      sql/item.cc:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Fixed compiler warning
      sql/item_func.cc:
        Fixed compiler warning
      sql/item_geofunc.cc:
        Fixed compiler warning
      sql/item_sum.cc:
        Fixed bugs in group_concat and added more comments
        (Bugs #2695, #3381 and #3319)
        - field->abs_offset was not needed
        - Wrong assumption of field order in temporary table
        - Some not used variables removed
        - Added ORDER BY fields after argument fields so that code in sql_select.cc can move all fields to point to temporary tables, if needed.
        - Optimized loops
      sql/item_sum.h:
        Bug fixing and cleanup of group_concat()
      sql/log.cc:
        Removed wrong comment
      sql/log_event.cc:
        Removed compiler warning
      sql/mysqld.cc:
        Set locked_in_memory properly
      sql/protocol.cc:
        Removed compiler warning
      sql/set_var.cc:
        Code cleanup
      sql/slave.cc:
        Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
      sql/sql_cache.cc:
        Removed compiler warnings
      sql/sql_derived.cc:
        Removed not used variable
      sql/sql_insert.cc:
        Removed compiler warnings
      sql/sql_lex.cc:
        Removed not used lable
      sql/sql_lex.h:
        Removed compiler warnings
      sql/sql_parse.cc:
        Removed compiler warnings
      sql/sql_prepare.cc:
        Removed compiler warnings
      sql/sql_select.cc:
        Removed not used variables
        Added function comments
      sql/sql_show.cc:
        Removed compiler warnings
      sql/sql_yacc.yy:
        Fix for ORDER BY handling in GROUP_CONCAT()
      7873b89f
  10. 02 Apr, 2004 1 commit
    • unknown's avatar
      WL#1266 "Separate auto-set logic from TIMESTAMP type." · 32b28f92
      unknown authored
      Final version of patch.
      
      Adds support for specifying of DEFAULT NOW() and/or ON UPDATE NOW()
      clauses for TIMESTAMP field definition.
      Current implementation allows only one such field per table and
      uses several unireg types for storing info about this properties of
      field. It should be replaced with better implementation when new
      .frm format is introduced.
      
      
      include/mysqld_error.h:
        Added error codes for case when we have more than one column with NOW()
        in DEFAULT or ON UPDATE clauses and for case when we are using ON UPDATE
        clause with wrong type.
      mysql-test/r/create.result:
        Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
        non-TIMESTAMP fields.
      mysql-test/r/show_check.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW CREATE TABLE.
      mysql-test/r/system_mysql_db.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW CREATE TABLE.
      mysql-test/r/type_ranges.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW COLUMNS.
      mysql-test/r/type_timestamp.result:
        Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
        fields definitions.
      mysql-test/t/create.test:
        Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
        non-TIMESTAMP fields.
      mysql-test/t/type_timestamp.test:
        Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
        fields definitions.
      sql/field.cc:
        Added support for various combinations of DEFAULT and ON UPDATE clauses
        for TIMESTAMP field. 
        
        Setting TABLE::timestamp* members for TIMESTAMP fields with auto-set 
        option taking into account their unireg type (which corresponds to 
        various DEFAULT/ON UPDATE values combinations). Replaced 
        TABLE::time_stamp with TABLE::timestamp_default_now/on_update_now
        couple moved their setup to separate method set_timestamp_offsets(),
        which now is called from  open_table instead of Field_timestamp cons.
      sql/field.h:
        Added more unireg types for handling of DEFAULT NOW() and ON UPDATE
        NOW() for TIMESTAMP fields.
        Fixed value corresponding to DEFAULT item for TIMESTAMP field.
      sql/ha_berkeley.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_heap.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_innodb.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_isam.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_isammrg.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_myisam.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_myisammrg.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/item_func.h:
        We need to distinguish NOW() from other function for using in 
        DEFAULT and in ON UPDATE clauses.
      sql/item_timefunc.h:
        We need to distinguish NOW() from other function for using in 
        DEFAULT and in ON UPDATE clauses.
      sql/mysql_priv.h:
        Added parameter for ON UPDATE value to add_field_to_list() function.
      sql/share/czech/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/danish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/dutch/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/english/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/estonian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/french/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/german/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/greek/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/hungarian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/italian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/japanese/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/korean/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/norwegian-ny/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/norwegian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/polish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/portuguese/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/romanian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/russian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/serbian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/slovak/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/spanish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/swedish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/ukrainian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/sql_base.cc:
        Added setup of TABLE::timestamp_default_now/on_update_now pair
        for each statement to open_table().
      sql/sql_insert.cc:
        Using TABLE::timestamp_default_now/on_update_now pair instead of
        old TABLE::time_stamp. Added check for case then REPLACE could not
        be converted to UPDATE because of different DEFAULT/ON UPDATE values
        for TIMESTAMP field.
      sql/sql_lex.h:
        Added member for value used in ON UPDATE clause to st_lex.
      sql/sql_load.cc:
        Using TABLE::timestamp_default_now/on_update_now pair instead of
        old TABLE::time_stamp. We don't need to restore these members
        since they are set up for each statement in open_table().
      sql/sql_parse.cc:
        Added handling of DEFAULT NOW() and ON UPDATE NOW() clauses for
        TIMESTAMP fields to add_field_to_list() function.
      sql/sql_show.cc:
        Added support for DEFAULT CURRENT_TIMESTAMP (aka NOW() ) and 
        ON UPDATE CURRENT_TIMESTAMP to SHOW CREATE TABLE and SHOW COLUMNS.
      sql/sql_table.cc:
        mysql_create_table() function - added check for number of TIMESTAMP 
          fields with auto-set values and replacing of old style TIMESTAMPs
          with their newer analogs.
        mysql_alter_table(): Using TABLE::timestamp_default_now/on_update_now 
          pair instead of old TABLE::time_stamp. We don't need to restore these
          members since they are set up for each statement in open_table().
      sql/sql_update.cc:
        Left only setting of TABLE::timestamp_default_now/on_update_now
        to 0 since they should be already set up in open_table().
      sql/sql_yacc.yy:
        Added support for DEFAULT NOW() and ON UPDATE NOW() in field
        definitions.
      sql/table.h:
        Replaced TABLE::time_stamp withTABLE::timestamp_default_now/timestamp_on_update_now
        pair which allows to distinguish TIMESTAMP's with various DEFAULT/ON UPDATE
        clauses and optimize checks if TIMESTAMP field should be set to NOW()
        in handlers.
      sql/unireg.cc:
        Now we are marking only TIMESTAMP fields with NOW() as default or
        as on update value as special field for unireg.
      32b28f92
  11. 30 Mar, 2004 1 commit
    • unknown's avatar
      Fix to get correct metadata when using temporary tables to create result. (Bug #2654) · bc12d57f
      unknown authored
      client/mysqltest.c:
        Added support for --enable_metadata
      mysql-test/t/order_by.test:
        Improved comment
      scripts/mysqlaccess.sh:
        CGI is required (Bug #2988)
      sql/field.cc:
        Fix to get correct metadata when using temporary tables to create result
      sql/field.h:
        Fix to get correct metadata when using temporary tables to create result
      sql/sql_insert.cc:
        Fix to get correct metadata when using temporary tables to create result
      bc12d57f
  12. 26 Mar, 2004 1 commit
    • unknown's avatar
      1. New data types, from the user point of view: · 3eff4316
      unknown authored
         BINARY(N) and VARBIBARY(N)
      2. More 4.0 compatibility and more BINARY keyword consistency:
      2a. CREATE TABLE a (a CHAR(N) BINARY) 
          is now synonym for
          CREATE TABLE a (a CHAR(N) COLLATE xxxx_bin)
      2b. SELECT BINARY x
          is still synonin for
          SELECT x COLLATE xxxxx_bin.
      
      
      3eff4316
  13. 25 Mar, 2004 1 commit
    • unknown's avatar
      BTREE-indexes in HEAP tables can now be used to optimize ORDER BY · 3c46af6c
      unknown authored
      Don't read character set files if we are using only the default charset. In most cases the user will not anymore get a warning about missing character set files
      Compare strings with space extend instead of space strip. Now the following comparisons holds:  "a" == "a " and "a\t" < "a". (Bug #3152).
      Note: Because of the above fix, one has to do a REPAIR on any table that has an ascii character < 32 last in a CHAR/VARCHAR/TEXT columns.
      
      
      heap/hp_hash.c:
        Comments and DBUG information
      include/my_handler.h:
        Updated prototype for mi_compare_text
      myisam/ft_boolean_search.c:
        Updated calls to mi_compare_text
      myisam/ft_nlq_search.c:
        Updated calls to mi_compare_text
      myisam/ft_parser.c:
        Updated calls to mi_compare_text
      myisam/ft_stopwords.c:
        Updated calls to mi_compare_text
      myisam/ft_update.c:
        Updated calls to mi_compare_text
      myisam/mi_check.c:
        Updated calls to mi_compare_text
      myisam/mi_search.c:
        Changed all string comparisons that removed end space to instead extend the shorter string with space
      myisam/mi_unique.c:
        Updated calls to mi_compare_text
      myisam/mi_write.c:
        Updated calls to mi_compare_text
      myisam/myisam_ftdump.c:
        Removed compiler warning
      mysql-test/r/ctype_collate.result:
        Fixed wrong result
      mysql-test/r/heap_btree.result:
        More tests
      mysql-test/t/heap_btree.test:
        more tests
      mysys/charset.c:
        Don't read charsets if we are only using default charset
        Don't require 'init_available_charsets' to succeed.
      mysys/my_handler.c:
        Compare strings with space extend instead of space strip
      mysys/tree.c:
        Fixed code to get better results for range optimzier
      sql/field.cc:
        Compare strings with space extend instead of space strip
      sql/filesort.cc:
        Compare strings with space extend instead of space strip
      sql/ha_heap.cc:
        Created bit map for keys that are using BTREE. This allows the optimzer to use BTREE's for sorting
      sql/ha_heap.h:
        Created bit map for keys that are using BTREE. This allows the optimzer to use BTREE's for sorting
      strings/ctype-big5.c:
        Compare strings with space extend instead of space strip
      strings/ctype-czech.c:
        Indentation cleanup. Should be fixed to use space extend
      strings/ctype-gbk.c:
        Compare strings with space extend instead of space strip
      strings/ctype-latin1.c:
        Compare strings with space extend instead of space strip
        Added missing my_hash_sort_latin1_de function
      strings/ctype-mb.c:
        For binary strings, don't remove end space when comparing
      strings/ctype-simple.c:
        Compare strings with space extend instead of space strip
      strings/ctype-sjis.c:
        Compare strings with space extend instead of space strip
      strings/ctype-tis620.c:
        Added comments that we should fix end space handling
      strings/ctype-ucs2.c:
        indentation fixes
      strings/ctype-utf8.c:
        Added comments that we should fix end space handling
      strings/ctype-win1250ch.c:
        Added comments that we should fix end space handling
      3c46af6c
  14. 18 Mar, 2004 1 commit
    • unknown's avatar
      DBUG_ASSERT(fixed == 1); added to val* · 1a81e041
      unknown authored
      small optimisation in signed_literal
      
      
      sql/field.cc:
        layout fixed
      sql/item.cc:
        DBUG_ASSERT(fixed == 1); added to val*
        layout fixed
        fixed= 1; added where it was forgoten in fix_fields
        Item_string can be used without fix_fields
      sql/item.h:
        DBUG_ASSERT(fixed == 1); added to val*
        Item_string can be used without fix_fields
      sql/item_cmpfunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_cmpfunc.h:
        fixed layout and getting Item statistic
      sql/item_func.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_func.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_geofunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_strfunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
        layout fixed
      sql/item_strfunc.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_subselect.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_sum.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_sum.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_timefunc.cc:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_timefunc.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/item_uniq.h:
        DBUG_ASSERT(fixed == 1); added to val*
      sql/sql_base.cc:
        Item creation revised
      sql/sql_help.cc:
        Item creation revised
      sql/sql_load.cc:
        Item creation revised
      sql/sql_parse.cc:
        fix_field call added
      sql/sql_select.cc:
        Item creation revised
      sql/sql_show.cc:
        Item creation revised
      sql/sql_union.cc:
        Item creation revised
      sql/sql_update.cc:
        Item creation revised
      sql/sql_yacc.yy:
        Item creation revised
        small optimisation in signed_literal
      1a81e041
  15. 17 Mar, 2004 1 commit
    • unknown's avatar
      after merge fixes · 022c5241
      unknown authored
      include/my_tree.h:
        After merge fixes
      mysql-test/r/create.result:
        After merge fixes
      mysql-test/r/insert.result:
        After merge fixes
      mysql-test/r/multi_update.result:
        After merge fixes
      mysql-test/r/query_cache.result:
        After merge fixes
      mysql-test/r/rpl_error_ignored_table.result:
        After merge fixes
      mysql-test/r/rpl_optimize.result:
        After merge fixes
      mysql-test/r/show_check.result:
        After merge fixes
      mysql-test/t/insert.test:
        After merge fixes (Remove columns with space last)
      mysql-test/t/multi_update.test:
        After merge fixes
      mysql-test/t/show_check.test:
        After merge fixes
      sql/field.cc:
        Remove compiler warnings
      sql/sql_base.cc:
        Fix bug when table was refreshed
      022c5241
  16. 16 Mar, 2004 2 commits
    • unknown's avatar
      warnings removed · 6170af8c
      unknown authored
      6170af8c
    • unknown's avatar
      Fix for #233 (the second one) · b0cfa449
      unknown authored
      sql/field.cc:
        Field_geom::store() returns -1 as a sign of fatal error
      sql/field_conv.cc:
        set_field_to_null* return -1 now as the fatal error
      sql/item.cc:
        no sign inversions needed
      sql/opt_range.cc:
        -1 is the sign of fatal error now
      sql/sql_base.cc:
        -1 is the fatal error
      b0cfa449
  17. 12 Mar, 2004 1 commit
    • unknown's avatar
      Spatial code changed to get rid of inconsistent this->* operation · f84ec3c0
      unknown authored
      Now we use virtual calls instead and redirect VMT pointer of the
      geometry object with 'new' operation
      
      
      sql/field.cc:
        Usage of the Geometry class changed
      sql/item_geofunc.cc:
        Usage of the Geometry class changed
      sql/spatial.cc:
        Now we rewrite the real VMT of the object with new operation
      sql/spatial.h:
        No need for the VMT-like structure and pointers to it
      sql/sql_yacc.yy:
        enum items was renamed accordingly to coding standards
      f84ec3c0
  18. 05 Mar, 2004 1 commit
    • unknown's avatar
      - added commands --query_vertical and --query_horisontal to client/mysqltest.cc · 17c4d7f3
      unknown authored
      - get my_strtod to return inf
      - get Field_float::store(double) and Field_double::store(float) to set null for 
      nan value 
      (as extra serg's recomendations to fix for patch on 
       Bug #2082 'mysqldump converts "inf" to null')
      
      
      client/mysqltest.c:
        added commands --query_vertical and --query_horisontal
      mysql-test/r/insert.result:
        converted testcase so as my_strtod can return inf now
      mysql-test/r/mysqldump.result:
        converted testcase so as my_strtod can return inf now
      mysql-test/t/insert.test:
        corrected tests to using --query_vertical instead of 
        pair (vertical_results,horisontal_results)
      sql/field.cc:
        corrected Field_float::store(double) and Field_double::store(double)
        to set null for nan value
      strings/strtod.c:
        get my_strtod to return inf
      17c4d7f3
  19. 04 Mar, 2004 2 commits
    • unknown's avatar
      Fixed bug #2082 'mysqldump converts "inf" to NULL' and · c8bfc232
      unknown authored
      added commands vertical_results and horisontal_results to client/mysqltest.c
      
      
      client/mysqltest.c:
        added commands vertical_results and horisontal_results
      mysql-test/r/insert.result:
        added test for bug #2082 'mysqldump converts "inf" to NULL'
      mysql-test/t/insert.test:
        Fixed bug #2082 'mysqldump converts "inf" to NULL'
      sql/field.cc:
        added test for Fixed bug #2082 'mysqldump converts "inf" to NULL'
      c8bfc232
    • unknown's avatar
      Optimized GIS functions · afa6728a
      unknown authored
      heap/hp_delete.c:
        Added comments
      mysql-test/r/gis.result:
        Updated results after name changes (all results line are unchanged)
      mysql-test/r/show_check.result:
        Update test results after fix in hp_delete.cc
      mysql-test/t/gis.test:
        Changed table names to longer, hopefully non conflicting ones.
        Added missing drop table
      mysys/hash.c:
        Inendation cleanup
      mysys/tree.c:
        Updated comments
        Decrease tree->allocated on delete (for status)
      sql/field.cc:
        Added safety checking for GIS objects
      sql/gstream.cc:
        Added copyright message
        Made a lot of speed/space optimizations
        Changed class names to be MySQL compliant
      sql/gstream.h:
        Made a lot of speed/space optimizations
        Changed class names to be MySQL compliant
      sql/item_create.cc:
        Indentation fixup
      sql/item_geofunc.cc:
        Use new gis interface functions and new gis class names.
        Simple optimizations
        Indentation fixups
        Fixed a lot of unlikely but possible errors.
      sql/item_geofunc.h:
        Moved SRID_SIZE to spatial.h
      sql/spatial.cc:
        Added copyright message
        Made a lot of speed/space optimizations
        Changed class names to be MySQL compliant
      sql/spatial.h:
        Made a lot of speed/space optimizations
        Changed class names to be MySQL compliant
        Indentation fixes
        Use bool instead of int as result type for functions that only return 0 or 1
      sql/sql_string.cc:
        Simple optimizations
      sql/sql_string.h:
        Simple cleanups
      sql/structs.h:
        Added LEX_STRING_WITH_INIT (needed by spatial.cc)
      afa6728a
  20. 16 Feb, 2004 1 commit
    • unknown's avatar
      Changed wellformedlen to well_formed_len · 709356d4
      unknown authored
      Fixed that blobs >16M can be inserted/updated
      Fixed bug when doing CREATE TEMPORARY TABLE ... LIKE
      
      
      include/m_ctype.h:
        Changed wellformedlen to well_formed_len
      include/mysql.h:
        Fixed comment
      libmysql/libmysql.c:
        Fixed indentation
      libmysqld/lib_sql.cc:
        Fixed indentation
      mysql-test/r/ctype_utf8.result:
        updated warning numbers
      mysql-test/r/innodb.result:
        Moved test to right place
      mysql-test/r/myisam-blob.result:
        More test for blobs
      mysql-test/r/rpl000002.result:
        Move test to better place
      mysql-test/r/rpl_log.result:
        Move test to better place
      mysql-test/r/union.result:
        Move test to better place
      mysql-test/t/innodb.test:
        Moved test to right place
      mysql-test/t/myisam-blob.test:
        More test of blobs
      mysql-test/t/rpl000002.test:
        Move test to better place
      mysql-test/t/rpl_log.test:
        Move test to better place
      mysql-test/t/union.test:
        Move test to better place
      sql/field.cc:
        Changed wellformedlen to well_formed_len.
        Fixed that blobs >16M can be inserted/updated (new bug)
      sql/field.h:
        Code optimization
      sql/sql_lex.cc:
        Changed short variable names
      sql/sql_show.cc:
        Optimized quote handling
      sql/sql_table.cc:
        Fixed bug when doing CREATE TEMPORARY TABLE ... LIKE
      sql/sql_union.cc:
        Added comment
      strings/ctype-big5.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-bin.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-euc_kr.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-gb2312.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-gbk.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-latin1.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-mb.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-simple.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-sjis.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-tis620.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-ucs2.c:
        Changed wellformedlen to well_formed_len
        Indentation changes
      strings/ctype-ujis.c:
        Changed wellformedlen to well_formed_len
      strings/ctype-utf8.c:
        Changed wellformedlen to well_formed_len
      709356d4
  21. 10 Feb, 2004 1 commit
  22. 09 Feb, 2004 2 commits
    • unknown's avatar
      Ensure that result from date_format() is binary · 74b81a80
      unknown authored
      Removed warnings from test suite
      
      
      mysql-test/r/ctype_utf8.result:
        Update results after fix of return argument from date_format()
      mysql-test/r/date_formats.result:
        Remove unnecessary warnings
      mysql-test/r/type_decimal.result:
        Remove unnecessary warnings
      mysql-test/r/warnings.result:
        Remove unnecessary warnings
      mysql-test/t/ctype_utf8.test:
        Fixed test
      mysql-test/t/date_formats.test:
        Remove unnecessary warnings
      mysql-test/t/type_decimal.test:
        Remove unnecessary warnings
      mysql-test/t/warnings.test:
        Remove unnecessary warnings
      sql/field.cc:
        Optimize
      sql/item_timefunc.cc:
        Ensure that result from date_format() is binary
      strings/ctype-simple.c:
        Better names for arguments
      74b81a80
    • unknown's avatar
      Added --compact to mysqlbinlog · 35b1f544
      unknown authored
      Fixed output from mysqlbinlog when using --skip-comments
      Fixed warnings from valgrind
      Fixed ref_length when used with HEAP tables
      More efficent need_conversion()
      Fixed error handling in UPDATE with not updateable tables
      Fixed bug in null handling in CAST to signed/unsigned
      
      
      
      client/client_priv.h:
        cleanup & added OPT_COMPACT
      client/mysqldump.c:
        Added option --compact to get a compact readable dump.
        Ensure that SET CHARACTER_SET_CLIENT is not done if we have not remembered the old character set
        Print optimization comments even if --skip-comments are given as these are not true comments. (Before these where only printed at end, which was a bug)
      mysql-test/r/cast.result:
        More cast tests
      mysql-test/r/derived.result:
        Removed warnings
      mysql-test/r/mysqldump.result:
        Update results after fixing mysqlbinlog
      mysql-test/r/query_cache.result:
        Make test usable with --extern
        more tests
      mysql-test/r/rpl_until.result:
        Make test repeatable under valgrind
      mysql-test/r/sql_mode.result:
        Fix test result
      mysql-test/r/subselect.result:
        Make test smaller. Update wrong results
      mysql-test/t/cast.test:
        More cast tests
      mysql-test/t/derived.test:
        Removed warnings
      mysql-test/t/query_cache.test:
        Make test usable with --extern
        more tests
      mysql-test/t/rpl_until.test:
        fix for valgrind.  Becasue of unknown reason one got 'Slave_SQL_Running=yes' in this setup
      mysql-test/t/subselect.test:
        Make test case smaller
      sql/field.cc:
        Updated need_conversion() to use new arguments
      sql/ha_heap.cc:
        Moved initialization of ref_length to right place. This fixed problem that we had a ref_length of 8 for heap tables, which was not efficent.
      sql/item_func.cc:
        Cleanup
      sql/item_func.h:
        Fixed bug in null_handling for cast to signed/unsigned
      sql/item_strfunc.cc:
        Optimized/cleaned up Item_func_conv_charset3
      sql/item_sum.cc:
        Cleanup.
        Ensure that some flag variables are cleared in cleanup()
      sql/item_sum.h:
        Fixed references to uninitialized memory
      sql/opt_range.cc:
        Fixed spelling error
      sql/sql_class.cc:
        Fixed wrong return code, which could case protocol problems
      sql/sql_class.h:
        After merge fix
      sql/sql_prepare.cc:
        Added comments
      sql/sql_show.cc:
        Cleanup
      sql/sql_string.cc:
        Optimzed usage of need_conversion().
        - Removed not used argument
        - Save diff lenght in 'offset' to not have to recalculate length several times.
        Cleaned up comment
        Optimized copy_aligned() based on the knowledge that it's only called when you have wrong data
      sql/sql_string.h:
        Updated need_conversion() and copy_aligned() to use new arguments
      sql/sql_update.cc:
        Fixed error handling with non-updateable tables
      sql/sql_yacc.yy:
        Ensure that lex->lock_options are set correctly (to get rid of warnings from valgrind)
        Ensure that cast_type sets lex->charset and lex->length. Without these CONVERT() didn't work properly
      35b1f544
  23. 06 Feb, 2004 1 commit
  24. 30 Jan, 2004 2 commits
    • unknown's avatar
      Fix for bug #2523 '"func_time" test fails on QNX'. · ef55f2dc
      unknown authored
      Moved all range checks for TIMESTAMP value to my_gmt_sec().
      Also fixed check of upper boundary of TIMESTAMP range (which 
      also now will catch datetime values which are too small for
      TIMESTAMP in case if time_t is unsigned).  
      
      
      mysql-test/r/timezone.result:
        Added test which checks if TIMESTAMP range is checked 
        correctly (current time zone is honoured and both upper 
        and lower bounds of TIMESTAMP range are checked).
      mysql-test/t/timezone.test:
        Added test which checks if TIMESTAMP range is checked 
        correctly (current time zone is honoured and both upper 
        and lower bounds of TIMESTAMP range are checked).
      sql/field.cc:
        Check if datetime value is in TIMESTAMP range has moved to 
        my_gmt_sec() function.
      sql/mysql_priv.h:
        Added more constants for checking if datetime is in allowed
        range for TIMESTAMP.
      sql/time.cc:
        Check if datetime value is in TIMESTAMP range has moved to 
        my_gmt_sec() function. Fixed check of its return value
        to catch overflows in both directions and also overflows in 
        case of unsigned time_t.
      ef55f2dc
    • unknown's avatar
      Fix for bugs #1885, #2464, #2539. Proper handling of default · a96ffb29
      unknown authored
      values for TIMESTAMP columns. The solution is not perfect since
      we just silently ignoring default value for first TIMESTAMP 
      column and properly reflecting this fact in SHOW CREATE TABLE.
      We can't give a warning or simply support standard syntax 
      (niladic functions as legal value for default) for first field 
      since it is 4.0 tree.
      
      
      mysql-test/r/type_timestamp.result:
        Added test for bugs #1885, #2464, #2539
        (proper support of default values for TIMESTAMP columns)
      mysql-test/t/type_timestamp.test:
        Added test for bugs #1885, #2464, #2539
        (proper support of default values for TIMESTAMP columns)
      sql/field.cc:
        Enabled copying of defaults for TIMESTAMP fields when we are 
        creating table with CREATE TABLE x (SELECT ...)
      sql/field.h:
        Set proper DEFAULT value for non-first TIMESTAMP column.
      sql/sql_parse.cc:
        Allowed default values for TIMESTAMP column.
      sql/sql_show.cc:
        Enabled printing of default values in SHOW CREATE TABLE and 
        SHOW COLUMNS for all TIMESTAMP columns except first one.
      a96ffb29
  25. 21 Jan, 2004 1 commit
  26. 19 Jan, 2004 1 commit
  27. 15 Jan, 2004 2 commits
    • unknown's avatar
      SCRUM: · 235f1a4d
      unknown authored
      WL#1163 (Making spatial code optional)
      Pack of changes to do in sql/ code.
      
      
      sql/field.cc:
        Spatial code #ifdef-ed
      sql/field.h:
        Spatial code #ifdef-ed
      sql/item_create.cc:
        Spatial code #ifdef-ed
      sql/item_create.h:
        Spatial code #ifdef-ed
      sql/item_geofunc.cc:
        Spatial code #ifdef-ed
      sql/item_geofunc.h:
        Spatial code #ifdef-ed
        GEOM_NEW implementation
      sql/lex.h:
        Code was significally modified to support optional group
        of functions
      sql/lex_symbol.h:
        SYM_GROUP structure presented
      sql/sql_table.cc:
        Spatial code #ifdef-ed
      sql/sql_yacc.yy:
        Several modifications to make spatial code optional
      sql/table.cc:
        Spatial code #ifdef-ed
      sql/unireg.cc:
        Spatial code #ifdef-ed
      235f1a4d
    • unknown's avatar
      field.cc: · 5dcab209
      unknown authored
        http://bugs.mysql.com/bug.php?id=2218
        updating utf-8 text field generate nonsense chars
        Fix for the above bug.
      
      
      sql/field.cc:
        http://bugs.mysql.com/bug.php?id=2218
        updating utf-8 text field generate nonsense chars
        Fix for the above bug.
      5dcab209
  28. 19 Dec, 2003 1 commit
    • unknown's avatar
      Fixes after merge with 4.0 · 9c2a63e3
      unknown authored
      Cleaned up embedded library access and query cache handling
      Changed min stack size to 128K (to allow longer MyISAM keys)
      Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)
      
      
      client/mysqldump.c:
        Fixed bugs found after merge
      include/mysql_embed.h:
        Disable query cache when using embedded version
      myisam/mi_check.c:
        Removed not used variable
      mysql-test/r/auto_increment.result:
        Fixed bugs found after merge
      mysql-test/r/bdb.result:
        Fixed bugs found after merge
      mysql-test/r/func_group.result:
        Fixed bugs found after merge
      mysql-test/r/func_str.result:
        Fixed bugs found after merge
      mysql-test/r/func_time.result:
        Fixed bugs found after merge
      mysql-test/r/group_by.result:
        Fixed bugs found after merge
      mysql-test/r/innodb.result:
        Fixed bugs found after merge
      mysql-test/r/insert.result:
        Fixed bugs found after merge
      mysql-test/r/join_outer.result:
        Fixed bugs found after merge
      mysql-test/r/loaddata.result:
        Fixed bugs found after merge
      mysql-test/r/multi_update.result:
        Fixed bugs found after merge
      mysql-test/r/mysqldump.result:
        Update results
      mysql-test/r/rpl_EE_error.result:
        Fixed bugs found after merge
      mysql-test/r/rpl_multi_update.result:
        Fixed bugs found after merge
      mysql-test/r/symlink.result:
        Update results
      mysql-test/r/type_blob.result:
        Update results
      mysql-test/r/type_datetime.result:
        Update results
      mysql-test/r/type_decimal.result:
        Update results
      mysql-test/r/type_enum.result:
        Fixed bugs found after merge
      mysql-test/r/type_timestamp.result:
        Update results
      mysql-test/r/union.result:
        Update results
      mysql-test/r/warnings.result:
        Update results
      mysql-test/t/bdb.test:
        Fix test for 4.1
      mysql-test/t/innodb.test:
        Fix test for 4.1
      mysql-test/t/multi_update.test:
        Fix test for 4.1
      mysql-test/t/mysqldump.test:
        Fix test for 4.1
      mysql-test/t/rpl_EE_error.test:
        Fix test for 4.1
      mysql-test/t/rpl_multi_update.test:
        Fix test for 4.1
      mysql-test/t/union.test:
        Cleanup
      mysys/charset.c:
        Check results from my_once_alloc()
      mysys/my_handler.c:
        part of 4.0 merge
      sql-common/client.c:
        Part of 4.0 merge
      sql/field.cc:
        After merge fixes
      sql/field.h:
        After merge fixes
      sql/ha_innodb.cc:
        Remove duplicate include files
      sql/item.cc:
        Changed automatic int conversion to be of type binary
      sql/item.h:
        After merge fixes
      sql/item_func.cc:
        Changed automatic int conversion to be of type binary
      sql/item_func.h:
        After merge fixes
      sql/item_strfunc.cc:
        Added comments
      sql/item_subselect.cc:
        Indentation fixes
      sql/item_sum.cc:
        Changed automatic int conversion to be of type binary
      sql/item_sum.h:
        After merge fixes
      sql/mysql_priv.h:
        Cleanup embedded library access checks
      sql/mysqld.cc:
        Changed min stack size to 128K (to allow longer MyISAM keys)
      sql/set_var.cc:
        Fixed compiler warnings
      sql/share/czech/errmsg.txt:
        Better error message
      sql/share/danish/errmsg.txt:
        Better error message
      sql/share/dutch/errmsg.txt:
        Better error message
      sql/share/english/errmsg.txt:
        Better error message
      sql/share/estonian/errmsg.txt:
        Better error message
      sql/share/french/errmsg.txt:
        Better error message
      sql/share/greek/errmsg.txt:
        Better error message
      sql/share/hungarian/errmsg.txt:
        Better error message
      sql/share/italian/errmsg.txt:
        Better error message
      sql/share/japanese/errmsg.txt:
        Better error message
      sql/share/korean/errmsg.txt:
        Better error message
      sql/share/norwegian-ny/errmsg.txt:
        Better error message
      sql/share/norwegian/errmsg.txt:
        Better error message
      sql/share/polish/errmsg.txt:
        Better error message
      sql/share/romanian/errmsg.txt:
        Better error message
      sql/share/russian/errmsg.txt:
        Better error message
      sql/share/serbian/errmsg.txt:
        Better error message
      sql/share/slovak/errmsg.txt:
        Better error message
      sql/share/spanish/errmsg.txt:
        Better error message
      sql/share/swedish/errmsg.txt:
        Better error message
      sql/share/ukrainian/errmsg.txt:
        Better error message
      sql/sql_acl.h:
        Cleaned up embedded library acccess checks
      sql/sql_base.cc:
        After merge fixes
      sql/sql_client.cc:
        After merge fixes
      sql/sql_parse.cc:
        After merge fixes
        Changed access check code for embedded library (needed to make code shorter and ensure that check_table_access() is called)
        Recoded create-table handling for CREATE TABLE ... SELECT to make code shorter and faster
      sql/sql_prepare.cc:
        Add missing arguments
      sql/sql_select.cc:
        After merge fixes
      sql/sql_update.cc:
        After merge fixes
      sql/sql_yacc.yy:
        Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)
      sql/table.cc:
        After merge fixes
      9c2a63e3
  29. 17 Dec, 2003 2 commits
  30. 16 Dec, 2003 2 commits
    • unknown's avatar
      proper fix for the bug #2077: accented characters in enum/defaul values are reported incorrectly. · 96636daf
      unknown authored
      note: bar asked me to use res.charset in ::sql_type() functions to be more consistent.
      
      
      mysql-test/r/type_enum.result:
        proper fix for the bug #2077: accented characters in enum/defaul values are reported incorrectly
      mysql-test/t/type_enum.test:
        proper fix for the bug #2077: accented characters in enum/defaul values are reported incorrectly
      sql/field.cc:
        proper fix for the bug #2077: accented characters in enum/defaul values are reported incorrectly
      sql/sql_show.cc:
        proper fix for the bug #2077: accented characters in enum/defaul values are reported incorrectly
      sql/table.cc:
        proper fix for the bug #2077: accented characters in enum/defaul values are reported incorrectly
      96636daf
    • unknown's avatar
      Fixes for last pull · 4bdfe0fb
      unknown authored
      libmysqld/lib_sql.cc:
        Fixed compilation error in embedded library (from last pull)
      sql/field.cc:
        Safer timestamp year checking (as 1969 can be in timestamp)
      4bdfe0fb