An error occurred fetching the project authors.
  1. 07 Nov, 2004 1 commit
    • unknown's avatar
      postreview fixes · f1b9bf69
      unknown authored
      mysql-test/r/multi_update.result:
        test with multiupdate reopening tables
      mysql-test/t/multi_update.test:
        test with multiupdate reopening tables
      sql/item.cc:
        processor for cleunuping items in item tree
      sql/item.h:
        processor for cleunuping items in item tree
      sql/sql_update.cc:
        fixed case when lock reopened tables
      sql/table.cc:
        methos for cleunup view itema of table if they are present
      sql/table.h:
        methos for cleunup view itema of table if they are present
      f1b9bf69
  2. 05 Nov, 2004 1 commit
    • unknown's avatar
      new lock for multiupdate: · 8b0ece5e
      unknown authored
      - open and create derived tables
      - detect which tables should be locked for write
      - lock and fill derived tables
      some unitialized variables fixed
      
      
      mysql-test/r/lock_multi.result:
        correct results returned
      mysql-test/r/multi_update.result:
        correct results returned
      mysql-test/r/view.result:
        correct results returned
      mysql-test/t/multi_update.test:
        correct results returned
      mysql-test/t/view.test:
        correct results returned
      sql/mysql_priv.h:
        derived tables processing splited on table creation and table filling
      sql/sql_base.cc:
        derived tables processing splited on table creation and table filling
      sql/sql_class.h:
        function to detect when we need fill derived tables
      sql/sql_derived.cc:
        derived tables processing splited on table creation and table filling
      sql/sql_lex.cc:
        fixed uninitialized value
      sql/sql_load.cc:
        fixed uninitialized value
      sql/sql_parse.cc:
        initialization muved (will be done for all queries)
      sql/sql_prepare.cc:
        preparation of multiupdate changed a bit because new locking procedure
      sql/sql_update.cc:
        new lock for multiupdate:
        - open and create derived tables
        - detect which tables should be locked for write
        - lock and fill derived tables
      sql/table.h:
        place to store select_result between creation and filling tables
      8b0ece5e
  3. 03 Nov, 2004 1 commit
    • unknown's avatar
      Fixes after merge with 4.1 · f5a47f15
      unknown authored
      FOUND is not a reserved keyword anymore
      Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
      Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
      Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete
      
      
      BUILD/SETUP.sh:
        Portability fix
      client/mysqltest.c:
        Portability fix
      mysql-test/r/drop.result:
        updated results
      mysql-test/r/func_str.result:
        New warnings (after merge)
      mysql-test/r/insert.result:
        Updated tests
      mysql-test/r/join_nested.result:
        Updated results (because of new column types in 5.0)
      mysql-test/r/lock_multi.result:
        Temporarly wrong results until Sanja fixes multi-update-lock in 5.0
      mysql-test/r/multi_update.result:
        Temporary fix until Sanja fixes multi-update locking
      mysql-test/r/ps_1general.result:
        Update of results after merge
      mysql-test/r/ps_2myisam.result:
        Update of results after merge
      mysql-test/r/ps_3innodb.result:
        Update of results after merge
      mysql-test/r/ps_4heap.result:
        Update of results after merge
      mysql-test/r/ps_5merge.result:
        Update of results after merge
      mysql-test/r/ps_6bdb.result:
        Update of results after merge
      mysql-test/r/query_cache.result:
        Update of results after merge
      mysql-test/r/range.result:
        New results for new tests
      mysql-test/r/rpl_auto_increment.result:
        Update with new 4.0 information
      mysql-test/r/rpl_charset.result:
        After merge fixes
      mysql-test/r/subselect.result:
        After merge fixes
      mysql-test/r/view.result:
        Temporary fix until multi-update-locking is fixed
      mysql-test/t/drop.test:
        Safety fix
      mysql-test/t/multi_update.test:
        Temporary fix until multi-update-locking is fixed
      mysql-test/t/rpl_charset.test:
        More comments
      mysql-test/t/sp-error.test:
        Updated comments
      mysql-test/t/view.test:
        Temporary fix until multi-update-locking is fixed
      scripts/mysql_fix_privilege_tables.sh:
        Better error message
      sql-common/client.c:
        More debugging
      sql/ha_ndbcluster.cc:
        After merge fixes
      sql/handler.cc:
        After merge fixes
      sql/item.cc:
        Simple optimization of creating item
        After merge fixed
        Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
        The problem is that if you compare a string field to a binary string, you can't replace the field with a string constant as the binary comparison may then fail (The original field value may be in a different case)
      sql/item.h:
        Added Item::set_no_const_sub() to be able to mark fields that can't be substituted
      sql/item_cmpfunc.cc:
        Mark fields compared as binary to not be substituted.
      sql/item_func.cc:
        After merge fix
      sql/log_event.cc:
        After merge fix
      sql/mysql_priv.h:
        After merge fix
      sql/opt_range.cc:
        After merge fix
      sql/protocol.cc:
        Made flags uint instead of int (as it's used as a bit mask)
      sql/protocol.h:
        Made flags uint instead of int (as it's used as a bit mask)
      sql/protocol_cursor.cc:
        Made flags uint instead of int (as it's used as a bit mask)
        Indentation cleanups
      sql/sp.cc:
        After merge fixes
        Removed compiler warnings
      sql/sp_head.cc:
        After merge fixes
      sql/sql_base.cc:
        After merge fixes
        Removed 'send_error' from 'insert_fields()' as the error is sent higher up
      sql/sql_class.cc:
        Give assert if set_n_backup_item_arena is used twice
      sql/sql_class.h:
        Give assert if set_n_backup_item_arena is used twice
        After merge fixes
        Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
      sql/sql_handler.cc:
        After merge fixes
      sql/sql_parse.cc:
        After merge fixes
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
        Moved 'build_equal_items' to optimize_cond() (logical place)
      sql/sql_table.cc:
        After merge fixes
      sql/sql_trigger.cc:
        After merge fixes
      sql/sql_update.cc:
        After merge fixes
        (This should be fixed by Sanja to have lower granuality locking of tables in multi-update)
      sql/sql_view.cc:
        After merge fixes
      sql/sql_yacc.yy:
        After merge fixes
        Don't have FOUND as a reserved keyword
      f5a47f15
  4. 09 Oct, 2004 1 commit
    • unknown's avatar
      fixed incorrect type custing (fixed problem with runing tests with --debug... · 13ec4317
      unknown authored
      fixed incorrect type custing (fixed problem with runing tests with --debug (thanks, Sergei Gluhov spoted it))
      
      
      mysql-test/r/view.result:
        PS with multiupdate and view with collate
      mysql-test/t/view.test:
        PS with multiupdate and view with collate
      sql/sql_update.cc:
        fixed incorrect type custing
      13ec4317
  5. 07 Oct, 2004 1 commit
    • unknown's avatar
      After merge fixes · 96e7be58
      unknown authored
      Some bigger code changes was necessary becasue of the multi-table-update and the new HANDLER code
      
      
      include/hash.h:
        Added back function that's was used in 4.0
      mysql-test/r/delete.result:
        Update results after merge
      mysql-test/r/flush_table.result:
        Update results after merge
      mysql-test/r/func_str.result:
        Update results after merge
      mysql-test/r/handler.result:
        Update results after merge
        Change is big becasue in MySQL 4.1 you are not allowed to qualify the handler alias with a databasename
      mysql-test/r/multi_update.result:
        More startup cleanups
      mysql-test/r/rename.result:
        More startup-cleanups
      mysql-test/r/select.result:
        More startup cleanups
      mysql-test/r/show_check.result:
        More startup-cleanups
      mysql-test/t/ctype_latin1_de.test:
        Cleanup
      mysql-test/t/derived.test:
        Portability fix
      mysql-test/t/handler.test:
        Update results after merge
        Change is big becasue in MySQL 4.1 you are not allowed to qualify the handler alias with a databasename
      mysql-test/t/multi_update.test:
        More startup cleanups
      mysql-test/t/range.test:
        More comments
      mysql-test/t/rename.test:
        More startup cleanups
      mysql-test/t/select.test:
        More startup cleanups
      mysql-test/t/show_check.test:
        More startup cleanups
      mysql-test/t/type_timestamp.test:
        Add back test deleted during merge
      sql/item_cmpfunc.cc:
        After merge fixes
      sql/item_func.cc:
        Remove compiler warning
      sql/mysql_priv.h:
        After merge fixes
      sql/mysqld.cc:
        After merge fixes
      sql/sql_acl.cc:
        More debugging
      sql/sql_base.cc:
        After merge fixes
        (This fix was needed bacause of multi-table-update reopens tables)
      sql/sql_handler.cc:
        After merge fixes
      sql/sql_lex.h:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
      sql/sql_show.cc:
        After merge fixes
      sql/sql_table.cc:
        After merge fixes
        Simple cleanup of mysql_discard_or_import_tablespace
      sql/sql_update.cc:
        After merge fixes
        Rework mysql_multi_update to take into account derived tables.
      sql/sql_yacc.yy:
        After merge fixes
      96e7be58
  6. 06 Oct, 2004 1 commit
    • unknown's avatar
      fixed & added comments (according to Igor's review and a bit more) · 640fefff
      unknown authored
      sql/item_strfunc.h:
        spelling fixed
      sql/parse_file.cc:
        spelling fixed
      sql/parse_file.h:
        spelling fixed
      sql/password.c:
        spelling fixed
      sql/sql_acl.cc:
        spelling fixed
      sql/sql_lex.cc:
        comments added and fixed
      sql/sql_parse.cc:
        spelling fixed
      sql/sql_show.cc:
        spelling fixed
      sql/sql_update.cc:
        comments fixed
      sql/sql_view.cc:
        comments added
        spelling and comments fixed
        // comments changed with /* */ ones
      sql/sql_yacc.yy:
        comments fixed
      sql/table.cc:
        spelling fixed
        comments added and fixed
      sql/table.h:
        spelling fixed
        comments fixed
      640fefff
  7. 05 Oct, 2004 1 commit
    • unknown's avatar
      Reverted patch for new usage of open_count as it caused more problems than it solved · 0d76cb7e
      unknown authored
      Cleaned up patch for checking locks for multi-table updates
      
      
      myisam/mi_close.c:
        Reverted patch for new usage of open_counts
      myisam/mi_locking.c:
        Reverted patch for new usage of open_counts
      sql/ha_myisam.cc:
        Reverted patch for new usage of open_counts
      sql/handler.cc:
        Removed compiler warning
      sql/sql_acl.cc:
        Removed compiler warning
      sql/sql_table.cc:
        No need to unlock after failed call to external_lock()
      sql/sql_update.cc:
        Cleaned up (and made it more secure) patch for checking locks for multi-table updates
      0d76cb7e
  8. 04 Oct, 2004 1 commit
  9. 02 Oct, 2004 2 commits
    • unknown's avatar
      Bug#4118: multi-table UPDATE takes WRITE lock on read table · a49f5cae
      unknown authored
        Ensures that WRITE lock is not obtained on all tables referenced.
      
      
      mysql-test/r/lock_multi.result:
        Bug#4118
          New test for multi-update locking
      mysql-test/r/multi_update.result:
        Bug#4118
          Fix test
      mysql-test/t/lock_multi.test:
        Bug#4118
          New test for multi-update locking
      mysql-test/t/multi_update.test:
        Bug#4118
          Fix test
      sql/sql_parse.cc:
        Bug#4118
          Split multi-update to its own case statement in sql_parse.cc
      sql/sql_update.cc:
        Bug#4118
          Overview of locking checking:    
            1. Open and acquire READ lock
            2. Check to see which tables need WRITE lock
            3. Unlock tables and relock
      sql/sql_yacc.yy:
        Bug#4118
          Split multi-update to its own case statement in sql_parse.cc
      a49f5cae
    • unknown's avatar
      More fixes for strict mode: · 6966e869
      unknown authored
      More tests.
      Better error messages.
      Fixed bug when checking if we updated all needed columns for INSERT.
      Give an error if we encounter a wrong float value during parsing.
      Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
      Fixed UPDATE IGNORE when using STRICT mode.
      
      
      include/mysqld_error.h:
        More error messages for strict mode
      include/sql_state.h:
        Fixed wrong state
        New error message
      mysql-test/r/alter_table.result:
        Updated results for not automatic default fields
      mysql-test/r/auto_increment.result:
        Better error messages
      mysql-test/r/create.result:
        Updated results for not automatic default fields
        Better error messages
      mysql-test/r/ctype_collate.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_latin1_de.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_many.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_recoding.result:
        Updated results for not automatic default fields
      mysql-test/r/gis-rtree.result:
        Updated results for not automatic default fields
      mysql-test/r/gis.result:
        Updated results for not automatic default fields
      mysql-test/r/innodb.result:
        Updated results for not automatic default fields
      mysql-test/r/insert.result:
        Better error messages
      mysql-test/r/insert_select.result:
        Better error messages
      mysql-test/r/isam.result:
        Updated results for not automatic default fields
      mysql-test/r/key.result:
        Better error messages
      mysql-test/r/merge.result:
        Updated results for not automatic default fields
      mysql-test/r/null.result:
        Better error messages
      mysql-test/r/null_key.result:
        Better error messages
      mysql-test/r/ps_1general.result:
        Updated results for not automatic default fields
      mysql-test/r/select.result:
        Drop views that may interfere with later results
      mysql-test/r/show_check.result:
        Updated results for not automatic default fields
      mysql-test/r/sp.result:
        Updated results for not automatic default fields
      mysql-test/r/strict.result:
        More tests
      mysql-test/r/type_set.result:
        Updated results for not automatic default fields
      mysql-test/r/warnings.result:
        Better error messages
      mysql-test/t/insert.test:
        Using wrong float values now gives an error
      mysql-test/t/select.test:
        Drop views that may interfere with later results
      mysql-test/t/strict.test:
        More tests
      scripts/mysql_fix_privilege_tables.sql:
        Add missing DEFAULT's
      sql/field.cc:
        Fix some strict mode issues for float and double
      sql/field.h:
        Fix DEFAULT handling
      sql/item.cc:
        Give an error if we encounter a wrong float value during parsing.
        Give an error if we use DEFAULT() on a field that doesn't have a default value.
      sql/item.h:
        Give an error if we encounter a wrong float value during parsing.
      sql/mysqld.cc:
        More debug info
      sql/share/czech/errmsg.txt:
        Better error messages
      sql/share/danish/errmsg.txt:
        Better error messages
      sql/share/dutch/errmsg.txt:
        Better error messages
      sql/share/english/errmsg.txt:
        Better error messages
      sql/share/estonian/errmsg.txt:
        Better error messages
      sql/share/french/errmsg.txt:
        Better error messages
      sql/share/german/errmsg.txt:
        Better error messages
      sql/share/greek/errmsg.txt:
        Better error messages
      sql/share/hungarian/errmsg.txt:
        Better error messages
      sql/share/italian/errmsg.txt:
        Better error messages
      sql/share/japanese/errmsg.txt:
        Better error messages
      sql/share/korean/errmsg.txt:
        Better error messages
      sql/share/norwegian-ny/errmsg.txt:
        Better error messages
      sql/share/norwegian/errmsg.txt:
        Better error messages
      sql/share/polish/errmsg.txt:
        Better error messages
      sql/share/portuguese/errmsg.txt:
        Better error messages
      sql/share/romanian/errmsg.txt:
        Better error messages
      sql/share/russian/errmsg.txt:
        Better error messages
      sql/share/serbian/errmsg.txt:
        Better error messages
      sql/share/slovak/errmsg.txt:
        Better error messages
      sql/share/spanish/errmsg.txt:
        Better error messages
      sql/share/swedish/errmsg.txt:
        Better error messages
      sql/share/ukrainian/errmsg.txt:
        Better error messages
      sql/sql_insert.cc:
        Fixed bug in last push of checking of default values.
      sql/sql_parse.cc:
        Enum fields has always a default value
      sql/sql_show.cc:
        Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS
      sql/sql_table.cc:
        Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
      sql/sql_update.cc:
        Don't abort for wrong values for UPDATE IGNORE
      sql/sql_yacc.yy:
        Abort if we find a wrong float value
      sql/table.cc:
        Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
      6966e869
  10. 01 Oct, 2004 1 commit
    • unknown's avatar
      Support for TIMESTAMP columns holding NULL values. Unlike all other · 7b511544
      unknown authored
      column types TIMESTAMP is NOT NULL by default, so in order to have 
      TIMESTAMP column holding NULL valaues you have to specify NULL as
      one of its attributes (this needed for backward compatibility).
      
      Main changes:
      Replaced TABLE::timestamp_default_now/on_update_now members with
      TABLE::timestamp_auto_set_type flag which is used everywhere
      for determining if we should auto-set value of TIMESTAMP field 
      during this operation or not. We are also use Field_timestamp::set_time()
      instead of handler::update_timestamp() in handlers.
      
      
      mysql-test/r/type_timestamp.result:
        Added test for TIMESTAMP columns which are able to store NULL values.
      mysql-test/t/type_timestamp.test:
        Added test for TIMESTAMP columns which are able to store NULL values.
      sql/field.cc:
        Added support for TIMESTAMP fields holding NULL values.
        We don't need Field_timestamp::set_timestamp_offsets() anymore.
        Instead we need Field_timestamp::get_auto_set_type() function
        which will convert TIMESTAMP auto-set type stored in Field in 
        unireg_check to value from timestamp_auto_set_type_enum.
        (We can't replace this function with additional Field_timestamp member
        and some code in constructor because then we will have troubles
        with Field::new_field() method).
        We should also set field to not null in Field_timestamp::set_time() now.
      sql/field.h:
        Added support for TIMESTAMP fields holding NULL values.
        We don't need Field_timestamp::set_timestamp_offsets() anymore.
        Instead we need Field_timestamp::get_auto_set_type() function,
        which will convert TIMESTAMP auto-set type stored in Field in 
        unireg_check to value from timestamp_auto_set_type_enum.
        We also have to support NULL values in Field_timestamp::get_timestamp()
        function.
      sql/field_conv.cc:
        Added comment clarifying behavior in case of TIMESTAMP fields which are
        able to store NULL values.
      sql/ha_berkeley.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_heap.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_innodb.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_isam.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_isammrg.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_myisam.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_myisammrg.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_ndbcluster.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/handler.cc:
        handler::update_timestamp() is no longer needed since now we use
        Field_timestamp::set_time() instead.
        (we can't use handler::update_timestamp() anyway since field position
        only is not enough for TIMESTAMP fields which are able to store NULLs)
      sql/handler.h:
        handler::update_timestamp() is no longer needed since now we use
        Field_timestamp::set_time() instead.
      sql/item_timefunc.cc:
        Since now TIMESTAMP fields can hold NULL values we should take this into
        account.
      sql/sql_base.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now. 
        (Here we use Field_timestamp::get_auto_set_type() to setup its value
         before further statement execution).
      sql/sql_insert.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_load.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_parse.cc:
        Added support for TIMESTAMP fields holding NULL values.
        We should distinguish NULL default values and non-specified default
        values for such fields (because latter could mean DEFAULT NOW()
        ON UPDATE NOW() in some cases).
      sql/sql_show.cc:
        Added support for TIMESTAMP fields holding NULL values.
        Unlike all other fields these are NOT NULL by default
        so we have to specify NULL attribute explicitly for them.
      sql/sql_table.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_update.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_yacc.yy:
        Added support for TIMESTAMP fields holding NULL values.
        Unlike all other fields these are NOT NULL by default
        (so we have to set NOT_NULL_FLAG properly for them).
      sql/table.h:
        Added timestamp_auto_set_type enum which values are used for indicating
        during which operations we should automatically set TIMESTAPM field
        value to current timestamp.
        TABLE: Replaced timestamp_default_now/on_update_now members with
        timestamp_auto_set_type flag (Now when TIMESTAMP field are able to 
        store NULL values, single position of field in record is not enough 
        for updating this field anyway).
      7b511544
  11. 29 Sep, 2004 1 commit
    • unknown's avatar
      post review changes: · e05e1860
      unknown authored
      CHECK OPTION moved to one function
      view name added to error messages
      
      
      mysql-test/r/view.result:
        error messages changed
      sql/share/czech/errmsg.txt:
        view name added
      sql/share/danish/errmsg.txt:
        view name added
      sql/share/dutch/errmsg.txt:
        view name added
      sql/share/english/errmsg.txt:
        view name added
      sql/share/estonian/errmsg.txt:
        view name added
      sql/share/french/errmsg.txt:
        view name added
      sql/share/german/errmsg.txt:
        view name added
      sql/share/greek/errmsg.txt:
        view name added
      sql/share/hungarian/errmsg.txt:
        view name added
      sql/share/italian/errmsg.txt:
        view name added
      sql/share/japanese/errmsg.txt:
        view name added
      sql/share/korean/errmsg.txt:
        view name added
      sql/share/norwegian-ny/errmsg.txt:
        view name added
      sql/share/norwegian/errmsg.txt:
        view name added
      sql/share/polish/errmsg.txt:
        view name added
      sql/share/portuguese/errmsg.txt:
        view name added
      sql/share/romanian/errmsg.txt:
        view name added
      sql/share/russian/errmsg.txt:
        view name added
      sql/share/serbian/errmsg.txt:
        view name added
      sql/share/slovak/errmsg.txt:
        view name added
      sql/share/spanish/errmsg.txt:
        view name added
      sql/share/swedish/errmsg.txt:
        view name added
      sql/share/ukrainian/errmsg.txt:
        view name added
      sql/sql_class.h:
        view reference saved
      sql/sql_insert.cc:
        CHECK OPTION moved to one function
      sql/sql_update.cc:
        CHECK OPTION moved to one function
      sql/sql_view.cc:
        view name added to error message
      sql/table.cc:
        CHECK OPTION moved to one function
      sql/table.h:
        CHECK OPTION moved to one function
      e05e1860
  12. 28 Sep, 2004 1 commit
    • unknown's avatar
      Strict mode & better warnings · 2a491215
      unknown authored
      Under strict mode MySQL will generate an error message if there was any conversion when assigning data to a field.
      Added checking of date/datetime fields.
      If strict mode, give error if we have not given value to field without a default value (for INSERT)
      
      
      client/mysqltest.c:
        Added --exit as an option to abort a test in a middle (good for debugging)
      include/my_time.h:
        Added flags to allow checking of dates in strict mode
      include/mysql_com.h:
        Added flag to check if field has a default value or not
      include/mysqld_error.h:
        New error messages for strict mode
      include/sql_state.h:
        Fixed SQL states (for strict mode tests)
      mysql-test/r/auto_increment.result:
        Updated error messages
      mysql-test/r/func_sapdb.result:
        Added test for ALLOW_INVALID_DATES
      mysql-test/r/func_str.result:
        Updated error messages
      mysql-test/r/func_time.result:
        Updated error messages
      mysql-test/r/insert.result:
        Updated error messages
      mysql-test/r/loaddata.result:
        Updated error messages
      mysql-test/r/select.result:
        Updated error messages
      mysql-test/r/sp.result:
        Updated error messages
      mysql-test/r/timezone2.result:
        Updated error messages
      mysql-test/r/type_datetime.result:
        Updated error messages
      mysql-test/r/type_decimal.result:
        Updated error messages
      mysql-test/r/type_float.result:
        Updated error messages
      mysql-test/r/type_ranges.result:
        Updated error messages
      mysql-test/r/type_time.result:
        Updated error messages
      mysql-test/r/type_uint.result:
        Updated error messages
      mysql-test/r/warnings.result:
        Updated error messages
      mysql-test/t/func_sapdb.test:
        Aded test
      sql-common/my_time.c:
        Added checking of dates
      sql/field.cc:
        Better error messages
        Optimization of warning handling (by introducing of check_int())
        Changed to use my_strtoll10()
      sql/field.h:
        Added check_int()
      sql/item_func.cc:
        Warnings when dividing by NULL
      sql/item_func.h:
        Warnings when dividing by NULL
      sql/item_timefunc.cc:
        Testing of date/datetime
        Use macros instead of constants
      sql/mysql_priv.h:
        New modes (part of strict mode)
      sql/mysqld.cc:
        New modes (part of strict mode)
      sql/opt_range.cc:
        Simple optimizations
      sql/protocol.cc:
        Add note/warning level to find_handler()
      sql/set_var.cc:
        Added mode 'traditional'
      sql/share/czech/errmsg.txt:
        New error messages for strict mode
      sql/share/danish/errmsg.txt:
        New error messages for strict mode
      sql/share/dutch/errmsg.txt:
        New error messages for strict mode
      sql/share/english/errmsg.txt:
        New error messages for strict mode
      sql/share/estonian/errmsg.txt:
        New error messages for strict mode
      sql/share/french/errmsg.txt:
        New error messages for strict mode
      sql/share/german/errmsg.txt:
        New error messages for strict mode
      sql/share/greek/errmsg.txt:
        New error messages for strict mode
      sql/share/hungarian/errmsg.txt:
        New error messages for strict mode
      sql/share/italian/errmsg.txt:
        New error messages for strict mode
      sql/share/japanese/errmsg.txt:
        New error messages for strict mode
      sql/share/korean/errmsg.txt:
        New error messages for strict mode
      sql/share/norwegian-ny/errmsg.txt:
        New error messages for strict mode
      sql/share/norwegian/errmsg.txt:
        New error messages for strict mode
      sql/share/polish/errmsg.txt:
        New error messages for strict mode
      sql/share/portuguese/errmsg.txt:
        New error messages for strict mode
      sql/share/romanian/errmsg.txt:
        New error messages for strict mode
      sql/share/russian/errmsg.txt:
        New error messages for strict mode
      sql/share/serbian/errmsg.txt:
        New error messages for strict mode
      sql/share/slovak/errmsg.txt:
        New error messages for strict mode
      sql/share/spanish/errmsg.txt:
        New error messages for strict mode
      sql/share/swedish/errmsg.txt:
        New error messages for strict mode
      sql/share/ukrainian/errmsg.txt:
        New error messages for strict mode
      sql/sp_rcontext.cc:
        Add note/warning level to find_handler()
      sql/sp_rcontext.h:
        Add note/warning level to find_handler()
      sql/sql_base.cc:
        Fix bug for detecting crashed table
      sql/sql_class.cc:
        Variables for strct mode
      sql/sql_class.h:
        Variables for strct mode
      sql/sql_error.cc:
        In strict mode, convert warnings to errors
      sql/sql_insert.cc:
        Strict mode
        If strict mode, give error if we have not given value to field without a default value
      sql/sql_load.cc:
        Strict mode
      sql/sql_parse.cc:
        Strict mode.
        Add flag to field if it doesn't have a default value
      sql/sql_select.cc:
        Added comment
        Prepare for upper level handling of table->status
      sql/sql_union.cc:
        Added THD to write_record()
      sql/sql_update.cc:
        Strict mode
      sql/table.cc:
        Handling of default values
      sql/time.cc:
        Checking of dates
      2a491215
  13. 17 Sep, 2004 1 commit
    • unknown's avatar
      Bug#5553 - Multi table UPDATE IGNORE fails on dup key · e84eb55a
      unknown authored
        We don't want the update to abort when IGNORE is specified
      
      
      mysql-test/r/update.result:
        Bug#5553 - UPDATE IGNORE fails on dup key
          New test
      mysql-test/t/update.test:
        Bug#5553 - UPDATE IGNORE fails on dup key
          New test
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      e84eb55a
  14. 16 Sep, 2004 1 commit
    • unknown's avatar
      updateability of field with collation support (BUG#5506) · 29ec367e
      unknown authored
      mysql-test/r/view.result:
         Collation with view update
      mysql-test/t/view.test:
         Collation with view update
      sql/item.h:
        updateability of field with collation support
      sql/item_strfunc.h:
        updateability of field with collation support
      sql/sql_insert.cc:
        updateability of field with collation support
      sql/sql_update.cc:
        updateability of field with collation support
      sql/sql_view.cc:
        updateability of field with collation support
      29ec367e
  15. 08 Sep, 2004 2 commits
    • unknown's avatar
      check that table used in multi-update is unique added (BUG#5455) · 6c233040
      unknown authored
      mysql-test/r/multi_update.result:
        multi* unique updating table check
      mysql-test/t/multi_update.test:
        multi* unique updating table check
      sql/sql_lex.cc:
        new method to check table only in subqueries
      sql/sql_lex.h:
        new method to check table only in subqueries
      sql/sql_parse.cc:
        used new method to check table only in subqueries
      sql/sql_update.cc:
        check that table is unique added
      6c233040
    • unknown's avatar
      test of updating and fetching from the same table check (BUG##5157) · 7de077f7
      unknown authored
      mysql-test/r/lowercase_view.result:
        test of updating and fetching from the same table check
      mysql-test/r/view.result:
        test of updating and fetching from the same table check
      mysql-test/t/lowercase_view.test:
        test of updating and fetching from the same table check
      mysql-test/t/view.test:
        test of updating and fetching from the same table check
      sql/mysql_priv.h:
        unique table test
      sql/sql_base.cc:
        unique table test which take into account views added
      sql/sql_delete.cc:
        unique table test which take into account views added
      sql/sql_insert.cc:
        unique table test which take into account views added
      sql/sql_parse.cc:
        unique table test which take into account views added
      sql/sql_update.cc:
        unique table test which take into account views added
      sql/sql_view.cc:
        unique table test which take into account views added
      sql/table.h:
        save next independent (do not belong to current view) table
      7de077f7
  16. 07 Sep, 2004 1 commit
    • unknown's avatar
      WL#1218 "Triggers". Some very preliminary version of patch. · 52ac4935
      unknown authored
      Mostly needed for Monty for him getting notion what needed for triggers 
      from new .FRM format. 
      
      Things to be done:
      - Right placement of trigger's invocations
      - Right handling of errors in triggers (including transaction rollback)
      - Support for priviliges
      - Right handling of DROP/RENAME table (hope that it will be handled automatically
        with merging of .TRG into .FRM file)
      - Saving/restoring some information critical for trigger creation and replication
        with their definitions (e.g. sql_mode, creator, ...)
      - Replication
      
      Already has some known bugs so probably not for general review.
      
      
      include/mysqld_error.h:
        Added trigger related error codes.
      sql/Makefile.am:
        Added sql_trigger.* files to list of sources from which mysqld is built.
      sql/item.cc:
        Added Item_trigger_field class representing field of new/old version of row which is 
        inserted/updated/deleted and for which trigger is invoked.
      sql/item.h:
        Added enums for describing trigger properties. (Here because of dependencies).
        Added Item_trigger_field class representing field of new/old version of row which is 
        inserted/updated/deleted and for which trigger is invoked.
      sql/item_func.cc:
        Added Item_func_set_user_var::print_as_stmt() for printing of assignment to ser variable
        from stored procedures.
        Added comment clarifying why we don't need set no_send_ok when calling stored functions.
      sql/item_func.h:
        Added Item_func_set_user_var::print_as_stmt() for printing of assignment to ser variable
        from stored procedures.
      sql/lex.h:
        Symbols used in statements defining triggers were added.
      sql/mysql_priv.h:
        Exported some functions needed for triggers implementation.
      sql/parse_file.cc:
        Cleaned up FILE_OPTIONS_STRLIST handling (needed for triggers).
      sql/parse_file.h:
        Cleaned up FILE_OPTIONS_STRLIST handling (needed for triggers).
      sql/share/czech/errmsg.txt:
        Added trigger related error messages.
      sql/share/danish/errmsg.txt:
        Added trigger related error messages.
      sql/share/dutch/errmsg.txt:
        Added trigger related error messages.
      sql/share/english/errmsg.txt:
        Added trigger related error messages.
      sql/share/estonian/errmsg.txt:
        Added trigger related error messages.
      sql/share/french/errmsg.txt:
        Added trigger related error messages.
      sql/share/german/errmsg.txt:
        Added trigger related error messages.
      sql/share/greek/errmsg.txt:
        Added trigger related error messages.
      sql/share/hungarian/errmsg.txt:
        Added trigger related error messages.
      sql/share/italian/errmsg.txt:
        Added trigger related error messages.
      sql/share/japanese/errmsg.txt:
        Added trigger related error messages.
      sql/share/korean/errmsg.txt:
        Added trigger related error messages.
      sql/share/norwegian-ny/errmsg.txt:
        Added trigger related error messages.
      sql/share/norwegian/errmsg.txt:
        Added trigger related error messages.
      sql/share/polish/errmsg.txt:
        Added trigger related error messages.
      sql/share/portuguese/errmsg.txt:
        Added trigger related error messages.
      sql/share/romanian/errmsg.txt:
        Added trigger related error messages.
      sql/share/russian/errmsg.txt:
        Added trigger related error messages.
      sql/share/serbian/errmsg.txt:
        Added trigger related error messages.
      sql/share/slovak/errmsg.txt:
        Added trigger related error messages.
      sql/share/spanish/errmsg.txt:
        Added trigger related error messages.
      sql/share/swedish/errmsg.txt:
        Added trigger related error messages.
      sql/share/ukrainian/errmsg.txt:
        Added trigger related error messages.
      sql/sp_head.cc:
        sp_head::init_strings(): added support for triggers 
          (we don't have most of strings for them)
        sp_head::execute_function(): triggers don't require RETURN
        sp_head::reset_lex(): added propagation of trigger properties to LEX used for 
         parsing of statements composing trigger body.
        Added two more SP instructions:
        - sp_instr_set_user_var for setting user variables in stored functions and triggers
          (we can't use sp_instr_stmt and "SET @A:=..." statement since it will close open 
          tables and thus break execution of calling statement.
        - sp_instr_set_trigger_field for assignment to fields of row being updated/inserted in
          triggers
      sql/sp_head.h:
        Added new type of sp_head object - TYPE_ENUM_TRIGGER
        Added two more SP instructions:
        - sp_instr_set_user_var for setting user variables in stored functions and triggers
          (we can't use sp_instr_stmt and "SET @A:=..." statement since it will close open 
          tables and thus break execution of calling statement.
        - sp_instr_set_trigger_field for assignment to fields of row being updated/inserted in
          triggers
      sql/sql_base.cc:
        Now freeing memory occupied by trigger related structures when closing tables.
        open_unireg_entry(): added loading of triggers for table.
        find_field_in_real_table() is now public since it required by Item_trigger_field in item.cc
      sql/sql_delete.cc:
        Added triggers invocation for DELETE (should be fixed for sure :))
      sql/sql_insert.cc:
        Added triggers invocation for INSERT (should be fixed for sure :))
      sql/sql_lex.cc:
        Added trg_new_row_fake_var variable pointer to which is used for distinguishing between
        assignment to NEW row field (when parsing trigger definition) and structured variable.
        Added initialization of LEX->trg_table to lex_start(). (When triggers are parsed during
        opening of table it points to table object.)
      sql/sql_lex.h:
        Added trigger related commands.
        Added st_trg_chistics structure describing properties of trigger being created
        (as struct and as LEX member).
        Added trg_new_row_fake_var variable pointer to which is used for
        distinguishing between assignment to NEW row field (when parsing trigger definition)
        and structured variable.
        Added LEX::trg_table which points to table being opened when we are parsing trigger
        definition while opening table.
      sql/sql_parse.cc:
        Added support for CREATE/DROP TRIGGER commands.
      sql/sql_table.cc:
        Cleanup. close_cached_table() always returns 0 and its result is not analyzed in most
        places so chenged its return type to void.
      sql/sql_update.cc:
        Added triggers invocation for UPDATE (should be fixed for sure :))
      sql/sql_yacc.yy:
        Added support for CREATE/DROP TRIGGER statements.
        Added support for OLD/NEW row identifiers in trigger.
        Made assignment to user variables not to break execution of stored function or trigger.
      sql/table.h:
        Added TABLE::triggers member representing triggers for this table.
      52ac4935
  17. 03 Sep, 2004 2 commits
    • unknown's avatar
      Cleanup of new code pushed into 5.0 since last pull · d0211cf5
      unknown authored
      Merged the different find_xxxx_table_in_list functions to one + some inline functions
      
      
      mysql-test/r/view.result:
        Fix result (remove not used view from show tables)
      sql/item_subselect.cc:
        Remove not used functions
      sql/item_subselect.h:
        Remove not used functions
      sql/mysql_priv.h:
        Merged the different find_xxxx_table_in_list functions to one + some inline functions
      sql/sql_acl.cc:
        More debugging + simple cleanups
      sql/sql_base.cc:
        Merged the different find_xxxx_table_in_list functions to one + some inline functions
        Indentation cleanups & more comments
      sql/sql_delete.cc:
        Namechange
      sql/sql_insert.cc:
        Simple optimizations & Style cleanups
        Merged common code (in mysql_prepare_insert_check_table)
      sql/sql_lex.cc:
        function name changes
        More comments
      sql/sql_parse.cc:
        Function name changes
        Made check_one_table_access returning bool
        More debugging in 'check_access'
        Added function 'check_some_access', which is used when creating a view
      sql/sql_prepare.cc:
        Resetting flag directly after test makes code easier to read
      sql/sql_select.cc:
        Code simplifications
      sql/sql_show.cc:
        Indentation cleanups.
        Fixed typo in name
      sql/sql_update.cc:
        Function name change
      sql/sql_view.cc:
        Simple optimizations.
        Style fixes.
        Remove view_field_names[]
        Simplified 'check_key_in_view()'
      sql/table.cc:
        Simplified new code in openfrm()
        variable name change i -> item
        Indentation changes
      sql/table.h:
        Fixed typo in variable name
        Method name change in field iterator: end() -> end_of_fields()
      tests/client_test.c:
        Changed number to macro
      d0211cf5
    • unknown's avatar
      CHECK OPTIONs added (WL#1983) · 704fb6da
      unknown authored
      include/mysqld_error.h:
        new error messages
      mysql-test/r/view.result:
        test of CHECK OPTION in a views
      mysql-test/t/view.test:
        test of CHECK OPTION in a views
      sql/share/czech/errmsg.txt:
        new error messages
      sql/share/danish/errmsg.txt:
        new error messages
      sql/share/dutch/errmsg.txt:
        new error messages
      sql/share/english/errmsg.txt:
        new error messages
      sql/share/estonian/errmsg.txt:
        new error messages
      sql/share/french/errmsg.txt:
        new error messages
      sql/share/german/errmsg.txt:
        new error messages
      sql/share/greek/errmsg.txt:
        new error messages
      sql/share/hungarian/errmsg.txt:
        new error messages
      sql/share/italian/errmsg.txt:
        new error messages
      sql/share/japanese/errmsg.txt:
        new error messages
      sql/share/korean/errmsg.txt:
        new error messages
      sql/share/norwegian-ny/errmsg.txt:
        new error messages
      sql/share/norwegian/errmsg.txt:
        new error messages
      sql/share/polish/errmsg.txt:
        new error messages
      sql/share/portuguese/errmsg.txt:
        new error messages
      sql/share/romanian/errmsg.txt:
        new error messages
      sql/share/russian/errmsg.txt:
        new error messages
      sql/share/serbian/errmsg.txt:
        new error messages
      sql/share/slovak/errmsg.txt:
        new error messages
      sql/share/spanish/errmsg.txt:
        new error messages
      sql/share/swedish/errmsg.txt:
        new error messages
      sql/share/ukrainian/errmsg.txt:
        new error messages
      sql/sql_insert.cc:
        CHECK OPTIONs added
      sql/sql_lex.h:
        CHECK OPTIONs added
      sql/sql_update.cc:
        CHECK OPTIONs added
      sql/sql_view.cc:
        new parameter added
        returnrd values fixed
      sql/sql_yacc.yy:
        CHECK OPTIONs added
      sql/table.cc:
        CHECK OPTIONs added
      sql/table.h:
        CHECK OPTIONs added
      704fb6da
  18. 31 Aug, 2004 1 commit
    • unknown's avatar
      fixed open_and_lock_tables result processing (all open_and_lock_tables revision) · 6e314e04
      unknown authored
      fixed printing of COLLATE operation
      (BUG#5155)
      
      
      mysql-test/r/case.result:
        fixed printing of COLLATE operation
      mysql-test/r/func_if.result:
        fixed printing of COLLATE operation
      mysql-test/r/func_in.result:
        fixed printing of COLLATE operation
      mysql-test/r/func_str.result:
        fixed printing of COLLATE operation
      mysql-test/r/func_test.result:
        fixed printing of COLLATE operation
      mysql-test/r/view.result:
        VIEW with collation
      mysql-test/t/view.test:
        VIEW with collation
      sql/item_strfunc.cc:
        fixed printing of COLLATE operation
      sql/item_strfunc.h:
        fixed printing of COLLATE operation
      sql/sp_head.cc:
        fixed open_and_lock_tables result processing
      sql/sql_base.cc:
        fixed open_and_lock_tables result processing
      sql/sql_delete.cc:
        fixed open_and_lock_tables result processing
      sql/sql_help.cc:
        fixed open_and_lock_tables result processing
      sql/sql_load.cc:
        fixed open_and_lock_tables result processing
      sql/sql_parse.cc:
        fixed open_and_lock_tables result processing
      sql/sql_prepare.cc:
        fixed open_and_lock_tables result processing
      sql/sql_show.cc:
        fixed open_and_lock_tables result processing
      sql/sql_update.cc:
        fixed open_and_lock_tables result processing
      6e314e04
  19. 23 Jul, 2004 1 commit
    • unknown's avatar
      fixed using VIEW fields (BUG#4617) · 1b98202b
      unknown authored
      mysql-test/r/view.result:
        using VIEW fields several times in query resolved via temporary tables
      mysql-test/t/view.test:
        using VIEW fields several times in query resolved via temporary tables
      sql/item.h:
        fixed using of result_field by Item_ref
      sql/sql_base.cc:
        Create Item_ref as reference on VIEW fields expression reference
      sql/sql_insert.cc:
        privent creating Item_ref in insert list (where Item_fields should be)
      sql/sql_lex.cc:
        Item_ref creation control
      sql/sql_lex.h:
        Item_ref creation control
      sql/sql_update.cc:
        privent creating Item_ref in insert list (where Item_fields should be) and creation Item_fields for UPDATE list
      sql/table.cc:
        Do not create Item_ref for internal view of view processing
      1b98202b
  20. 16 Jul, 2004 1 commit
    • unknown's avatar
      Fixes for bug #4571 (Windows compabilities) · 45cbab28
      unknown authored
      sql/opt_range.cc:
        Fix for unreferenced local variable, cast and indirection to different types
      sql/sp_head.cc:
        Fix for unreferenced variables and cast
      sql/sql_acl.cc:
        Fix for unreferenced variable
      sql/sql_db.cc:
        Fix for unreferenced variable and cast
      sql/sql_insert.cc:
        Fix for cast and redifinition of variable declared  i (VC++ bug)
      sql/sql_parse.cc:
        Fix for cast
      sql/sql_update.cc:
        Fix for cast
      45cbab28
  21. 15 Jul, 2004 1 commit
    • unknown's avatar
      VIEW · 8790b1e6
      unknown authored
      two TABLE_LIST copy eliminated
      
      
      include/mysqld_error.h:
        errors of view
      libmysqld/Makefile.am:
        new view file
      mysql-test/r/connect.result:
        SHOW TABLE show type of table
      mysql-test/r/ctype_recoding.result:
        SHOW TABLE show type of table
      mysql-test/r/drop.result:
        SHOW TABLE show type of table
      mysql-test/r/grant.result:
        new two privileges (CRETEA|SHOW VIEW)
      mysql-test/r/lowercase_table.result:
        SHOW TABLE show type of table
      mysql-test/r/ps_1general.result:
        SHOW TABLE show type of table
      mysql-test/r/rename.result:
        SHOW TABLE show type of table
      mysql-test/r/rpl000009.result:
        SHOW TABLE show type of table
      mysql-test/r/rpl_error_ignored_table.result:
        SHOW TABLE show type of table
      mysql-test/r/select.result:
        SHOW TABLE show type of table
      mysql-test/r/system_mysql_db.result:
        SHOW TABLE show type of table
        new two privileges (CRETEA|SHOW VIEW)
      mysql-test/t/system_mysql_db_fix.test:
        removing all system tables
      scripts/mysql_fix_privilege_tables.sql:
        new two privileges (CRETEA|SHOW VIEW)
      sql/Makefile.am:
        new VIEW related file
      sql/ha_myisammrg.cc:
        two TABLE_LIST copy eliminated
      sql/item.cc:
        VIEW
      sql/item.h:
        VIEW
      sql/item_subselect.cc:
        VIEW
      sql/item_subselect.h:
        VIEW
      sql/lex.h:
        VIEW
      sql/lock.cc:
        VIEW
      sql/mysql_priv.h:
        VIEW
      sql/mysqld.cc:
        VIEW
        new parameter - sql_updatable_view_key
      sql/opt_sum.cc:
        two TABLE_LIST copy eliminated
      sql/set_var.cc:
        new parameter - sql_updatable_view_key
      sql/share/czech/errmsg.txt:
        errors messages of views
      sql/share/danish/errmsg.txt:
        errors messages of views
      sql/share/dutch/errmsg.txt:
        errors messages of views
      sql/share/english/errmsg.txt:
        errors messages of views
      sql/share/estonian/errmsg.txt:
        errors messages of views
      sql/share/french/errmsg.txt:
        errors messages of views
      sql/share/german/errmsg.txt:
        errors messages of views
      sql/share/greek/errmsg.txt:
        errors messages of views
      sql/share/hungarian/errmsg.txt:
        errors messages of views
      sql/share/italian/errmsg.txt:
        errors messages of views
      sql/share/japanese/errmsg.txt:
        errors messages of views
      sql/share/korean/errmsg.txt:
        errors messages of views
      sql/share/norwegian-ny/errmsg.txt:
        errors messages of views
      sql/share/norwegian/errmsg.txt:
        errors messages of views
      sql/share/polish/errmsg.txt:
        errors messages of views
      sql/share/portuguese/errmsg.txt:
        errors messages of views
      sql/share/romanian/errmsg.txt:
        errors messages of views
      sql/share/russian/errmsg.txt:
        errors messages of views
      sql/share/serbian/errmsg.txt:
        errors messages of views
      sql/share/slovak/errmsg.txt:
        errors messages of views
      sql/share/spanish/errmsg.txt:
        errors messages of views
      sql/share/swedish/errmsg.txt:
        errors messages of views
      sql/share/ukrainian/errmsg.txt:
        errors messages of views
      sql/slave.cc:
        two TABLE_LIST copy eliminated
      sql/sp.cc:
        VIEW
      sql/sql_acl.cc:
        VIEW
      sql/sql_acl.h:
        VIEW
      sql/sql_base.cc:
        VIEW
      sql/sql_cache.cc:
        two TABLE_LIST copy eliminated
      sql/sql_class.h:
        VIEW
      sql/sql_db.cc:
        two TABLE_LIST copy eliminated
      sql/sql_delete.cc:
        VIEW
      sql/sql_derived.cc:
        VIEW
      sql/sql_handler.cc:
        two TABLE_LIST copy eliminated
      sql/sql_help.cc:
        two TABLE_LIST copy eliminated
      sql/sql_insert.cc:
        VIEW
      sql/sql_lex.cc:
        VIEW
      sql/sql_lex.h:
        VIEW
      sql/sql_load.cc:
        VIEW
      sql/sql_olap.cc:
        VIEW
      sql/sql_parse.cc:
        two TABLE_LIST copy eliminated
        VIEW
      sql/sql_prepare.cc:
        VIEW
      sql/sql_rename.cc:
        two TABLE_LIST copy eliminated
      sql/sql_select.cc:
        VIEW
      sql/sql_show.cc:
        VIEW
      sql/sql_table.cc:
        VIEW
      sql/sql_union.cc:
        VIEW
      sql/sql_update.cc:
        VIEW
      sql/sql_yacc.yy:
        VIEW
      sql/table.cc:
        VIEW
      sql/table.h:
        VIEW
      sql/tztime.cc:
        two TABLE_LIST copy eliminated
      sql/unireg.h:
        VIEW
      tests/client_test.c:
        VIEW
      8790b1e6
  22. 08 Jul, 2004 1 commit
    • unknown's avatar
      New handler::index_flags() definition to make it easy to check the full used... · a23fbc06
      unknown authored
      New handler::index_flags() definition to make it easy to check the full used key and a specific key part.
      Added key part to optimize_range() to fix problems when using fields in key parts.
      
      
      
      sql/examples/ha_archive.h:
        New handler::index_flags() definition
      sql/examples/ha_example.h:
        New handler::index_flags() definition
      sql/field.cc:
        New optimize_range() definition
      sql/field.h:
        New optimize_range() definition
      sql/ha_berkeley.cc:
        New handler::index_flags() definition
      sql/ha_berkeley.h:
        New handler::index_flags() definition
      sql/ha_heap.h:
        New handler::index_flags() definition
      sql/ha_innodb.h:
        New handler::index_flags() definition
      sql/ha_isam.h:
        New handler::index_flags() definition
      sql/ha_isammrg.h:
        New handler::index_flags() definition
      sql/ha_myisam.h:
        New handler::index_flags() definition
      sql/ha_myisammrg.h:
        New handler::index_flags() definition
      sql/ha_ndbcluster.cc:
        New handler::index_flags() definition
      sql/ha_ndbcluster.h:
        New handler::index_flags() definition
      sql/handler.h:
        New handler::index_flags() definition
      sql/log.cc:
        Fixed compiler warnings
      sql/log_event.cc:
        Fixed compiler warnings (and renamed short variable name)
      sql/opt_range.cc:
        New handler::index_flags() definition
      sql/opt_sum.cc:
        New handler::index_flags() definition
      sql/set_var.cc:
        Removed compiler warnings
      sql/sql_db.cc:
        Removed compiler warnings
      sql/sql_select.cc:
        New handler::index_flags() definition
      sql/sql_show.cc:
        Removed compiler warnings
      sql/sql_update.cc:
        Removed compiler warnings
      sql/table.cc:
        New handler::index_flags() definition
      a23fbc06
  23. 23 Jun, 2004 1 commit
    • unknown's avatar
      handler interface cleanups: · 9a554b47
      unknown authored
        more logical table/index_flags
        return  HA_ERR_WRONG_COMMAND instead of abstract methods where appropriate
        max_keys and other limits renamed to max_supported_keys/etc
        max_keys/etc are now wrappers to max_supported_keys/etc 
        ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to real {index,rnd}_{init,end} to enforce strict pairing
      
      
      include/myisam.h:
        increasing myisam_max_temp_file_length
      include/my_base.h:
        handler interface cleanup
      myisam/mi_static.c:
        warning removed
      mysql-test/Makefile.am:
        followup
      mysql-test/r/fulltext.result:
        fulltext indexes are not ordered
      mysql-test/r/rpl_user_variables.result:
        followup
      sql/field.cc:
        index_flags
      sql/filesort.cc:
        rnd_init -> ha_rnd_init
        rnd_end -> ha_rnd_end
      sql/ha_berkeley.cc:
        cleanup
      sql/ha_berkeley.h:
        table/index_flags revamped
      sql/ha_heap.cc:
        ensure index is accessed only after index_init (esp. important for temp tables)
      sql/ha_heap.h:
        table/index_flags revamped
      sql/ha_innodb.cc:
        don't workaround MySQL sloppiness
      sql/ha_innodb.h:
        table/index_flags revamped
      sql/ha_isam.h:
        table/index_flags revamped
      sql/ha_isammrg.h:
        table/index_flags revamped
      sql/ha_myisam.cc:
        ensure index is accessed only after index_init (esp. important for temp tables)
      sql/ha_myisam.h:
        table/index_flags revamped
      sql/ha_myisammrg.h:
        table/index_flags revamped
      sql/handler.cc:
        handler interface cleanups
      sql/handler.h:
        handler interface cleanups:
          more logical table/index_flags
          return  HA_ERR_WRONG_COMMAND instead of abstract methods
          max_keys and other limits renamed to max_supported_keys/etc
          max_keys/etc are now wrappers to max_supported_keys/etc 
          ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to enforce strict pairing
      sql/item_subselect.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/lex.h:
        renamed to avoid conflicts
      sql/opt_range.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/opt_range.h:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/opt_sum.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/records.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_acl.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_cache.cc:
        cleanup
      sql/sql_delete.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_handler.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_help.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_insert.cc:
        table/index_flags cleanup
      sql/sql_select.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/sql_table.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/sql_update.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_yacc.yy:
        INDEX -> INDEX_SYM
      sql/table.cc:
        table/index_flags cleanup
      9a554b47
  24. 09 Jun, 2004 1 commit
    • unknown's avatar
      Making DROP TABLE IF EXISTS, DROP DATABASE IF EXISTS, DELETE FROM, UPDATE be logged to · 43489240
      unknown authored
      binlog even if they changed nothing, and a test for this.
      This is useful when users use these commands to clean up their master and slave by issuing
      one command on master (assume master and slave have slightly different data for some
      reason and you want to clean up both).
      Note that I have not changed multi-table DELETE and multi-table UPDATE because their
      error-reporting mechanism is more complicated.
      
      
      mysql-test/r/mysqlbinlog.result:
        result update
      mysql-test/r/rpl_charset.result:
        result update
      mysql-test/r/rpl_flush_log_loop.result:
        result update
      mysql-test/r/rpl_replicate_do.result:
        result update
      mysql-test/r/rpl_temporary.result:
        result update
      mysql-test/t/mysqlbinlog.test:
        moving SET TIMESTAMP up as DROP shows up in binlog
      sql/sql_db.cc:
        DROP DATABASE IF EXISTS is now always logged to binlog, even if db did not exist
      sql/sql_delete.cc:
        DELETE FROM t is now always logged to binlog even if no rows deleted (but in this case, only if really no error).
      sql/sql_table.cc:
        DROP TABLE IF EXISTS is now always logged to binlog even if table did not exist
      sql/sql_update.cc:
        UPDATE is now always logged to binlog even if no rows updated (but in this case, only if really no error).
      43489240
  25. 01 Jun, 2004 1 commit
    • unknown's avatar
      More code cleanup, debug prints removed · 40e65508
      unknown authored
      Fixed an incorrect optimizer choice for ror-intersect(key, clustered_primary)
      Typo bug fixed in multitable update
      
      
      sql/opt_range.cc:
        More code cleanup, debug prints removed
        Fixed an incorrect optimizer choice for ror-intersect(key, clustered_primary)
      sql/opt_range.h:
        More code cleanup, debug prints removed
        Fixed an incorrect optimizer choice for ror-intersect(key, clustered_primary)
      sql/sql_update.cc:
        Typo bug fixed
      40e65508
  26. 19 May, 2004 1 commit
    • unknown's avatar
      PS and SP made compatible in mechanism used for preparing query for rexecutions (Bug #2266) · 16227c28
      unknown authored
      mysql-test/r/sp.result:
        test suite for Bug #2266
      mysql-test/t/sp.test:
        test suite for Bug #2266
      sql/item_subselect.cc:
        made ancestor for Statement (Item_arena)
      sql/item_subselect.h:
        made ancestor for Statement (Item_arena)
      sql/item_sum.cc:
        made ancestor for Statement (Item_arena)
      sql/item_sum.h:
        made ancestor for Statement (Item_arena)
      sql/mysql_priv.h:
        reset_stmt_for_execute use PS and SP
      sql/sp_head.cc:
        sp_head use Item_arena as ancestor to be PS cleunup compatible
        SP use PS storing/restoring/cleanup mechanisms
        cleanup() of SP Items added
        Items created in temporary memory pool during SP execution saved for normal freeing after SP execution
      sql/sp_head.h:
        sp_head use Item_arena
      sql/sql_base.cc:
        made ancestor for Statement (Item_arena)
        results of wild_setup made permanent
        setup_conds make natural joins expanding only once and store results in PS/SP memory
      sql/sql_class.cc:
        made ancestor for Statement (Item_arena)
      sql/sql_class.h:
        made ancestor for Statement (Item_arena)
        method to detect PS preparation added
      sql/sql_delete.cc:
        storing where for DELETE and mark first execution
      sql/sql_derived.cc:
        use method
      sql/sql_insert.cc:
        mark first execution for INSERT
      sql/sql_lex.cc:
        flags to correctly make transformations of query and storing them in memory of PS/SP
        made ancestor for Statement (Item_arena)
      sql/sql_lex.h:
        reved variable od SP ol saving data
        flags to correctly make transformations of query and storing them in memory of PS/SP
      sql/sql_parse.cc:
        cleunup unit for any query
      sql/sql_prepare.cc:
        made ancestor for Statement (Item_arena)
        storing where moved to preparation
        changed interface of reset_stmt_for_execute to use it is SP
        do not restore where/order by/group by before first execution (but tables and unit can be chenged without execution and should be prepared (subqueries executes on demand))
      sql/sql_select.cc:
        storing where for SELECT/multi-DELETE/... and mark first execution
      sql/sql_union.cc:
        made ancestor for Statement (Item_arena)
      sql/sql_update.cc:
        storing where for UPDATE and mark first execution
      16227c28
  27. 12 May, 2004 1 commit
    • unknown's avatar
      This is first cset for WL#1394 "Optimize index merge when all involved index... · 3600d09a
      unknown authored
      This is first cset for WL#1394 "Optimize index merge when all involved index ranges include only values with equal keys"
      The main idea is to exploit the fact that key scans for "key=const" return ordered sequences of rowids.
      
      
      include/my_base.h:
        Added HA_EXTRA_KEYREAD_PRESERVE_FIELDS flag
      include/my_bitmap.h:
        Added a couple of utility functions
      include/my_sys.h:
        Added my_conunt_bits_ushort function
      innobase/include/row0mysql.h:
        Added support for HA_EXTRA_KEYREAD_PRESERVE_FIELDS
      innobase/row/row0sel.c:
        Added support for HA_EXTRA_KEYREAD_PRESERVE_FIELDS
      mysys/my_bit.c:
        Added my_count_bits_ushort function
      mysys/my_bitmap.c:
        Added a couple of utility functions
      sql/ha_berkeley.cc:
        Added cmp_ref rowid comparison function.
      sql/ha_berkeley.h:
        Added cmp_ref rowid comparison function.
      sql/ha_heap.h:
        Added cmp_ref rowid comparison function.
      sql/ha_innodb.cc:
        Added cmp_ref rowid comparison function and support from HA_EXTRA_KEYREAD_PRESERVE_FIELDS
      sql/ha_innodb.h:
        Added cmp_ref rowid comparison function.
      sql/handler.h:
        Added cmp_ref rowid comparison function.
      sql/opt_range.cc:
        Added QUICK_ROR_{INTERSECT,UNION}_SELECT classes and related optimizer code
      sql/opt_range.h:
        Added QUICK_ROR_{INTERSECT,UNION}_SELECT classes
      sql/sql_delete.cc:
        Changed to use new ROWID comparison function
        also always call quick->reset() for quick selects
      sql/sql_select.cc:
        Account for new quick select types
      sql/sql_select.h:
        New, proper rowid ordering/comparison function to be used with Unique class etc.
      sql/sql_test.cc:
        Account for new quick select types
      sql/sql_update.cc:
        Account for new quick select types
      3600d09a
  28. 05 May, 2004 1 commit
    • unknown's avatar
      caching of queries with isammerge tables forbiden using general way · f6428e8b
      unknown authored
      SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause
      correct table list passed to class constructor of select_update
      
      
      mysql-test/r/subselect.result:
        do not show limit if it is not explicit
      mysql-test/r/union.result:
        test of LIMIT + ORDER
      mysql-test/t/union.test:
        test of LIMIT + ORDER
      sql/ha_isammrg.h:
        caching of queries with isammerge tables forbiden
      sql/sql_cache.cc:
        removed check on isammerge
      sql/sql_lex.cc:
        tag of explicit limit in statement
      sql/sql_lex.h:
        tag of explicit limit in statement
      sql/sql_parse.cc:
        blanks in empty line removed
        no limit by default (SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause)
      sql/sql_union.cc:
        reverted incorrect patch
      sql/sql_update.cc:
        reverted incorrect patch
        correct table list passed to class constructor
      sql/sql_yacc.yy:
        explicit LIMIT marked
      f6428e8b
  29. 04 May, 2004 3 commits
    • unknown's avatar
      Fix for a multi table updates when one of the tables is not updated · 5bd7b50c
      unknown authored
      but used in a nested query.
      
      
      5bd7b50c
    • unknown's avatar
      Fix to handle unsigned data in prepared statements (Bug #3447) · 030587a7
      unknown authored
      Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
      Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
      Don't auto-repair tables in mysqlcheck if table type doesn't support 'check' command.
      
      
      Docs/mysqld_error.txt:
        Updated error values
      client/mysqlcheck.c:
        Don't cause auto-repair on 'note' (Tables that doesn't support 'check')
      libmysql/libmysql.c:
        Fix to handle unsigned data in prepared statements (Bug #3447)
      mysql-test/r/analyse.result:
        Test of analyze + impossible where (Bug #2238)
      mysql-test/r/bdb.result:
        Update results
      mysql-test/r/ctype_ujis.result:
        Update results
      mysql-test/r/isam.result:
        Update results
      mysql-test/r/repair.result:
        Update results
      mysql-test/t/analyse.test:
        Test of analyze + impossible where (Bug #2238)
      mysql-test/t/ctype_ujis.test:
        Added test for LIKE (Bug #3438)
      sql/sql_acl.cc:
        Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
      sql/sql_select.cc:
        Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
      sql/sql_table.cc:
        Changed 'error' to 'note' when table doesn't support admin command.
      sql/sql_update.cc:
        Indentaion cleanup
      tests/client_test.c:
        Added test for handling unsigned/signed strings with prepared statements
      030587a7
    • unknown's avatar
      WL#1567: Add ROW_COUNT() Function to retrieve count of rows updated/inserted/deleted · 7c4ceb73
      unknown authored
      mysql-test/r/sp.result:
        New test cases for function ROW_COUNT().
      mysql-test/t/sp.test:
        New test cases for function ROW_COUNT().
      sql/item_func.cc:
        New Item_func_row_count.
      sql/item_func.h:
        New Item_func_row_count.
      sql/lex.h:
        New symbol for function ROW_COUNT().
      sql/sql_class.h:
        New slot in THD for storing the row_count after insert, delete and update.
      sql/sql_delete.cc:
        Set thd->row_count_func when deleting.
      sql/sql_insert.cc:
        Set thd->row_count_func when inserting.
      sql/sql_parse.cc:
        Stored procedure CALLs send the row count from the last insert, delete or update.
      sql/sql_update.cc:
        Set thd->row_count_func when updating.
      sql/sql_yacc.yy:
        New function ROW_COUNT().
      7c4ceb73
  30. 09 Apr, 2004 1 commit
    • unknown's avatar
      after review PS fixes · 8ab58393
      unknown authored
      sql/item_cmpfunc.cc:
        merged in one if
      sql/mysql_priv.h:
        removed unused paremeter of check_one_table_access
        declaration of new function for SP share code
      sql/set_var.cc:
        function descriotion added
        unneeded parantses removed
      sql/sql_acl.cc:
        new parameter to limit number of checked tables for check_grant
      sql/sql_acl.h:
        new parameter to limit number of checked tables for check_grant
      sql/sql_delete.cc:
        preparation moved in separate function
      sql/sql_insert.cc:
        preparation moved in separate function
      sql/sql_lex.cc:
        comment style fixed
        unneeded assignment removed
      sql/sql_parse.cc:
        new parameter to limit number of checked tables for check_grant
        table list manipulation removed (because of above)
        new precheck function
      sql/sql_prepare.cc:
        function rewrited to shere code with sql_prepare.cc
        flow control fixed
      sql/sql_show.cc:
        new parameter to limit number of checked tables for check_grant
      sql/sql_update.cc:
        preparation moved in separate function
      sql/table.h:
        flag renamed
      8ab58393
  31. 07 Apr, 2004 1 commit
    • unknown's avatar
      new error for unsupported command in PS · c9d856c8
      unknown authored
      fixed IN subselect with basic constant left expression
      SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
      fixed multiupdate privelege check (BUG#3408)
      fixed multiupdate tables check (BUG#3411)
      unchecked commands now is rejected by PS protocol to avoid serever crash
      fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
      
      
      include/mysqld_error.h:
        new error for unsupported command in PS
      mysql-test/r/multi_update.result:
        test sutes (BUG#3408, BUG#3411)
      mysql-test/t/multi_update.test:
        test sutes (BUG#3408, BUG#3411)
      sql/item_cmpfunc.cc:
        fixed IN subselect with basic constant left expression
      sql/mysql_priv.h:
        some function frop sql_parse.h become public
      sql/set_var.cc:
        check for SET command via PS
      sql/set_var.h:
        check for SET command via PS
      sql/share/czech/errmsg.txt:
        new error for unsupported command in PS
      sql/share/danish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/dutch/errmsg.txt:
        new error for unsupported command in PS
      sql/share/english/errmsg.txt:
        new error for unsupported command in PS
      sql/share/estonian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/french/errmsg.txt:
        new error for unsupported command in PS
      sql/share/german/errmsg.txt:
        new error for unsupported command in PS
      sql/share/greek/errmsg.txt:
        new error for unsupported command in PS
      sql/share/hungarian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/italian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/japanese/errmsg.txt:
        new error for unsupported command in PS
      sql/share/korean/errmsg.txt:
        new error for unsupported command in PS
      sql/share/norwegian-ny/errmsg.txt:
        new error for unsupported command in PS
      sql/share/norwegian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/polish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/portuguese/errmsg.txt:
        new error for unsupported command in PS
      sql/share/romanian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/russian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/serbian/errmsg.txt:
        new error for unsupported command in PS
      sql/share/slovak/errmsg.txt:
        new error for unsupported command in PS
      sql/share/spanish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/swedish/errmsg.txt:
        new error for unsupported command in PS
      sql/share/ukrainian/errmsg.txt:
        new error for unsupported command in PS
      sql/sql_lex.cc:
        first table unlincking procedures for CREATE command
      sql/sql_lex.h:
        first table unlincking procedures for CREATE command
      sql/sql_parse.cc:
        used function to exclude first table from list
        SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
        fixed multiupdate privelege check (BUG#3408)
        fixed multiupdate tables check (BUG#3411)
      sql/sql_prepare.cc:
        fixed a lot of commands to be compatible with PS
        unchecked commands now is rejected to avoid serever crash
      sql/sql_select.cc:
        allow empty result for PS preparing
      sql/sql_union.cc:
        fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
      sql/sql_update.cc:
        fixed update to use correct tables lists (BUG#3408)
      sql/table.h:
        flag to support multi update tables check (BUG#3408)
      tests/client_test.c:
        removed unsupported tables
        fixed show table test
        added new tests
      c9d856c8
  32. 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
  33. 20 Mar, 2004 1 commit
    • unknown's avatar
      after review changes · f379d7b1
      unknown authored
      sql/item.cc:
        removed double_fix & already_fixed in Item_field
      sql/item.h:
        added quick_fix_field() for cases when we are sure that no need full fix_field processing
        fixed neg() method for numeric constants to have the same logic as constant parser
        Item_null, Item_real, ... are constant which are fixed by creation
      sql/item_cmpfunc.h:
        right fix_fields in and_conds call
      sql/item_func.cc:
        changed Item_field constructor call
        fix_field emulation call
      sql/item_strfunc.cc:
        correct layout
      sql/item_subselect.cc:
        correct layout
        changed Item_field constructor call
      sql/item_sum.cc:
        changed Item_field constructor call
      sql/item_sum.h:
        changed Item_field constructor call
      sql/sql_base.cc:
        fixed layout
        right fix_fields calls
      sql/sql_help.cc:
        changed Item_field constructor call
      sql/sql_load.cc:
        changed Item_field constructor call
      sql/sql_parse.cc:
        constant changed
      sql/sql_select.cc:
        fixed layout
        fix_field emulation insted of real fix_fields call
      sql/sql_show.cc:
        changed Item_field constructor call
      sql/sql_union.cc:
        changed Item_field constructor call
        double_fix removed
      sql/sql_update.cc:
        renamed variable, fixed layout
      sql/sql_yacc.yy:
        typo fixed
        fix_fields emulation calls
        hegation of numbers fixed
      f379d7b1
  34. 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
  35. 15 Mar, 2004 1 commit