An error occurred fetching the project authors.
  1. 08 May, 2007 1 commit
    • unknown's avatar
      Bug #27792 query cache returns wrong result, with certain system variables · ed947499
      unknown authored
       - Queries in the query cache are identified by the individual 
         characters in the query statement, the current database and 
         the current environment expressed as a set of system variable
         flags.
       - Since the set of environment flags didn't properly describe the
         current environment unexpected results were returned from the 
         query cache.
       - Query cache is now cleared when the variable ft_boolean_syntax is 
         updated.
       - An identification flag for the variable default_week_format is 
         added to the query cache record.
       
      Thanks to Martin Friebe who has supplied significant parts of this patch.
      
      
      mysql-test/r/query_cache.result:
        Added test case
      mysql-test/t/query_cache.test:
        Added test case
      sql/mysql_priv.h:
        - Added missing flags to reflect the significant local environment
          settings of the cached query.
      sql/set_var.cc:
        - Added query cache flush when system variable ft_boolean_syntax is
          updated since this also invalidates all cached result sets using this
          variable.
      sql/sql_cache.cc:
        - Added another local system variable as an identification flag
          for cached queries.
      ed947499
  2. 04 Jul, 2006 1 commit
    • unknown's avatar
      WL#2928 Date Translation NRE · 184ff212
      unknown authored
      (implemented by by Josh Chamas)
      
      
      libmysqld/Makefile.am:
        Adding new source file
      mysql-test/r/date_formats.result:
        Adding test case
      mysql-test/t/date_formats.test:
        Adding test case
      sql/Makefile.am:
        Adding new source file
      BitKeeper/etc/ignore:
        Added libmysqld/sql_locale.cc to the ignore list
      sql/item_timefunc.cc:
        Using current locale data, instead of hard coded English names.
      sql/mysql_priv.h:
        Adding new type MY_LOCALE, and declaring new global variables.
      sql/set_var.cc:
        Adding "lc_time_names" system variable.
      sql/set_var.h:
        Adding "lc_time_names" system variable.
      sql/sql_cache.cc:
        Adding lc_time_names as a query cache flag.
      sql/sql_class.cc:
        Setting default locale to en_US
      sql/sql_class.h:
        Adding locale variable into system_variables.
      sql/sql_locale.cc:
        Adding new file with locale data for various languages
      184ff212
  3. 04 Jan, 2006 1 commit
    • unknown's avatar
      A fix for Bug#7209 "Client error with "Access Denied" on updates · f577d864
      unknown authored
      when high concurrency": remove HASH::current_record and make it
      an external search parameter, so that it can not be the cause of a 
      race condition under high concurrent load.
      The bug was in a race condition in table_hash_search,
      when column_priv_hash.current_record was overwritten simultaneously
      by multiple threads, causing the search for a suitable grant record
      to fail.
      No test case as the bug is repeatable only under concurrent load.
      
      
      include/hash.h:
        - remove current_record from HASH, instead modify hash_first,
        hash_next to accept HASH_SEARCH_STATE as an IN/OUT parameter
      mysys/hash.c:
        - remove HASH::current_record
        - change declarations of functions that use HASH in read-only mode
          to accept const HASH * instead of HASH *. 
        - implement hash_search; move the old implementation of hash_search
        to hash_first
      mysys/testhash.c:
        - adjust the test case to changed function declarations
      sql/lock.cc:
        - adjust to changed declarations of hash_search, hash_next
      sql/sql_acl.cc:
        - adjust to changed declarations of hash_search, hash_next
      sql/sql_base.cc:
        - adjust to changed declarations of hash_search, hash_nex
      sql/sql_cache.cc:
        - adjust to a changed declaration of hash_replace
      f577d864
  4. 01 Dec, 2005 1 commit
  5. 06 Sep, 2005 1 commit
    • unknown's avatar
      support of concurent query cache resizing (BUG#12848) · f5f896b4
      unknown authored
      sql/mysql_priv.h:
        initialisation moved to mysqld.cc
      sql/mysqld.cc:
        initialisation moved to mysqld.cc
      sql/sql_cache.cc:
        support of concurent query cache resizing:
              - resizing made atomic
              - check stack size after each quard mutex lock
      sql/sql_cache.h:
        initialisation moved to mysqld.cc
        removed uneed parameter (now it is always under guard mutex protection or called from destruction)
      f5f896b4
  6. 10 Aug, 2005 1 commit
    • unknown's avatar
      block using QC in case of having tables locked by LOCK... (BUG#12385) · 307ed9b4
      unknown authored
      sql/sql_cache.cc:
        block QC using if tables are locked with LOCK
        unlock QC
      mysql-test/r/query_cache_noembeded.result:
        New BitKeeper file ``mysql-test/r/query_cache_noembeded.result''
      mysql-test/t/query_cache_noembeded.test:
        New BitKeeper file ``mysql-test/t/query_cache_noembeded.test''
      307ed9b4
  7. 23 Jun, 2005 1 commit
    • unknown's avatar
      temporary tables of subquery in the from clause just skipped during processing... · 0cc6dd83
      unknown authored
      temporary tables of subquery in the from clause just skipped during processing QC tables (BUG#11522)
      
      
      mysql-test/r/query_cache.result:
        queries with subquery in the FROM clause
      mysql-test/t/query_cache.test:
        queries with subquery in the FROM clause
      sql/sql_cache.cc:
        temporary tables of subquery in the from clause just skipped during processing QC tables
      0cc6dd83
  8. 01 Apr, 2005 1 commit
    • unknown's avatar
      Fix crash in embedded server due to incorrect storage of results · e7332e64
      unknown authored
      in the query cache. (Bug #9549)
      
      
      libmysqld/emb_qcache.h:
        Fix Querycache_stream::use_next_block() to actually use the next
        block and mark blocks as used when it writes to them.
      mysql-test/r/query_cache.result:
        Update results.
      mysql-test/t/query_cache.test:
        Add new regression test.
      libmysqld/emb_qcache.cc:
        Fix calls to use_next_block() to indicate whether we are writing
        to the next block or not.
      sql/sql_cache.cc:
        Initialize the first block properly when storing a result in
        the embedded server.
      e7332e64
  9. 11 Feb, 2005 1 commit
  10. 24 Jan, 2005 1 commit
  11. 18 Jan, 2005 1 commit
  12. 16 Dec, 2004 1 commit
    • unknown's avatar
      Making 4.1 tree compile with -ansi -pedantic · bfa45f2f
      unknown authored
      include/raid.h:
        Fixing compile-time warning: pragma interface is not supported in C,
        let's move it to C++ part of the header.
      ndb/include/kernel/signaldata/CreateEvnt.hpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/include/kernel/signaldata/PackedSignal.hpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/include/kernel/signaldata/SumaImpl.hpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/common/debugger/signaldata/NFCompleteRep.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/common/logger/FileLogHandler.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/backup/BackupInit.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/dbacc/DbaccInit.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/dbtc/DbtcInit.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/dbutil/DbUtil.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/grep/GrepInit.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/ndbfs/VoidFs.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/suma/Suma.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/suma/SumaInit.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/kernel/blocks/trix/Trix.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/mgmsrv/MgmtSrvr.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/ndbapi/NdbEventOperation.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/src/ndbapi/NdbScanFilter.cpp:
        - remove extra erroneous ; from ends of function definitions
      ndb/tools/restore/Restore.cpp:
        - remove extra erroneous ; from ends of function definitions
      sql/item_create.h:
        - remove extra erroneous ;
      sql/sql_cache.cc:
        - remove extra erroneous ;
      tests/client_test.c:
        - fix -pedantic warning
      bfa45f2f
  13. 09 Dec, 2004 1 commit
    • unknown's avatar
      Fix for bug #6765 "Implicit access to time zone description · 9ad51c63
      unknown authored
      tables requires privileges for them if some table or column level grants
      present" (with after-review fixes).
      
      We should set SELECT_ACL for implicitly opened tables in 
      my_tz_check_n_skip_implicit_tables() to be able to bypass privilege
      checking in check_grant(). Also we should exclude those tables from
      privilege checking in multi-update.
      
      
      mysql-test/r/timezone2.result:
        Extended test for bug #6116 "SET time_zone := ... requires access to
        mysql.time_zone tables"
        Added test for bug #6765 "Implicit access to time zone description 
        tables requires privileges for them if some table or column level grants
        present"
      mysql-test/t/timezone2.test:
        Extended test for bug #6116 "SET time_zone := ... requires access to
        mysql.time_zone tables"
        Added test for bug #6765 "Implicit access to time zone description 
        tables requires privileges for them if some table or column level grants
        present"
      sql/item_geofunc.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/item_strfunc.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/log.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/mysql_priv.h:
        Now we have to include sql_acl.h before tztime.h, since 
        my_tz_check_n_skip_implicit_tables() defined there requires
        SELECT_ACL constant defined in sql_acl.h.
      sql/mysqld.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/repl_failsafe.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/set_var.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_acl.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_base.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_cache.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_class.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_db.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_derived.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_do.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_insert.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_parse.cc:
        check_one_table_access(): Tweaked comments.
        multi_update_precheck(): Added skipping of implicitly opened tables
          during privilege checking.
      sql/sql_prepare.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_repl.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_show.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_update.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_yacc.yy:
        sql_acl.h is now included via mysql_priv.h
      sql/tztime.h:
        my_tz_check_n_skip_implicit_tables():
          We should set SELECT_ACL for implictly opened tables to be able to
          bypass privilege checking in check_grant().
      9ad51c63
  14. 27 Oct, 2004 1 commit
    • unknown's avatar
      Fixed access to freed memory · 8ace5310
      unknown authored
      innobase/srv/srv0srv.c:
        after merge fix
      sql/set_var.cc:
        after merge fix
      sql/sql_cache.cc:
        after merge fix
      8ace5310
  15. 25 Oct, 2004 1 commit
  16. 22 Oct, 2004 1 commit
    • unknown's avatar
      postreview fixes · 5ab6c5e5
      unknown authored
      sql/mysql_priv.h:
        constant definition
      sql/sql_base.cc:
        difine used instead of constant
      sql/sql_cache.cc:
        difine used instead of constant
        typo fixed
      5ab6c5e5
  17. 21 Oct, 2004 1 commit
    • unknown's avatar
      Check of temporary tables hiding for query fetched from QC (BUG#6084) · e6e1600e
      unknown authored
      mysql-test/r/query_cache.result:
        hiding real table stored in query cache by temporary table
      mysql-test/t/query_cache.test:
        hiding real table stored in query cache by temporary table
      sql/sql_cache.cc:
        Check of temporary tables hiding for query fetched from QC
      sql/sql_cache.h:
        Key length now stored in table record of query cache
      e6e1600e
  18. 05 Oct, 2004 1 commit
  19. 01 Oct, 2004 1 commit
  20. 16 Sep, 2004 1 commit
  21. 10 Sep, 2004 1 commit
    • unknown's avatar
      information about different variables agged to query cache (BUG#5515, BUG#5394) · 32dc386d
      unknown authored
      mysql-test/r/query_cache.result:
        test of QC with different variables
      mysql-test/t/query_cache.test:
        test of QC with different variables
      sql/mysql_priv.h:
        new information for query key calculation
      sql/sql_cache.cc:
        new information for query key calculation
      sql/sql_cache.h:
        removed unused definitions
      32dc386d
  22. 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
  23. 18 Jun, 2004 1 commit
    • unknown's avatar
      WL#1264 "Per-thread time zone support infrastructure". · 6aaccbcb
      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
      6aaccbcb
  24. 22 May, 2004 1 commit
    • unknown's avatar
      Fix for bug which caused grant.test fail on darwin7.3. We were converting db and table · 0e86cf8a
      unknown authored
      names to lower case using latin1 instead of utf-8 in sql_acl.cc if lower_case_table_names 
      was on. Also replaced in other such places system_charset_info with files_charset_info
      for consistency.
      
      
      sql/handler.cc:
        Replaced system_charset_info with files_charset_info in places where we are converting 
        names to lower case because of lower_case_table_names for consistency.
      sql/sql_acl.cc:
        We should use files_charset_info when converting db/table names to lower case because they
        could be in utf-8 and not in latin1!
      sql/sql_cache.cc:
        Added clarifying comments in tricky place after discussion with Sanja.
        Replaced system_charset_info with files_charset_info in places where we 
        are converting names to lower case because of lower_case_table_names for 
        consistency.
      sql/sql_db.cc:
        Replaced system_charset_info with files_charset_info in places where we are converting 
        names to lower case because of lower_case_table_names for consistency.
      sql/sql_show.cc:
        Replaced system_charset_info with files_charset_info in places where we are converting 
        names to lower case because of lower_case_table_names for consistency.
      sql/sql_table.cc:
        Replaced system_charset_info with files_charset_info in places where we are converting 
        names to lower case because of lower_case_table_names for consistency.
      0e86cf8a
  25. 06 May, 2004 1 commit
    • unknown's avatar
      Fixed (portability) bug in handler.h, and tried to silence cast warnings on some platforms. · 52656969
      unknown authored
      sql/handler.h:
        Fixed (portability) bug. No qualified method names in the class definition.
      sql/item_cmpfunc.h:
        Attempt to silence cast warnings on some platforms.
      sql/item_subselect.h:
        Attempt to silence cast warnings on some platforms.
      sql/set_var.cc:
        Silence warning (missing cast).
      sql/spatial.h:
        Attempt to silence cast warnings on some platforms.
      sql/sql_cache.cc:
        Silence warning (wrong cast).
      sql/sql_lex.h:
        Attempt to silence cast warnings on some platforms.
      52656969
  26. 05 May, 2004 2 commits
    • 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
    • unknown's avatar
      avoid using ndb tables in query cache · ea646dce
      unknown authored
      sql/ha_ndbcluster.h:
        fixed layout
        prohibit using query cache with ndb tables
      sql/handler.h:
        new caching type
      sql/sql_cache.cc:
        support of new caching type (caching prohibited)
      ea646dce
  27. 07 Apr, 2004 1 commit
    • unknown's avatar
      after review changes · 08594c47
      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
      08594c47
  28. 05 Apr, 2004 1 commit
    • unknown's avatar
      Fixed many compiler warnings · 7873b89f
      unknown authored
      Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
      Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
      Set locked_in_memory properly
      
      
      include/mysql_com.h:
        Fixed compiler warning
      libmysqld/emb_qcache.cc:
        Removed not used variable
      libmysqld/lib_sql.cc:
        Removed not used variable
      myisam/mi_locking.c:
        Added comment
      myisam/mi_rnext.c:
        Fixed bug in concurrent insert
      myisam/mi_rprev.c:
        Simple optimization
      mysql-test/r/func_gconcat.result:
        New tests
      mysql-test/t/func_gconcat.test:
        New tests
      mysql-test/t/func_group.test:
        Cleanup
      sql-common/client.c:
        Removed compiler warning
      sql/derror.cc:
        Better comments
      sql/field.cc:
        Removed not used function/variable
      sql/field.h:
        Removed not needed variable
      sql/ha_innodb.cc:
        Removed not used function
      sql/item.cc:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Fixed compiler warning
      sql/item_func.cc:
        Fixed compiler warning
      sql/item_geofunc.cc:
        Fixed compiler warning
      sql/item_sum.cc:
        Fixed bugs in group_concat and added more comments
        (Bugs #2695, #3381 and #3319)
        - field->abs_offset was not needed
        - Wrong assumption of field order in temporary table
        - Some not used variables removed
        - Added ORDER BY fields after argument fields so that code in sql_select.cc can move all fields to point to temporary tables, if needed.
        - Optimized loops
      sql/item_sum.h:
        Bug fixing and cleanup of group_concat()
      sql/log.cc:
        Removed wrong comment
      sql/log_event.cc:
        Removed compiler warning
      sql/mysqld.cc:
        Set locked_in_memory properly
      sql/protocol.cc:
        Removed compiler warning
      sql/set_var.cc:
        Code cleanup
      sql/slave.cc:
        Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
      sql/sql_cache.cc:
        Removed compiler warnings
      sql/sql_derived.cc:
        Removed not used variable
      sql/sql_insert.cc:
        Removed compiler warnings
      sql/sql_lex.cc:
        Removed not used lable
      sql/sql_lex.h:
        Removed compiler warnings
      sql/sql_parse.cc:
        Removed compiler warnings
      sql/sql_prepare.cc:
        Removed compiler warnings
      sql/sql_select.cc:
        Removed not used variables
        Added function comments
      sql/sql_show.cc:
        Removed compiler warnings
      sql/sql_yacc.yy:
        Fix for ORDER BY handling in GROUP_CONCAT()
      7873b89f
  29. 04 Apr, 2004 1 commit
    • unknown's avatar
      removed old way to prevent using stack tables for caching Items in PS · 3c01162f
      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
      3c01162f
  30. 30 Mar, 2004 2 commits
  31. 29 Mar, 2004 1 commit
    • unknown's avatar
      false/true -> FALSE/TRUE · ceeaa24d
      unknown authored
      Fixes after last merge
      
      
      mysql-test/r/bdb-crash.result:
        fixed bad merge
      mysql-test/r/myisam.result:
        after merge fix
      mysql-test/r/order_by.result:
        fixed bad merge
      mysql-test/t/order_by.test:
        after merge fix
      sql/field_conv.cc:
        false/true -> FALSE/TRUE
      sql/handler.cc:
        false/true -> FALSE/TRUE
      sql/item.cc:
        false/true -> FALSE/TRUE
      sql/item_cmpfunc.cc:
        false/true -> FALSE/TRUE
      sql/item_sum.cc:
        false/true -> FALSE/TRUE
      sql/slave.cc:
        false/true -> FALSE/TRUE
      sql/sql_acl.cc:
        false/true -> FALSE/TRUE
      sql/sql_cache.cc:
        after merge fix
      sql/sql_help.cc:
        false/true -> FALSE/TRUE
      sql/sql_olap.cc:
        false/true -> FALSE/TRUE
      sql/sql_parse.cc:
        false/true -> FALSE/TRUE
      sql/sql_select.cc:
        fix after bad merge
      sql/sql_table.cc:
        fix after bad merge
      sql/sql_test.cc:
        false/true -> FALSE/TRUE
      ceeaa24d
  32. 22 Mar, 2004 1 commit
    • unknown's avatar
      aliases should be compared with my_strcasecmp (BUG#3251) · 560fc037
      unknown authored
      some db comparison code cleupup
      removed compiler warnings
      
      
      mysql-test/r/lowercase_table.result:
        test for BUG#3251
      mysql-test/t/lowercase_table.test:
        test for BUG#3251
      sql/item.cc:
        simple strcmp can be used for db name comparison
      sql/set_var.h:
        changed initialisation order to satisfy compiler
      sql/sql_cache.cc:
        simple strcmp can be used for db name comparison
      sql/sql_db.cc:
        better use special cherset for files
      sql/sql_parse.cc:
        simple strcmp can be used for db name comparison
        aliases should be compared with my_strcasecmp
      sql/sql_select.cc:
        aliases should be compared with my_strcasecmp
      560fc037
  33. 21 Mar, 2004 1 commit
    • unknown's avatar
      fixed BUG in query cahe statistic counting · 91bac76e
      unknown authored
      mysql-test/r/grant_cache.result:
        right results in query cache
      mysql-test/t/grant_cache.test:
        proving new results
      sql/sql_cache.cc:
        fixed statistic calculating in query cahe
      91bac76e
  34. 04 Mar, 2004 1 commit
    • unknown's avatar
      invalidation of locking for write tables (BUG#2693) · d4f43e51
      unknown authored
      fixed linking query_prealloc_size to query cache presence
      
      
      mysql-test/r/query_cache.result:
        test of QC invalidation by LOCK command
      mysql-test/t/query_cache.test:
        test of QC invalidation by LOCK command
      sql/mysqld.cc:
        new variable query_cache_wlock_invalidate
        fixed query_prealloc_size with QC absence
      sql/set_var.cc:
        new variable query_cache_wlock_invalidate
      sql/sql_cache.cc:
        new method for table invalidation
      sql/sql_cache.h:
        new method for table invalidation
      sql/sql_class.h:
        new variable query_cache_wlock_invalidate
      sql/sql_parse.cc:
        layout fixed
      d4f43e51
  35. 20 Feb, 2004 1 commit
  36. 07 Jan, 2004 1 commit
    • unknown's avatar
      SCRUM · 902c3619
      unknown authored
      WL#1246 (Query cache in embedded library)
      Some fixes after testing
      
      
      libmysqld/emb_qcache.cc:
        code added to check if the recordset has no rows
      sql/sql_cache.cc:
        this code should not work if the query isn't cacheable
      902c3619
  37. 19 Dec, 2003 1 commit
    • unknown's avatar
      THD::lex now points to THD::main_lex like in 5.0 · 8d987f9e
      unknown authored
      All tests pass (client_test included)
      
      
      libmysqld/lib_sql.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/filesort.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/ha_innodb.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/ha_myisam.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_cmpfunc.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_create.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_func.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_subselect.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_sum.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/mysql_priv.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/mysqld.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/protocol.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/repl_failsafe.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/slave.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_acl.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_base.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_cache.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_class.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_class.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_delete.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_error.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_insert.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_lex.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_lex.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_parse.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_prepare.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_repl.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_select.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_table.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_union.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_update.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_yacc.yy:
        THD::lex now points to THD::main_lex like in 5.0
      8d987f9e
  38. 10 Dec, 2003 1 commit