An error occurred fetching the project authors.
  1. 22 Jul, 2004 3 commits
    • unknown's avatar
      fixed SP variables detecting (BUG#4604) · e660728d
      unknown authored
      fixed error handling
      
      
      mysql-test/r/view.result:
        SP variables inside view test
      mysql-test/t/view.test:
        SP variables inside view test
      sql/sql_base.cc:
        fixed error messages handling
      sql/sql_yacc.yy:
        fixed SP variables detecting
      e660728d
    • unknown's avatar
      privent crash on temporary table during indexes lookup (BUG#4677) · f485c2f6
      unknown authored
      mysql-test/r/view.result:
        check 'use index' on view with temporary table
      mysql-test/t/view.test:
        check 'use index' on view with temporary table
      sql/sql_base.cc:
        privent crash on temporary table
      f485c2f6
    • unknown's avatar
      fix lock_multi · 5cc289e9
      unknown authored
      sql/sql_base.cc:
        table_desc can be 0
      5cc289e9
  2. 21 Jul, 2004 1 commit
    • unknown's avatar
      error message interception (Bug#4598) · b1cc9782
      unknown authored
      error handling of view initialization fixed (Bug#4599)
      
      
      include/mysqld_error.h:
        new error message
      mysql-test/r/view.result:
        changing of underlaying table test
      mysql-test/t/view.test:
        changing of underlaying table test
      sql/share/czech/errmsg.txt:
        new error message
      sql/share/danish/errmsg.txt:
        new error message
      sql/share/dutch/errmsg.txt:
        new error message
      sql/share/english/errmsg.txt:
        new error message
      sql/share/estonian/errmsg.txt:
        new error message
      sql/share/french/errmsg.txt:
        new error message
      sql/share/german/errmsg.txt:
        new error message
      sql/share/greek/errmsg.txt:
        new error message
      sql/share/hungarian/errmsg.txt:
        new error message
      sql/share/italian/errmsg.txt:
        new error message
      sql/share/japanese/errmsg.txt:
        new error message
      sql/share/korean/errmsg.txt:
        new error message
      sql/share/norwegian-ny/errmsg.txt:
        new error message
      sql/share/norwegian/errmsg.txt:
        new error message
      sql/share/polish/errmsg.txt:
        new error message
      sql/share/portuguese/errmsg.txt:
        new error message
      sql/share/romanian/errmsg.txt:
        new error message
      sql/share/russian/errmsg.txt:
        new error message
      sql/share/serbian/errmsg.txt:
        new error message
      sql/share/slovak/errmsg.txt:
        new error message
      sql/share/spanish/errmsg.txt:
        new error message
      sql/share/swedish/errmsg.txt:
        new error message
      sql/share/ukrainian/errmsg.txt:
        new error message
      sql/sql_base.cc:
        error message interception
        error handling fixed
      sql/sql_view.cc:
        comment fixed
        error message interception
      sql/table.cc:
        error message interception
      sql/table.h:
        error message interception
      b1cc9782
  3. 15 Jul, 2004 2 commits
    • unknown's avatar
      VIEW · dd83b590
      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
      dd83b590
    • unknown's avatar
      After merge fixes · 13d67c78
      unknown authored
      Note: The following tests fails
      - fulltext (Sergei has promised to fix)
      - rpl_charset (Guilhem should fix)
      - rpl_timezone (Dimitray has promised to fix)
      
      Sanja needs to check out the calling of close_thread_tables() in sp_head.cc
      
      
      myisam/mi_check.c:
        After merge fix
      myisam/sort.c:
        After merge fix
      mysql-test/mysql-test-run.sh:
        Export master socket to mysqltest
      mysql-test/r/func_group.result:
        Make result repeatable
      mysql-test/r/mysqlbinlog.result:
        After merge fix
      mysql-test/r/ps_1general.result:
        After merge fix
      mysql-test/r/ps_2myisam.result:
        After merge fix
      mysql-test/r/ps_3innodb.result:
        After merge fix
      mysql-test/r/ps_4heap.result:
        After merge fix
      mysql-test/r/ps_5merge.result:
        After merge fix
      mysql-test/r/ps_6bdb.result:
        After merge fix
      mysql-test/r/rpl_flush_log_loop.result:
        After merge fix
      mysql-test/r/rpl_replicate_do.result:
        After merge fix
      mysql-test/r/rpl_temporary.result:
        After merge fix
      mysql-test/r/rpl_timezone.result:
        After merge fix
        Note that this test fails now (Dimitry has promised to fix this)
      mysql-test/r/rpl_user_variables.result:
        After merge fix
      mysql-test/r/select.result:
        After merge fix
      mysql-test/r/sp-error.result:
        After merge fix
      mysql-test/r/sp-security.result:
        After merge fix
      mysql-test/r/sp.result:
        After merge fix
      mysql-test/r/user_var.result:
        After merge fix
      mysql-test/r/variables.result:
        After merge fix
      mysql-test/t/alter_table.test:
        After merge fix
      mysql-test/t/derived.test:
        After merge fix
      mysql-test/t/func_group.test:
        Make result repeatable
      mysql-test/t/grant_cache.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/multi_update.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000015.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000017.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000018.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl_charset.test:
        After merge fix
      mysql-test/t/rpl_heap.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl_rotate_logs.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/sp-error.test:
        after merge fix
      mysql-test/t/sp-security.test:
        after merge fix
      mysql-test/t/user_var.test:
        after merge fix
      scripts/mysql_fix_privilege_tables.sh:
        This can now be exectued from the source distribution
      sql/handler.cc:
        Cleanup
      sql/handler.h:
        More debugging
      sql/item.h:
        Indentation fixes
      sql/item_cmpfunc.cc:
        After merge fixes
      sql/opt_range.cc:
        After merge fixes
      sql/opt_range.h:
        After merge fixes
      sql/sp.cc:
        After merge fixes
      sql/sp_head.cc:
        Remove closing of thread tables in a SP function as this caused a core dump.
        (Has to be fixed better)
      sql/sql_base.cc:
        More debugging
      sql/sql_handler.cc:
        After merge fixes
        (We have to call ha_index_or_rnd_end() before calling close_thread_table())
      sql/sql_parse.cc:
        More debugging
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
      13d67c78
  4. 30 Jun, 2004 1 commit
    • unknown's avatar
      subselect2.result, select.result: · 58a8cfc8
      unknown authored
        Post-merge fixes for nested joins.
        The join_tab_cmp function in sql_select has been changed.
      join_nested.result:
        Post-merge fixes for nested joins. 
        The join_tab_cmp function in sql_select has been changed
      sql_select.cc:
        Post-merge fixes for nested joins.
        Avoided re-execution of eliminate_not_funcs and simplify_joins
        in optimize_cond.
        Changed the join_tab_cmp function to take into account
        the dependent relation.
      sql_lex.cc, sql_lex.h:
        Added the first_cond_optimization flag to st_select_lex to avoid
        re-execution of some optimizations in optimize_cond.
      sql_base.cc:
        Post-merge fixes for nested joins. 
        Fixed problems with a proper column list substituted for '*' in
        queries with natural joins.
      
      
      sql/sql_base.cc:
        Post-merge fixes for nested joins. 
        Fixed problems with a proper column list substituted for '*' in
        queries with natural joins.
      sql/sql_lex.h:
        Added the first_cond_optimization flag to st_select_lex to avoid
        re-execution of some optimizations in optimize_cond.
      sql/sql_lex.cc:
        Added the first_cond_optimization flag to st_select_lex to avoid
        re-execution of some optimizations in optimize_cond.
      sql/sql_select.cc:
        Post-merge fixes for nested joins.
        Avoided re-execution of eliminate_not_funcs and simplify_joins
        in optimize_cond.
        Changed the join_tab_cmp function to take into account
        the dependent relation.
      mysql-test/r/join_nested.result:
        Post-merge fixes for nested joins. 
        The join_tab_cmp function in sql_select has been changed
      mysql-test/r/select.result:
        Post-merge fixes for nested joins.
        The join_tab_cmp function in sql_select has been changed.
      mysql-test/r/subselect2.result:
        Post-merge fixes for nested joins.
        The join_tab_cmp function in sql_select has been changed.
      58a8cfc8
  5. 25 Jun, 2004 1 commit
  6. 24 Jun, 2004 1 commit
    • unknown's avatar
      bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock. · b8c85bc6
      unknown authored
      Redesigned the handler close functions so that they are usable
      at different places where waiting for closing tables is done.
      
      
      mysql-test/r/flush_table.result:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Added the test results.
      mysql-test/t/flush_table.test:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Activated old test case.
        Added new test cases.
      sql/mysql_priv.h:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Made mysql_ha_close() more flexible.
        Removed mysql_ha_closeall(), which closed only one table despite its name.
        Added mysql_ha_close_list(), which closes the complete list or all tables and does not lock.
        Removed a duplicate declaration.
      sql/sql_base.cc:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Added proper close calls before some wait points to avoid deadlocks
        or infinite loops.
      sql/sql_handler.cc:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Redesigned the internal function find_table_ptr_by_name().
        It can now suppress locking and tells if the requested table
        has been flushed by itself.
        Extended mysql_ha_close() so that it can now suppres locking
        and error reporting. That way it can be used at more places and the
        old function mysql_ha_closeall() is now obsolete.
        Added a new function mysql_ha_close_list() which closes a whole list
        of HANDLER tables or all HANDLER tables, if the list is NULL.
        Furthermore is can close all 'old' (marked for flush) HANDLER tables.
      sql/sql_table.cc:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Replaced the obsolte mysql_ha_closeall() by the new mysql_ha_close().
      b8c85bc6
  7. 18 Jun, 2004 1 commit
    • unknown's avatar
      WL#1264 "Per-thread time zone support infrastructure". · 6415966e
      unknown authored
      Added basic per-thread time zone functionality (based on public
      domain elsie-code). Now user can select current time zone
      (from the list of time zones described in system tables).
      All NOW-like functions honor this time zone, values of TIMESTAMP
      type are interpreted as values in this time zone, so now
      our TIMESTAMP type behaves similar to Oracle's TIMESTAMP WITH
      LOCAL TIME ZONE (or proper PostgresSQL type).
        
      WL#1266 "CONVERT_TZ() - basic time with time zone conversion 
      function".
        
      Fixed problems described in Bug #2336 (Different number of warnings 
      when inserting bad datetime as string or as number). This required
      reworking of datetime realted warning hadling (they now generated 
      at Field object level not in conversion functions).
        
      Optimization: Now Field class descendants use table->in_use member
      instead of current_thd macro.
      
      
      include/my_global.h:
        Added macro for reading of 32-bit ints stored in network order from
        unaligned memory location.
      include/mysqld_error.h:
        Added error-code for invalid timestamp warning and error-code
        for wrong or unknown time zone specification.
      libmysqld/Makefile.am:
        Added main per-thread time zone support file to libmysqld
      libmysqld/lib_sql.cc:
        Added initialization of time zones infrastructure to embedded server.
      mysql-test/r/connect.result:
        Updated test result since now mysql database contains more
        system tables.
      mysql-test/r/date_formats.result:
        Now when truncation occurs during conversion to datetime value we are producing Warnings 
        instead of Notes. Also we are giving more clear warnings about this in some cases.
      mysql-test/r/func_sapdb.result:
        New warnings about truncation occured during conversion to datetime value added due
        their better handling.
      mysql-test/r/func_time.result:
        New warnings about truncation occured during conversion to datetime value added due
        their better handling.
      mysql-test/r/select.result:
        New warnings about truncation occured during conversion to datetime value added due
        their better handling. Also tweaked test a bit to made it less ambigious for reader.
      mysql-test/r/system_mysql_db.result:
        Updated test result because new system tables holding time zone descriptions were 
        added.
      mysql-test/r/timezone.result:
        Updated timezone.test to use new system variable which shows system time zone.
        Added test of warning which is produced if someone tries to store non-existing (due 
        falling into spring time-gap) datetime value into TIMESTAMP field.
      mysql-test/r/type_datetime.result:
        Separated and extended test of values and warnings produced for bad values stored in 
        DATETTIME fields.
      mysql-test/r/type_time.result:
        Now we are producing more consistent warning when we are truncating datetime value while
        storing it in TIME field.
      mysql-test/r/type_timestamp.result:
        Separated and extended test of values and warnings produced for bad
        values stored in TIMESTAMP fields.
      mysql-test/t/select.test:
        Updated test to make it less ambigous for reader.
      mysql-test/t/timezone.test:
        Updated timezone.test to use new system variable which shows system time zone.
        Added test of warning which is produced if someone tries to store non-existing (due 
        falling into spring time-gap) datetime value into TIMESTAMP field.
      mysql-test/t/type_datetime.test:
        Separated and extended test of values and warnings produced for bad
        values stored in DATETTIME fields.
      mysql-test/t/type_timestamp.test:
        Separated and extended test of values and warnings produced for bad
        values stored in TIMESTAMP fields.
      scripts/mysql_create_system_tables.sh:
        Added creation of tables with time zone descriptions.
        Also added descriptions of time zones used in tests.
      scripts/mysql_fix_privilege_tables.sql:
        Added mysql.time_zone* tables family.
      sql/Makefile.am:
        Added files implementing time zone support to server, also added
        rules for building of mysql_tzinfo_to_sql converter and test_time
        test.
      sql/field.cc:
        Now we are using per-thread time zone for TIMESTAMP <-> whatever conversion.
        Fixed generation of warnings for datetime types (DATETIME/TIMESTAMP/DATE/...) and
        any other Field to datetime conversion (now we are generating warnings no in lower
        level functions like in str_to_TIME() but in Field methods. This allows generate
        better and more consistent warnings and to reuse code of str_to_TIME() outside of
        server).
        
        Added 3rd parameter to set_warning() method to be able to not increment cut fields
        but still produce a warning. Also added set_datetime_warning() family of auxiliary 
        methods which allow easier generate datetime related warnings.
        Also replaced occurences of current_thd with table->in_use member, added
        asserts for catching all places there we need to set table->in_use
        accordingly. Renamed fix_datetime() function to number_to_TIME() and
        moved it to sql/time.cc there it fits better.
      sql/field.h:
        Added comment about places where we can use table->in_use member
        instead of current_thd.
        Added 3rd parameter to Field::set_warning() method and set_datetime_warning()
        family of methods.
      sql/field_conv.cc:
        Field::set_warning() method with 2 arguments was replaced with more 
        generic set_warning() method with 3 arguments.
      sql/ha_berkeley.cc:
        Now we set table->in_use for temporary tables so we have to use
        table->tmp_table for checking if table is temporary.
      sql/item.cc:
        Replaced calls to str_to_time() and str_to_TIME() funcs with their warning
        generating analogs.
      sql/item_create.cc:
        Added creation of CONVERT_TZ function as FUNC_ARG3.
      sql/item_create.h:
        Added creation of CONVERT_TZ function as FUNC_ARG3.
      sql/item_timefunc.cc:
        Added support of per-thread time zone to NOW-like and FROM_UNIXTIME,
        UNIX_TIMESTAMP functions. 
        Added support for CONVERT_TZ function.
        Removed call to str_to_timestamp function which caused non-optimal
        behavior in certain cases. Replaced calls to str_to_time() function 
        with its warning generating analog.
      sql/item_timefunc.h:
        Added support of per-thread time zone to NOW-like and
        FROM_UNIXTIME, UNIX_TIMESTAMP functions.
        Added support of CONVERT_TZ function.
      sql/lex.h:
        Added support of CONVERT_TZ function.
      sql/log.cc:
        Added support for replication of statements depending on time zone.
      sql/mysql_priv.h:
        Now including headers with per-thread time zone support functions
        and classes. Added portable replacement of time_t - my_time_t type. 
        Added time zone as one of query distinguishing parameters for
        query cache. 
        Fixed declarations of str_to_TIME, str_to_time and 
        my_system_gmt_sec (former my_gmt_sec) since now they have one more
        out parameter which informs about wrong datetime value or data 
        truncation during conversion.
        Added warning generating version of str_to_TIME() and str_to_time()
        functions.
        Thrown away str_to_datetime/timestamp functions since they are not
        needed any longer. Added number_to_TIME function.
      sql/mysqld.cc:
        Added per-thread time zone support initialization.
        Added new startup parameter --default-time-zone.
      sql/set_var.cc:
        Added support for per-thread time_zone variable.
        Renamed old timezone variable to system_time_zone.
      sql/set_var.h:
        Added support for per-thread time_zone variable.
      sql/share/czech/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/danish/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/dutch/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/english/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/estonian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/french/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/german/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/greek/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/hungarian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/italian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/japanese/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/korean/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/norwegian-ny/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/norwegian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/polish/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/portuguese/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/romanian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/russian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/serbian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/slovak/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/spanish/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/swedish/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/share/ukrainian/errmsg.txt:
        Added error message for barking when incorrect time zone name or
        specifiaction is provided and for warning about invalid TIMESTAMP
        values (e.g. falling into the spring time-gap).
      sql/slave.cc:
        In order to support replication of statements using time zones in 4.1 we should 
        ensure that both master and slave have same default time zone.
      sql/sql_base.cc:
        Now we are setting TABLE::in_use member for all tables (which assume
        calls to Field::store or val_ methods).
      sql/sql_cache.cc:
        Added time zone as one more query distinguishing parameter
        for query cache.
      sql/sql_class.cc:
        Added THD::time_zone_used variable indicating that this query
        uses per thread time zone.
      sql/sql_class.h:
        Added per-thread time zone variable. Added THD::time_zone_used
        variable indicating that this query uses per thread time zone
        so if this is updating query the time zone should be logged to 
        binlog.
      sql/sql_insert.cc:
        We should set TABLE::in_use member pointing to thread which is called
        INSERT DELAYED and not to worker thread.
      sql/sql_load.cc:
        Field::set_warning() now has one more argument now.
      sql/sql_parse.cc:
        Resetting THD::time_zone_used variable in the end of query
        processing.
      sql/sql_select.cc:
        Now we are setting TABLE::in_use member for all tables (which assume
        calls to Field::store or val_ methods).
      sql/sql_show.cc:
        Now using per thread time zone for extended show tables.
      sql/time.cc:
        Added support for per-thread time zones for TIMESTAMP type and
        reworked generation of warnings for TIMESTAMP and DATETIME types.
        (Introduced new TIME_to_timestamp() function. Removed hours 
        normalisation from former my_gmt_sec() since it was not working 
        and not used anywhere now, but breaks parameter constness, added
        to this function generation of warning if we are falling in spring 
        time-gap. Removed str_to_timestamp and str_to_datetime functions 
        which are no longer used. Moved fix_datetime function from
        sql/field.cc to this file as number_to_TIME() function. Added
        out parameter for str_to_TIME and str_to_time functions which
        indicates if value was truncated during conversion, removed direct 
        generation of warnings from this functions.)
      sql/unireg.cc:
        Now we are setting TABLE::in_use member for all tables (which assume
          calls to Field::store or val_ methods).
      BitKeeper/etc/ignore:
        Added sql/test_time sql/mysql_tzinfo_to_sql libmysqld/tztime.cc to the ignore list
      6415966e
  8. 11 Jun, 2004 1 commit
    • unknown's avatar
      join_nested.test, join_nested.result: · 2c71b559
      unknown authored
        new file
      Many files:
        Nested joins added.
      
      
      sql/item_cmpfunc.h:
        Nested joins added.
      sql/item_func.h:
        Nested joins added.
      sql/sql_base.cc:
        Nested joins added.
      sql/sql_lex.cc:
        Nested joins added.
      sql/sql_lex.h:
        Nested joins added.
      sql/sql_parse.cc:
        Nested joins added.
      sql/sql_select.cc:
        Nested joins added.
      sql/sql_select.h:
        Nested joins added.
      sql/sql_yacc.yy:
        Nested joins added.
      sql/table.h:
        Nested joins added.
      mysql-test/r/join_outer.result:
        Nested joins added.
      mysql-test/r/select.result:
        Nested joins added.
      2c71b559
  9. 10 Jun, 2004 1 commit
    • unknown's avatar
      EXISTS(SELECT * ...) · 7da027f1
      unknown authored
      close table before opening in optimize
      
      
      mysql-test/r/subselect.result:
        test of EXISTS(SELECT * ...)
      mysql-test/t/subselect.test:
        test of EXISTS(SELECT * ...)
      sql/sql_base.cc:
        EXISTS(SELECT * ...)
      sql/sql_table.cc:
        close table before opening one
      7da027f1
  10. 29 May, 2004 1 commit
  11. 19 May, 2004 1 commit
    • unknown's avatar
      PS and SP made compatible in mechanism used for preparing query for rexecutions (Bug #2266) · d3c902c3
      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
      d3c902c3
  12. 17 May, 2004 1 commit
  13. 14 May, 2004 1 commit
  14. 05 May, 2004 1 commit
    • unknown's avatar
      Fixed crashing bug with alter table when table was in use (Bug #3643) · bc596045
      unknown authored
      We didn't use 'only index' for tables of type 'const'. (Bug #3497)
      
      
      mysql-test/r/func_str.result:
        New testfin
      mysql-test/r/key.result:
        New test
      mysql-test/r/key_primary.result:
        Update after "We didn't use 'only index' for tables of type 'const'" fix.
      mysql-test/r/null_key.result:
        Update after "We didn't use 'only index' for tables of type 'const'" fix.
      mysql-test/r/subselect.result:
        Update after "We didn't use 'only index' for tables of type 'const'" fix.
      mysql-test/t/func_str.test:
        Updated bug texts
        Added test for conversion of long string value to integer (Bug #3472)
      mysql-test/t/key.test:
        Test of key read with primary key (Bug #3497)
      sql/item.cc:
        Added assert
      sql/sql_base.cc:
        Fixed crashing bug with alter table when table was in use (Bug #3643)
      sql/sql_load.cc:
        Indentation fixes
      sql/sql_select.cc:
        We didn't use 'only index' for tables of type 'const'. (Bug #3497)
      bc596045
  15. 04 May, 2004 1 commit
  16. 15 Apr, 2004 1 commit
    • unknown's avatar
      Added NDB storage engine · 31bbe692
      unknown authored
      include/my_base.h:
        Added three new errorcodes to be returned by the handler
      sql/Makefile.am:
        Add new files discover.cc, ha_ndbcluster.cc and ha_ndbcluster.h
        Add include path of NDB files
      sql/handler.cc:
        Added variable for keeping track of number of "discovers"
        Added NDB to list of storage engines
        Added calls to NDB for commit, rollback etc.
        Added function ha_discover for discovering a table from handler
      sql/handler.h:
        Added NDB to list of storage engines
        Added vbariable in transaction for keeping a ndb transaction handle
      sql/lex.h:
        Changed AND to AND_SYM and OR to OR_SYM to avoid nameclash
      sql/mysql_priv.h:
        Added prototypes for new functions readfrm, writefrm and create_table_from_handler
      sql/mysqld.cc:
        Added NDB support
        Disable NDB with --skip-ndbcluster
      sql/set_var.cc:
        Add posibilty to show if NDB handler is supported
      sql/ha_ndbcluster.cc:
        Add ifdef for whole file for not compiling anything if NDB sholdn't be included
        Updated timestamp handling to use new vars timestamp_default_now and timestamp_on_update_now
      sql/sql_base.cc:
        If frm file is not found on disk, ask handler if it knows about the table. Then retry the open.
        This new functionality is called "discover" and can be used by any handler.
      sql/sql_class.h:
        Added variable for keeping a NDB connection handle
      sql/sql_table.cc:
        Before trying to create a table, ask handler if a table with that name already exists.
        If user said CREATE TABLE IF NOT EXISTS, disocver the table from handler
      sql/sql_yacc.yy:
        Add NDBCLUSTER_SYM
        Change AND to AND_SYM
        Change OR to OR_SYM
      sql/table.cc:
        Fixe for probelm when NullS is returned from bas_ext of a handler.
      31bbe692
  17. 07 Apr, 2004 1 commit
    • unknown's avatar
      after review changes · 56507195
      unknown authored
      sql/log_event.cc:
        non_cachable_table flag changed to cacheable_table
      sql/repl_failsafe.cc:
        non_cachable_table flag changed to cacheable_table
      sql/slave.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_acl.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_base.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_cache.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_help.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_insert.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_parse.cc:
        non_cachable_table flag changed to cacheable_table
      sql/sql_prepare.cc:
        renamed DEBUG tag
      sql/table.h:
        non_cachable_table flag changed to cacheable_table
      56507195
  18. 06 Apr, 2004 2 commits
    • unknown's avatar
      ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(),... · 6ca2c764
      unknown authored
      ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      Field::val_str simplification, comment
      
      
      include/my_base.h:
        typos fixed
      mysql-test/r/myisam.result:
        alter table enable/disable keys
      mysql-test/t/help.test:
        cleanup
      mysql-test/t/myisam.test:
        alter table enable/disable keys
      sql/field.cc:
        Field::val_str() simplification
      sql/field.h:
        Field::val_str() simplification and comment
      sql/field_conv.cc:
        Field::val_str() simplification
      sql/ha_berkeley.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_berkeley.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_heap.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_heap.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_innodb.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_innodb.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isam.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isam.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isammrg.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isammrg.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_myisam.cc:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/ha_myisam.h:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/ha_myisammrg.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_myisammrg.h:
        ::reset(), HA_FAST_KEY_READ
      sql/handler.h:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/item.cc:
        Field::val_str() simplification
      sql/item_sum.cc:
        Field::val_str() simplification
      sql/key.cc:
        Field::val_str() simplification
      sql/opt_range.cc:
        Field::val_str() simplification
      sql/protocol.cc:
        Field::val_str() simplification
      sql/records.cc:
        HA_FAST_KEY_READ
      sql/sql_acl.cc:
        Field::val_str() simplification
      sql/sql_base.cc:
        ::reset
      sql/sql_insert.cc:
        ::reset(), start_bulk_insert(), end_bulk_insert()
      sql/sql_load.cc:
        start_bulk_insert(), end_bulk_insert()
      sql/sql_show.cc:
        Field::val_str() simplification
      sql/sql_table.cc:
        disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/table.cc:
        Field::val_str() simplification
      6ca2c764
    • unknown's avatar
      Fixed warnings from valgrind (not a bug) · 11913b45
      unknown authored
      Don't add -debug to server version if MYSQL_SERVER_PREFIX is used
      Indentation cleanups
      
      
      myisam/mi_write.c:
        Indentation cleanup
      mysql-test/r/lowercase_table2.result:
        Fixed test results
      sql/filesort.cc:
        Fixed warnings from valgrind (not a bug)
      sql/ha_myisam.cc:
        Indentation cleanup
      sql/mysqld.cc:
        Don't add -debug to server if MYSQL_SERVER_PREFIX is used
      sql/sql_base.cc:
        Indentation cleanup
      sql/sql_show.cc:
        Fixed typo in comment
      sql/sql_table.cc:
        Indentation cleanup
      11913b45
  19. 04 Apr, 2004 1 commit
    • unknown's avatar
      removed old way to prevent using stack tables for caching Items in PS · 5339d094
      unknown authored
      fixed error code in union test
      
      
      mysql-test/t/union.test:
        right code worr 4.1 error
      sql/log_event.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/repl_failsafe.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/slave.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_acl.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_base.cc:
        assign non-cachable for Item status for all stack tables for safety
        non-cachable status processing
      sql/sql_cache.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_class.cc:
        removed ald way to prevent using stack tables for caching Items in PS
      sql/sql_class.h:
        removed old way to prevent using stack tables for caching Items in PS
      sql/sql_help.cc:
        assign non-cachable for Item status for all stack tables for safety
      sql/sql_insert.cc:
        assign non-cachable for Item status for all stack tables for safety
        removed old way to prevent using stack tables for caching Items in PS
      sql/table.h:
        non-cachable for Item status for tables
      5339d094
  20. 03 Apr, 2004 2 commits
    • unknown's avatar
      for Item_param we have to have value set instead of fave item fixed (BUG#3353) · 91196dc7
      unknown authored
      fixed outer joins
      test of different joins included
      
      
      sql/item.cc:
        for Item_param we have to have value set instead of fave item fixed
      sql/sql_base.cc:
        fixed PS with outer joins
      tests/client_test.c:
        test of different types of joins
      91196dc7
    • unknown's avatar
      fixed brocken of client_test · 7ce8fd9e
      unknown authored
      fixed aggregate functions in PS (BUG#3360)
      
      
      mysql-test/r/union.result:
        4.1 more correct error
      sql/item_cmpfunc.h:
        and_conds do not make fix fields
      sql/item_sum.cc:
        storing/restoring argument of aggregate function for prepared statements
        restoring order list of group_concat for safety
      sql/item_sum.h:
        storing/restoring argument of aggregate function for prepared statements
        layout fix
      sql/mysql_priv.h:
        just declaration
      sql/sql_base.cc:
        fix_fields() have to be called with temporary memory pool active
      sql/sql_parse.cc:
        removed hack with item pointer storing
      sql/sql_prepare.cc:
        debug output added
        removed hack with item pointer storing
      sql/sql_select.cc:
        fix_fields now should be called separately
      sql/sql_union.cc:
        removed wrong merged check from 4.0 (4.1 have its own protection)
      sql/table.h:
        removed hack with item pointer storing
      tests/client_test.c:
        new test fo PS
      7ce8fd9e
  21. 02 Apr, 2004 1 commit
    • unknown's avatar
      WL#1266 "Separate auto-set logic from TIMESTAMP type." · 4ada2ea9
      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.
      4ada2ea9
  22. 01 Apr, 2004 1 commit
    • unknown's avatar
      fix for table/field caching mechanism · a949b869
      unknown authored
      save moving ON/USING tables conditions to WHERE clause (BUG#2794)
      
      
      sql/sql_base.cc:
        fix for table/field caching mechanism (global lock of it and right table passed as parameter)
        save moving ON/USING tables conditions to WHERE clause (BUG#2794)
      sql/sql_class.cc:
        lock for using field/table cache in Item name resolution
      sql/sql_class.h:
        lock for using field/table cache in Item name resolution
      sql/sql_insert.cc:
        lock for using field/table cache in Item name resolution
      tests/client_test.c:
        Test of PS queries with ON condition
      a949b869
  23. 31 Mar, 2004 3 commits
    • unknown's avatar
      c51e7f3a
    • unknown's avatar
      Fix for Bug #3307 "FLUSH TABLES sometimes breaks prepared statement · ca25de03
      unknown authored
      table resolution".
      Added members to Item_ident for storing original db, table and field
      names since those that set later from Field have shorter life-time 
      than required by prep. stmt. So we need to restore original names in 
      Item_ident::cleanup(). Also now using special construnctor for creation
      of Item_field from Field object that ensures that table and field name 
      have big enough life-time.
      
      "Fix" for bug #2050 "10 to 1 performance drop with server 4.1.1"
      Clean ups in implementation of caching of field number in table.
      Added caching of table in which field is found in find_field_in_tables(). 
      
      
      sql/item.cc:
        Added members to Item_ident for storing original db, table and field
        names since those that set later from Field have shorter life-time 
        than required by prep. stmt. So we need to restore original names in 
        Item_ident::cleanup().
        Added Item_ident::cached_table for caching table there we found 
        our field.
        Added special constructor for creation of Item_field from Field object
        that ensures that table and field name have big enough life-time.
      sql/item.h:
        Added members to Item_ident for storing original db, table and field
        names since those that set later from Field have shorter life-time 
        than required by prep. stmt. So we need to restore original names in 
        Item_ident::cleanup().
        Changed type of Item_ident::cached_field_index from int to uint
        (and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
        save one comparison in find_field_in_table().
        Added Item_ident::cached_table for caching table there we found 
        our field.
        Added special constructor for creation of Item_field from Field object
        that ensures that table and field name have big enough life-time.
      sql/mysql_priv.h:
        Changed type of cached_field_index_ptr from int* to uint*
        (and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
        save one comparison in find_field_in_table().
      sql/sql_acl.cc:
        Changed type of find_field_in_table() paremeter to make it 
        faster.
      sql/sql_base.cc:
        find_field_in_table(): small optimization and soime clean ups in 
         caching of field index.
        find_field_in_tables(): added aggresive caching of table in which
         field is found in Item_ident::cached_table.
        insert_fields():
         using special construnctor for creation of Item_field from Field 
         object that ensures that table and field name have big enough life-time.
      ca25de03
    • unknown's avatar
      simple optimzation · 58402416
      unknown authored
      Portability fixes
      
      
      client/mysqltest.c:
        Fixed that if error number 0 is included in --error, we will not generate an error message
      include/mysql.h:
        Portability fix
      mysql-test/mysql-test-run.sh:
        Portability fix
      mysql-test/r/heap_btree.result:
        Portability fix
      mysql-test/r/rpl_error_ignored_table.result:
        Portability fix
      mysql-test/t/heap_btree.test:
        Portability fix
      mysql-test/t/rpl_error_ignored_table.test:
        Portability fix
      sql/sql_base.cc:
        simple optimzation
      sql/sql_yacc.yy:
        simple optimzation
      58402416
  24. 30 Mar, 2004 2 commits
    • unknown's avatar
      Worklog#1563 - Support of on-line CREATE/DROP INDEX. · c7534fad
      unknown authored
      This is to enable table handlers to implement online create/drop index.
      It consists of some parts:
      - New default handler methods in handler.h
      - Split of mysql_alter_table. It decides if only one kind of
        alteration is to be done (e.g. only create indexes or only drop
        indexes etc.) It then calls the specialized new handler method if
        the handler implements it. Otherwise it calls real_alter_table.
      - The parser sets flags for each alter operation detected in a
        command. These are used by mysql_alter_table for the decision.
      - mysql_prepare_table is pulled out of mysql_create_table. This is
        also used by mysql_create_index to prepare the key structure array
        for the handler. It is also used by mysql_create_index and
        mysql_drop_index to prepare a call to mysql_create_frm.
      - mysql_create_frm is pulled out of rea_create_table for use by
        mysql_create_index and mysql_drop_index after the index is
        created/dropped.
      Thanks to Antony who supplied most of the changes.
      
      
      sql/handler.h:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        New virtual handler methods with default implementation and return flags.
      sql/mysql_priv.h:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        New function prototypes. mysql_prepare_table is pulled out of
        mysql_create_table. It prepares a table structure, which is used by 
        mysql_create_table, mysql_create_index and mysql_drop_index.
        real_alter_table is pulled out of mysql_alter_table. The latter only
        looks if the requested operation can be done by specialized functions
        or else calls real_alter_table, which does the real thing.
        mysql_add_column and mysql_drop_colunm are for future use. They simply
        call real_alter_table. mysql_create_frm is pulled out of
        rea_create_table. It is called also from mysql_create_index and
        mysql_drop_index after successful create/drop index.
        mysql_alter_table prototype is extended by the new alter_flags argument.
      sql/sql_base.cc:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        mysql_create_index and mysql_drop_index moved to sql_table.cc.
      sql/sql_lex.h:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        Definitions for the new alter_flags.
      sql/sql_parse.cc:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        Extend the calls to mysql_alter_table by the new alter_flags argument.
      sql/sql_table.cc:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        mysql_prepare_table is pulled out of mysql_create_table.
        mysql_create_index and mysql_drop_index are changed so that they use
        the new handler functions if the handler implements them.
        mysql_add_column and mysql_drop_column are for future use. They simply
        call real_alter_table. mysql_alter_table only decides which function
        to use for the requested operation. real_alter_table implements most
        of what mysql_alter_table did before.
      sql/sql_yacc.yy:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        Set the alter_flags where appropriate.
      sql/unireg.cc:
        Worklog#1563 - Support of on-line CREATE/DROP INDEX.
        mysql_create_frm is pulled out of rea_create_table.
      c7534fad
    • unknown's avatar
      An improvement of · 928a6d13
      unknown authored
      ChangeSet
        1.1707 04/03/19 12:36:55 ram@gw.mysql.r18.ru +4 -0
        Fix for the bug #2976: NATURAL JOIN produces duplicate columns.
      
      928a6d13
  25. 29 Mar, 2004 1 commit
  26. 28 Mar, 2004 1 commit
    • unknown's avatar
      "Fix" for BUG #2050 "10 to 1 performance drop with server 4.1.1". · 12dd5008
      unknown authored
      Actually it is not a bug but right behavior observed as pefomance 
      degradation after we have forced Item_field::fix_fields() to 
      re-execute each time when we are executing prep stmt.
      
      This patch implements small optimization which heals this bad 
      behavior. We are caching field position in TABLE::field array in
      Item's member and are using this position for speeding up field
      lookups in fix_fields() in case of its re-execution.
      
      
      sql/item.cc:
        Added cached_field_index member to Item_ident for caching field
        position in TABLE::field array for quicker field lookup in case 
        fix_fields() is executed twice.
      sql/item.h:
        Added cached_field_index member to Item_ident for caching field
        position in TABLE::field array for quicker field lookup in case 
        fix_fields() is executed twice.
      sql/mysql_priv.h:
        Now find_field_in_table has one more in-out parameter which is used
        for caching field index in TABLE::field array stored for quicker
        field look up.
      sql/sql_acl.cc:
        Now find_field_in_table has one more in-out parameter which is used
        for caching field index in TABLE::field array stored for quicker
        field look up.
      sql/sql_base.cc:
        Optimization: Now when we are looking up Field by its name we are 
        caching its position in TABLE::field array in Item_ident::cached_field_index,
        so when we will call fix_fields() second time for this item (e.g.
        when we are re-executing prep statement) we can reuse this index
        to speed up this lookup.
      sql/table.cc:
        Now we storing in TABLE::name_hash pointers to elements of 
        TABLE::field array, because this allows easily retrieve index
        of field in this array when it is looked up by its name.
      sql/table.h:
        Added comment claryfying what we store in TABLE::name_hash.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      12dd5008
  27. 26 Mar, 2004 1 commit
  28. 25 Mar, 2004 1 commit
    • unknown's avatar
      Cleanups & safety fixes · cf5e9e65
      unknown authored
      include/mysql.h:
        cleanup of load data infile patch
      libmysql/libmysql.c:
        cleanup of load data infile patch
      myisam/mi_search.c:
        Added missing assert.h
      mysql-test/r/func_time.result:
        Make test more secure
      mysql-test/t/func_time.test:
        Make test more secure
      sql/item.cc:
        restore to use str_value in item::save_in_field
      sql/item.h:
        Simple cleanup
      sql/item_cmpfunc.cc:
        Safety fix
      sql/item_cmpfunc.h:
        Simple optimization
      sql/item_func.cc:
        Updated comment
      sql/sql_base.cc:
        Simple optimization
      sql/sql_select.cc:
        Simple optimization
      sql/sql_union.cc:
        safey fixes
      cf5e9e65
  29. 24 Mar, 2004 1 commit
  30. 20 Mar, 2004 2 commits
    • unknown's avatar
      The automatic DROP TEMPORARY TABLE is now DROP TEMPORARY TABLE IF EXISTS, · 96f2820f
      unknown authored
      this is better in this case:
      - imagine user1 has created a temp table
      - imagine user2 does FLUSH TABLES WITH READ LOCK, then takes a backup,
      then RESET MASTER then UNLOCK TABLES, like mysqldump --first-slave
      - then in the binlog you will finally have the DROP TEMPORARY TABLE,
      but not the CREATE TEMPORARY TABLE, so when you later restore with
      mysqlbinlog|mysql, mysql will complain that table does not exist.
      Replication was already protected of this (it processes DROP TEMPORARY
      TABLE as if there was a IF EXISTS), now I add it directly to the query
      for mysqlbinlog|mysql to work.
      
      
      mysql-test/r/drop_temp_table.result:
        result update (query changed)
      96f2820f
    • unknown's avatar
      after review changes · 042b46fc
      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
      042b46fc
  31. 19 Mar, 2004 1 commit
    • unknown's avatar
      Fix for the bug #2976: NATURAL JOIN produces duplicate columns. · 62699903
      unknown authored
      Improvement natural join code in the setup_conds(). 
      
      
      mysql-test/r/join.result:
        Fix for the bug #2976: NATURAL JOIN produces duplicate columns
      mysql-test/r/join_outer.result:
        Fix for the bug #2976: NATURAL JOIN produces duplicate columns
      mysql-test/r/select.result:
        Fix for the bug #2976: NATURAL JOIN produces duplicate columns
      62699903