An error occurred fetching the project authors.
  1. 07 Apr, 2006 1 commit
    • unknown's avatar
      Fixed BUG#15758: "Holding adaptive search latch in · 372901ad
      unknown authored
       innobase_query_caching_of_table_permitted()".
       Applied the patch due to Heikki Tuuri.
       Also removed superfluous #ifdefs.
      
      
      sql/sql_cache.cc:
        Applied the patch due to Heikki Tuuri.
         Query_cache::store_query(): Make InnoDB to release the adaptive
         hash index latch before MySQL acquires the query cache mutex.
      sql/sql_class.cc:
        Removing superfluous #ifdefs (suggested by Sanja, also discussed with Serg).
      sql/sql_cursor.cc:
        Removing superfluous #ifdefs (suggested by Sanja, also discussed with Serg).
      372901ad
  2. 14 Feb, 2006 1 commit
    • unknown's avatar
      dbug changes: · d3ee9abf
      unknown authored
      1. dbug state is now local to a thread
      2. new macros: DBUG_EXPLAIN, DBUG_EXPLAIN_INITIAL,
         DBUG_SET, DBUG_SET_INITIAL, DBUG_EVALUATE, DBUG_EVALUATE_IF
      3. macros are do{}while(0) wrapped
      4. incremental modifications to the dbug state (e.g. "+d,info:-t")
      5. dbug code cleanup, style fixes
      6. _db_on_ and DEBUGGER_ON/OFF removed
      7. rest of MySQL code fixed because of 3 (missing ;) and 6
      8. dbug manual updated
      9. server variable @@debug (global and local) to control dbug from SQL!
      a. -#T to print timestamps in the log
      
      
      BitKeeper/deleted/.del-readme.prof~2f3bae1550a0038d:
        Delete: dbug/readme.prof
      client/mysqlslap.c:
        typo fixed
      configure.in:
        test for sleep() too
      dbug/dbug.c:
        thread local dbug settings
        DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL
        style changes to be more in line with MySQL code
        cleanup (many mallocs removed)
        incremental modification of dbug state (e.g. DBUG_PUSH("+t:-d,info"))
        DBUG_SET, _db_explain_
        -#T
      dbug/monty.doc:
        obsolete and duplicate docs removed
      dbug/user.r:
        new features documented
      include/my_dbug.h:
        correct do{}while wrapping
        thread local dbug settings
        DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL
        DBUG_EVALUATE,DBUG_EVALUATE_IF
      libmysql/libmysql.c:
        remove _db_on_ and DEBUGGER_ON/OFF
      mysys/my_init.c:
        missed DBUG_RETURN
      mysys/my_thr_init.c:
        bugfix - transaction id's are unsigned
      mysys/testhash.c:
        remove _db_on_ and DEBUGGER_ON/OFF
      sql/ha_myisammrg.cc:
        missed ;
      sql/ha_ndbcluster.cc:
        remove _db_on_ and DEBUGGER_ON/OFF
        missed ;
      sql/ha_ndbcluster_binlog.cc:
        remove _db_on_ and DEBUGGER_ON/OFF
        missed ;
      sql/item_cmpfunc.cc:
        missed ;
      sql/lock.cc:
        missed DBUG_RETURN
      sql/log_event.cc:
        missed ;
      sql/mysqld.cc:
        remove _db_on_ and DEBUGGER_ON/OFF
        missed ;
        DBUG_SET_INITIAL
      sql/opt_range.cc:
        remove _db_on_ and DEBUGGER_ON/OFF
      sql/set_var.cc:
        class sys_var_thd_dbug and "debug" server variable
      sql/set_var.h:
        class sys_var_thd_dbug and "debug" server variable
      sql/slave.cc:
        missed ;
      sql/sql_cache.cc:
        missed ;
      sql/sql_plugin.cc:
        missed ;
      sql/sql_select.cc:
        remove _db_on_ and DEBUGGER_ON/OFF
      storage/heap/hp_test2.c:
        remove _db_on_ and DEBUGGER_ON/OFF
      storage/myisam/ft_eval.c:
        remove _db_on_ and DEBUGGER_ON/OFF
      storage/myisam/ft_test1.c:
        remove _db_on_ and DEBUGGER_ON/OFF
      storage/myisam/mi_open.c:
        remove _db_on_ and DEBUGGER_ON/OFF
        missed ;
      storage/myisam/mi_test1.c:
        remove _db_on_ and DEBUGGER_ON/OFF
      storage/myisam/mi_test2.c:
        remove _db_on_ and DEBUGGER_ON/OFF
      storage/myisam/mi_test3.c:
        remove _db_on_ and DEBUGGER_ON/OFF
      storage/ndb/src/ndbapi/DictCache.cpp:
        missed ;
      storage/ndb/src/ndbapi/NdbTransaction.cpp:
        missed ;
      tests/mysql_client_test.c:
        remove _db_on_ and DEBUGGER_ON/OFF
      d3ee9abf
  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. 21 Dec, 2005 1 commit
    • unknown's avatar
      Finalize storage engine plugins · 613dd50a
      unknown authored
      Give BerkeleyDB savepoints
      Remove "enum db_type" from most of the code
      
      
      storage/example/ha_example.h:
        Rename: sql/examples/ha_example.h -> storage/example/ha_example.h
      storage/csv/ha_tina.h:
        Rename: sql/examples/ha_tina.h -> storage/csv/ha_tina.h
      config/ac-macros/storage.m4:
        if hton name is "no", then we don't install it as a builtin
      configure.in:
        pluggable changes
      include/plugin.h:
        version field
      mysql-test/r/bdb.result:
        savepoint results copied from innodb test
      mysql-test/r/information_schema.result:
        PLUGINS information schema
      mysql-test/r/information_schema_db.result:
        PLUGINS information schema
      mysql-test/t/bdb.test:
        savepoint test copied from innodb test
      sql/Makefile.am:
        tina and example are not here anymore
      sql/authors.h:
        minor tweek
      sql/ha_archive.cc:
        remove unwanted handlerton entries
      sql/ha_berkeley.cc:
        remove unwanted handlerton entries
        support for savepoints
        changes to show logs
      sql/ha_blackhole.cc:
        remove unwanted handlerton entries
      sql/ha_federated.cc:
        remove unwanted handlerton entries
      sql/ha_heap.cc:
        remove unwanted handlerton entries
      sql/ha_innodb.cc:
        remove unwanted handlerton entries
        changes for show status
      sql/ha_myisam.cc:
        remove unwanted handlerton entries
      sql/ha_myisammrg.cc:
        remove unwanted handlerton entries
      sql/ha_ndbcluster.cc:
        remove unwanted handlerton entries
        changes to stat_print
      sql/ha_partition.cc:
        remove unwanted handlerton entries
        bye bye enum db_type
      sql/ha_partition.h:
        bye bye enum db_type
      sql/handler.cc:
        remove unwanted handlerton entries
        bye bye enum db_type
      sql/handler.h:
        remove unwanted handlerton entries
        bye bye enum db_type
        changes to stat_print_fn
      sql/item_sum.cc:
        bye bye enum db_type
      sql/log.cc:
        remove unwanted handlerton entries
      sql/mysql_priv.h:
        bye bye enum db_type
      sql/mysqld.cc:
        bye bye enum db_type
        reorder plugin initialization
      sql/set_var.cc:
        bye bye enum db_type
      sql/set_var.h:
        bye bye enum db_type
      sql/sql_base.cc:
        bye bye enum db_type
      sql/sql_cache.cc:
        bye bye enum db_type
      sql/sql_class.h:
        bye bye enum db_type
      sql/sql_delete.cc:
        bye bye enum db_type
      sql/sql_insert.cc:
        bye bye enum db_type
      sql/sql_lex.h:
        show plugin
      sql/sql_parse.cc:
        bye bye enum db_type
      sql/sql_partition.cc:
        bye bye enum db_type
      sql/sql_plugin.cc:
        loadable storage engines
      sql/sql_plugin.h:
        loadable storage engines
      sql/sql_rename.cc:
        bye bye enum db_type
      sql/sql_select.cc:
        bye bye enum db_type
      sql/sql_show.cc:
        SHOW PLUGIN
        PLUGINS information schema
        changes to show engines
      sql/sql_table.cc:
        bye bye enum db_type
      sql/sql_view.cc:
        bye bye enum db_type
      sql/sql_view.h:
        bye bye enum db_type
      sql/sql_yacc.yy:
        bye bye enum db_type
      sql/table.cc:
        bye bye enum db_type
      sql/table.h:
        bye bye enum db_type
      sql/unireg.cc:
        bye bye enum db_type
      storage/csv/ha_tina.cc:
        make tina into a loadable plugin
      storage/example/ha_example.cc:
        make into a plugin
      storage/csv/Makefile.am:
        New BitKeeper file ``storage/csv/Makefile.am''
      storage/example/Makefile.am:
        New BitKeeper file ``storage/example/Makefile.am''
      613dd50a
  5. 02 Dec, 2005 1 commit
    • unknown's avatar
      sql_cache.cc: · 04ea656d
      unknown authored
        After merge fix
      
      
      sql/sql_cache.cc:
        After merge fix
      04ea656d
  6. 01 Dec, 2005 2 commits
    • unknown's avatar
      We should skip beggining '(' characters when test query on possibility · a050707b
      unknown authored
      to be in the query cache. (BUG#14652)
      
      
      mysql-test/r/query_cache.result:
        BUG#14652 test suite.
      mysql-test/t/query_cache.test:
        BUG#14652 test suite.
      sql/sql_cache.cc:
        We should skip beggining '(' characters when test query on possibility
        to be in the query cache.
      a050707b
    • unknown's avatar
      We should not skip temptable view along with other derived · 2061a3a6
      unknown authored
      tables during query tables registration. (BUG#15119)
      
      
      mysql-test/r/view_query_cache.result:
        Tests for temptable views in the query cache.
      mysql-test/t/view_query_cache.test:
        Tests for temptable views in the query cache.
      sql/sql_cache.cc:
        We should not skip temptable view along with other derived
        tables during query tables registration.
      2061a3a6
  7. 23 Nov, 2005 1 commit
    • unknown's avatar
      Table definition cache, part 2 · f631b361
      unknown authored
      The table opening process now works the following way:
      - Create common TABLE_SHARE object
      - Read the .frm file and unpack it into the TABLE_SHARE object
      - Create a TABLE object based on the information in the TABLE_SHARE
        object and open a handler to the table object
      
      Other noteworthy changes:
      - In TABLE_SHARE the most common strings are now LEX_STRING's
      - Better error message when table is not found
      - Variable table_cache is now renamed 'table_open_cache'
      - New variable 'table_definition_cache' that is the number of table defintions that will be cached
      - strxnmov() calls are now fixed to avoid overflows
      - strxnmov() will now always add one end \0 to result
      - engine objects are now created with a TABLE_SHARE object instead of a TABLE object.
      - After creating a field object one must call field->init(table) before using it
      
      - For a busy system this change will give you:
       - Less memory usage for table object
       - Faster opening of tables (if it's has been in use or is in table definition cache)
       - Allow you to cache many table definitions objects
       - Faster drop of table
      
      
      mysql-test/mysql-test-run.sh:
        Fixed some problems with --gdb option
        Test both with socket and tcp/ip port that all old servers are killed
      mysql-test/r/flush_table.result:
        More tests with lock table with 2 threads + flush table
      mysql-test/r/information_schema.result:
        Removed old (now wrong) result
      mysql-test/r/innodb.result:
        Better error messages (thanks to TDC patch)
      mysql-test/r/merge.result:
        Extra flush table test
      mysql-test/r/ndb_bitfield.result:
        Better error messages (thanks to TDC patch)
      mysql-test/r/ndb_partition_error.result:
        Better error messages (thanks to TDC patch)
      mysql-test/r/query_cache.result:
        Remove tables left from old tests
      mysql-test/r/temp_table.result:
        Test truncate with temporary tables
      mysql-test/r/variables.result:
        Table_cache -> Table_open_cache
      mysql-test/t/flush_table.test:
        More tests with lock table with 2 threads + flush table
      mysql-test/t/merge.test:
        Extra flush table test
      mysql-test/t/multi_update.test:
        Added 'sleep' to make test predictable
      mysql-test/t/query_cache.test:
        Remove tables left from old tests
      mysql-test/t/temp_table.test:
        Test truncate with temporary tables
      mysql-test/t/variables.test:
        Table_cache -> Table_open_cache
      mysql-test/valgrind.supp:
        Remove warning that may happens becasue threads dies in different order
      mysys/hash.c:
        Fixed wrong DBUG_PRINT
      mysys/mf_dirname.c:
        More DBUG
      mysys/mf_pack.c:
        Better comment
      mysys/mf_tempdir.c:
        More DBUG
        Ensure that we call cleanup_dirname() on all temporary directory paths.
        
        If we don't do this, we will get a failure when comparing temporary table
        names as in some cases the temporary table name is run through convert_dirname())
      mysys/my_alloc.c:
        Indentation fix
      sql/examples/ha_example.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/examples/ha_example.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/examples/ha_tina.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/examples/ha_tina.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/field.cc:
        Update for table definition cache:
        - Field creation now takes TABLE_SHARE instead of TABLE as argument
          (This is becasue field definitions are now cached in TABLE_SHARE)
          When a field is created, one now must call field->init(TABLE) before using it
        - Use s->db instead of s->table_cache_key
        - Added Field::clone() to create a field in TABLE from a field in TABLE_SHARE
        - make_field() takes TABLE_SHARE as argument instead of TABLE
        - move_field() -> move_field_offset()
      sql/field.h:
        Update for table definition cache:
        - Field creation now takes TABLE_SHARE instead of TABLE as argument
          (This is becasue field definitions are now cached in TABLE_SHARE)
          When a field is created, one now must call field->init(TABLE) before using it
        - Added Field::clone() to create a field in TABLE from a field in TABLE_SHARE
        - make_field() takes TABLE_SHARE as argument instead of TABLE
        - move_field() -> move_field_offset()
      sql/ha_archive.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_archive.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_berkeley.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Changed name of argument create() to not hide internal 'table' variable.
        table->s  -> table_share
      sql/ha_berkeley.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_blackhole.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_blackhole.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_federated.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Fixed comments
        Remove index variable and replace with pointers (simple optimization)
        move_field() -> move_field_offset()
        Removed some strlen() calls
      sql/ha_federated.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_heap.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Simplify delete_table() and create() as the given file names are now without extension
      sql/ha_heap.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_innodb.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_innodb.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_myisam.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Remove not needed fn_format()
        Fixed for new table->s structure
      sql/ha_myisam.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_myisammrg.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Don't set 'is_view' for MERGE tables
        Use new interface to find_temporary_table()
      sql/ha_myisammrg.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Added flag HA_NO_COPY_ON_ALTER
      sql/ha_ndbcluster.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Fixed wrong calls to strxnmov()
        Give error HA_ERR_TABLE_DEF_CHANGED if table definition has changed
        drop_table -> intern_drop_table()
        table->s -> table_share
        Move part_info to TABLE
        Fixed comments & DBUG print's
        New arguments to print_error()
      sql/ha_ndbcluster.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_partition.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        We can't set up or use part_info when creating handler as there is not yet any table object
        New ha_intialise() to work with TDC (Done by Mikael)
      sql/ha_partition.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Got set_part_info() from Mikael
      sql/handler.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        ha_delete_table() now also takes database as an argument
        handler::ha_open() now takes TABLE as argument
        ha_open() now calls ha_allocate_read_write_set()
        Simplify ha_allocate_read_write_set()
        Remove ha_deallocate_read_write_set()
        Use table_share (Cached by table definition cache)
      sql/handler.h:
        New table flag: HA_NO_COPY_ON_ALTER (used by merge tables)
        Remove ha_deallocate_read_write_set()
        get_new_handler() now takes TABLE_SHARE as argument
        ha_delete_table() now gets database as argument
      sql/item.cc:
        table_name and db are now LEX_STRING objects
        When creating fields, we have now have to call field->init(table)
        move_field -> move_field_offset()
      sql/item.h:
        tmp_table_field_from_field_type() now takes an extra paramenter 'fixed_length' to allow one to force usage of CHAR
         instead of BLOB
      sql/item_cmpfunc.cc:
        Fixed call to tmp_table_field_from_field_type()
      sql/item_create.cc:
        Assert if new not handled cast type
      sql/item_func.cc:
        When creating fields, we have now have to call field->init(table)
        dummy_table used by 'sp' now needs a TABLE_SHARE object
      sql/item_subselect.cc:
        Trivial code cleanups
      sql/item_sum.cc:
        When creating fields, we have now have to call field->init(table)
      sql/item_timefunc.cc:
        Item_func_str_to_date::tmp_table_field() now replaced by call to
         tmp_table_field_from_field_type() (see item_timefunc.h)
      sql/item_timefunc.h:
        Simply tmp_table_field()
      sql/item_uniq.cc:
        When creating fields, we have now have to call field->init(table)
      sql/key.cc:
        Added 'KEY' argument to 'find_ref_key' to simplify code
      sql/lock.cc:
        More debugging
        Use create_table_def_key() to create key for table cache
        Allocate TABLE_SHARE properly when creating name lock
        Fix that locked_table_name doesn't test same table twice
      sql/mysql_priv.h:
        New functions for table definition cache
        New interfaces to a lot of functions.
        New faster interface to find_temporary_table() and close_temporary_table()
      sql/mysqld.cc:
        Added support for table definition cache of size 'table_def_size'
        Fixed som calls to strnmov()
        Changed name of 'table_cache' to 'table_open_cache'
      sql/opt_range.cc:
        Use new interfaces
        Fixed warnings from valgrind
      sql/parse_file.cc:
        Safer calls to strxnmov()
        Fixed typo
      sql/set_var.cc:
        Added variable 'table_definition_cache'
        Variable table_cache renamed to 'table_open_cache'
      sql/slave.cc:
        Use new interface
      sql/sp.cc:
        Proper use of TABLE_SHARE
      sql/sp_head.cc:
        Remove compiler warnings
        We have now to call field->init(table)
      sql/sp_head.h:
        Pointers to parsed strings are now const
      sql/sql_acl.cc:
        table_name is now a LEX_STRING
      sql/sql_base.cc:
        Main implementation of table definition cache
        (The #ifdef's are there for the future when table definition cache will replace open table cache)
        Now table definitions are cached indepndent of open tables, which will speed up things when a table is in use at once from several places
        Views are not yet cached; For the moment we only cache if a table is a view or not.
        
        Faster implementation of find_temorary_table()
        Replace 'wait_for_refresh()' with the more general function 'wait_for_condition()'
        Drop table is slightly faster as we can use the table definition cache to know the type of the table
      sql/sql_cache.cc:
        table_cache_key and table_name are now LEX_STRING
        'sDBUG print fixes
      sql/sql_class.cc:
        table_cache_key is now a LEX_STRING
        safer strxnmov()
      sql/sql_class.h:
        Added number of open table shares (table definitions)
      sql/sql_db.cc:
        safer strxnmov()
      sql/sql_delete.cc:
        Use new interface to find_temporary_table()
      sql/sql_derived.cc:
        table_name is now a LEX_STRING
      sql/sql_handler.cc:
        TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's
      sql/sql_insert.cc:
        TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's
      sql/sql_lex.cc:
        Make parsed string a const (to quickly find out if anything is trying to change the query string)
      sql/sql_lex.h:
        Make parsed string a const (to quickly find out if anything is trying to change the query string)
      sql/sql_load.cc:
        Safer strxnmov()
      sql/sql_parse.cc:
        Better error if wrong DB name
      sql/sql_partition.cc:
        part_info moved to TABLE from TABLE_SHARE
        Indentation changes
      sql/sql_select.cc:
        Indentation fixes
        Call field->init(TABLE) for new created fields
        Update create_tmp_table() to use TABLE_SHARE properly
      sql/sql_select.h:
        Call field->init(TABLE) for new created fields
      sql/sql_show.cc:
        table_name is now a LEX_STRING
        part_info moved to TABLE
      sql/sql_table.cc:
        Use table definition cache to speed up delete of tables
        Fixed calls to functions with new interfaces
        Don't use 'share_not_to_be_used'
        Instead of doing openfrm() when doing repair, we now have to call
        get_table_share() followed by open_table_from_share().
        Replace some fn_format() with faster unpack_filename().
        Safer strxnmov()
        part_info is now in TABLE
        Added Mikaels patch for partition and ALTER TABLE
        Instead of using 'TABLE_SHARE->is_view' use 'table_flags() & HA_NO_COPY_ON_ALTER
      sql/sql_test.cc:
        table_name and table_cache_key are now LEX_STRING's
      sql/sql_trigger.cc:
        TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's
        safer strxnmov()
        Removed compiler warnings
      sql/sql_update.cc:
        Call field->init(TABLE) after field is created
      sql/sql_view.cc:
        safer strxnmov()
        Create common TABLE_SHARE object for views to allow us to cache if table is a view
      sql/structs.h:
        Added SHOW_TABLE_DEFINITIONS
      sql/table.cc:
        Creation and destruct of TABLE_SHARE objects that are common for many TABLE objects
        
        The table opening process now works the following way:
        - Create common TABLE_SHARE object
        - Read the .frm file and unpack it into the TABLE_SHARE object
        - Create a TABLE object based on the information in the TABLE_SHARE
          object and open a handler to the table object
        
        open_table_def() is written in such a way that it should be trival to add parsing of the .frm files in new formats
      sql/table.h:
        TABLE objects for the same database table now share a common TABLE_SHARE object
        In TABLE_SHARE the most common strings are now LEX_STRING's
      sql/unireg.cc:
        Changed arguments to rea_create_table() to have same order as other functions
        Call field->init(table) for new created fields
      sql/unireg.h:
        Added OPEN_VIEW
      strings/strxnmov.c:
        Change strxnmov() to always add end \0
        This makes usage of strxnmov() safer as most of MySQL code assumes that strxnmov() will create a null terminated string
      f631b361
  8. 27 Oct, 2005 1 commit
    • unknown's avatar
      support of view underlying tables and SP functions security check added (BUG#9505) (WL#2787) · 24ac4019
      unknown authored
      mysql-test/r/information_schema.result:
        error message changed
      mysql-test/r/sp.result:
        error message changed
      mysql-test/r/sql_mode.result:
        fixed test suite
      mysql-test/r/view.result:
        error message changed
      mysql-test/r/view_grant.result:
        test of underlying view tables check
      mysql-test/t/sql_mode.test:
        fixed test suite
      mysql-test/t/view_grant.test:
        test of underlying view tables check
      sql/item.cc:
        check of underlying tables privilege added
      sql/item.h:
        Name the resolution context points to the security  context of view (if item belong to the view)
      sql/item_func.cc:
        a view error hiding for execution of prepared function belonged to a view
        fixed checking privileges if stored functions belonds to some view
      sql/mysql_priv.h:
        refult of derived table processing functions changed to bool
        Security_context added as an argument to find_field_in_table()
      sql/share/errmsg.txt:
        error message fixed
      sql/sql_acl.cc:
        Storing requested privileges of tables added
        View underlying tables privilege check added
      sql/sql_base.cc:
        View underlying tables privilege check added
      sql/sql_cache.cc:
        Code cleunup: we should not register underlying tables of view second time
      sql/sql_delete.cc:
        ancestor -> merge_underlying_list renaming
      sql/sql_derived.cc:
        refult of derived table processing functions changed to bool
        do not give SELECT_ACL for TEMPTABLE views
      sql/sql_lex.h:
        The comment added
      sql/sql_parse.cc:
        registration of requested privileges added
      sql/sql_prepare.cc:
        registration of requested privileges added
      sql/sql_update.cc:
        manipulation of requested privileges for underlying tables made the same as for table which we are updating
      sql/sql_view.cc:
        underlying tables of view security check support added
      sql/table.cc:
        renaming and fixing view preparation methods, methods for checking underlyoing tables security context added
      sql/table.h:
        storege for reuested privileges added
      24ac4019
  9. 29 Sep, 2005 1 commit
    • unknown's avatar
      Bug #13231 mysqltest: fails to dectect when mysql_next_result fails · b4f41433
      unknown authored
       - Packets out of order when reading cached data stored by a normal select from a ps or vice versa.
       - Add pkt_nr to query cache flags 
      
      
      mysql-test/r/query_cache.result:
        Update test results
        Add the resultsets that wasn't there before.
      mysql-test/t/query_cache.test:
        Improve test to call queries from both a regular statment and a statement inside a stored procedure.
      sql/mysql_priv.h:
        Add pkt_nr to query cache flags
      sql/sql_cache.cc:
        Set pkt_nr in flags before retrieving/storing a query in the cache
      b4f41433
  10. 26 Sep, 2005 1 commit
    • unknown's avatar
      Fix bug #13424 locking view with query cache enabled crashes server · 05c17f2a
      unknown authored
      For LOCK view is opened but not prepared thus leaving 'table' field set to
      NULL. invalidate_locked_for_write() wasn't checking that and call to 
      invalidate_table(NULL) crashes server.
      
      To invalidate_locked_for_write() added check that ensures that table is
      completely opened.
      
      
      sql/sql_cache.cc:
        Fix bug #13424 locking view with query cache enabled crashes server
        Added check that table is completely opened.
      mysql-test/t/view_query_cache.test:
        Test case for bug#13424 locking view with query cache enabled crashes server
      mysql-test/r/view_query_cache.result:
        Test case for bug#13424 locking view with query cache enabled crashes server
      05c17f2a
  11. 06 Sep, 2005 2 commits
    • unknown's avatar
      fix (bug #10303: Misleading Last_query_cost value). · 811c6d21
      unknown authored
      sql/sql_cache.cc:
        fix (bug #10303: Misleading Last_query_cost value).
        set the last_query_cost to 0.0 in case we use the query cache.
      811c6d21
    • 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
  12. 19 Aug, 2005 1 commit
  13. 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
  14. 23 Jul, 2005 1 commit
    • unknown's avatar
      store SERVER_MORE_RESULTS_EXISTS in key of query cache (BUG#6897) · cebe1b5d
      unknown authored
      mysql-test/r/query_cache.result:
        query in QC from normal execution and SP
      mysql-test/t/query_cache.test:
        environment restoring fix
        layout fix
        query in QC from normal execution and SP
      sql/mysql_priv.h:
        store SERVER_MORE_RESULTS_EXISTS
      sql/sql_cache.cc:
        store SERVER_MORE_RESULTS_EXISTS in key of query cache
      BitKeeper/etc/config:
        switching logging off
      cebe1b5d
  15. 18 Jul, 2005 1 commit
    • unknown's avatar
      Cleanups during review · 68b4d7b7
      unknown authored
      Changed defaults option --instance to --defaults-group-suffix
      Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order
      Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX
      mysql_print_defaults now understands --defaults-group-suffix
      Remove usage of my_tempnam() (not safe function)
      if( -> if ( and while( to while (
      
      
      BitKeeper/deleted/.del-my_tempnam.c~a8562f15dad3012f:
        Delete: mysys/my_tempnam.c
      VC++Files/client/mysqlclient.dsp:
        Remove not used file my_tempnam.c
      VC++Files/client/mysqlclient_ia64.dsp:
        Remove not used file my_tempnam.c
      VC++Files/libmysql/libmysql.dsp:
        Remove not used file my_tempnam.c
      VC++Files/libmysql/libmysql_ia64.dsp:
        Remove not used file my_tempnam.c
      VC++Files/mysys/mysys.dsp:
        Remove not used file my_tempnam.c
      VC++Files/mysys/mysys_ia64.dsp:
        Remove not used file my_tempnam.c
      client/mysql.cc:
        Change to use get_defaults_options()
        Remove compiler warnings
      client/mysqldump.c:
        Indentation fixes
        Use quoted table name for 'primary_key_fields'
      extra/my_print_defaults.c:
        Add support for --defaults-group-suffix
        change to use get_default_options()
      extra/replace.c:
        Replace my_tempnam() with create_tmp_file() to allow us to remove my_tempnam.c
      include/config-win.h:
        Added DEFAULT_GROUP_SUFFIX_ENV
      include/my_sys.h:
        Change defaults_instance -> defaults_group_suffix
        Change get_defaults_files -> get_defaults_options
      libmysql/Makefile.shared:
        Added DEFAULT_GROUP_SUFFIX_ENV
      mysys/Makefile.am:
        Added DEFAULT_GROUP_SUFFIX_ENV
        Remove my_tempnam.c
      mysys/default.c:
        Changed --instance to --defaults-group-suffix
        Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX and moved the name to Makefile.am
        (mysys shouldn't by MySQL independent)
        Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order
      mysys/default_modify.c:
        Optimized code to use allocated space more efficently
        Reduce code size
        Ensure that realloc() works independent of argument size
      mysys/my_bitmap.c:
        Added missing return
      sql/ha_innodb.cc:
        Change if( -> if (
      sql/ha_ndbcluster.cc:
        Change while( -> while (
      sql/item_cmpfunc.cc:
        Break loop early (simple optimization)
      sql/item_strfunc.cc:
        Change if( -> if (
      sql/log.cc:
        Fixed comment
      sql/mysqld.cc:
        Change if( -> if (
      sql/opt_range.cc:
        while( -> while (
        if( -> if (
      sql/parse_file.cc:
        Change if( -> if (
      sql/sql_cache.cc:
        while( -> while (
      sql/sql_parse.cc:
        Change if( -> if (
      sql/sql_prepare.cc:
        Added comment
      sql/sql_select.cc:
        while( -> while (
        Removed index variable by incrementing pointer
      sql/sql_show.cc:
        Change if( -> if (
      sql/sql_yacc.yy:
        Change if( -> if (
      tests/mysql_client_test.c:
        Added cast to first argument to bzero()
      68b4d7b7
  16. 05 Jul, 2005 1 commit
    • unknown's avatar
      post-merge fixes · dd72175d
      unknown authored
      mysql-test/r/query_cache.result:
        results moved
      sql/sql_cache.cc:
        postmerge fixes
      dd72175d
  17. 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
  18. 27 Apr, 2005 1 commit
    • unknown's avatar
      All changes for change to all storage engines being under storage directory. · 25311ea4
      unknown authored
      config/ac-macros/ha_berkeley.m4:
        change for stroage
      config/ac-macros/ha_innodb.m4:
        change for storage
      config/ac-macros/ha_ndbcluster.m4:
        change for storage
      configure.in:
        change for storage
      extra/perror.c:
        change for storage
      libmysqld/Makefile.am:
        change for storage
      mysql-test/mysql-test-run.sh:
        change for storage
      sql/Makefile.am:
        change for storage
      sql/ha_innodb.cc:
        change storage
      sql/ha_myisam.cc:
        change for storage
      sql/ha_myisammrg.cc:
        change for storage
      sql/lock.cc:
        change for storage
      sql/sql_cache.cc:
        change for storage
      storage/heap/Makefile.am:
        change for storage
      storage/innobase/include/Makefile.i:
        change for storage
      storage/myisammrg/myrg_def.h:
        change for storage
      storage/ndb/Makefile.am:
        change for storage
      storage/ndb/config/common.mk.am:
        change for storage
      storage/ndb/config/type_kernel.mk.am:
        change for storage
      storage/ndb/config/type_mgmapiclient.mk.am:
        change for storage
      storage/ndb/config/type_ndbapi.mk.am:
        change for storage
      storage/ndb/config/type_ndbapiclient.mk.am:
        change for storage
      storage/ndb/config/type_ndbapitest.mk.am:
        change for storage
      storage/ndb/config/type_ndbapitools.mk.am:
        change for storage
      storage/ndb/config/type_util.mk.am:
        change for storage
      storage/ndb/docs/Makefile.am:
        change for storage
      storage/ndb/include/Makefile.am:
        change for storage
      storage/ndb/src/Makefile.am:
        change for storage
      storage/ndb/src/common/debugger/Makefile.am:
        change for storage
      storage/ndb/src/common/debugger/signaldata/Makefile.am:
        change for storage
      storage/ndb/src/common/logger/Makefile.am:
        change for storage
      storage/ndb/src/common/mgmcommon/Makefile.am:
        change for storage
      storage/ndb/src/common/portlib/Makefile.am:
        change for storage
      storage/ndb/src/common/transporter/Makefile.am:
        change for storage
      storage/ndb/src/common/util/Makefile.am:
        change for storage
      storage/ndb/src/cw/cpcd/Makefile.am:
        change for storage
      storage/ndb/src/kernel/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/backup/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/cmvmi/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/dbacc/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/dbdict/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/dbdih/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/dblqh/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/dbtc/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/dbtup/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/dbtux/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/dbutil/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/grep/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/ndbcntr/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/ndbfs/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/qmgr/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/suma/Makefile.am:
        change for storage
      storage/ndb/src/kernel/blocks/trix/Makefile.am:
        change for storage
      storage/ndb/src/kernel/error/Makefile.am:
        change for storage
      storage/ndb/src/kernel/vm/Makefile.am:
        change for storage
      storage/ndb/src/mgmapi/Makefile.am:
        change for storage
      storage/ndb/src/mgmclient/Makefile.am:
        change for storage
      storage/ndb/src/mgmsrv/Makefile.am:
        change for storage
      storage/ndb/src/ndbapi/Makefile.am:
        change for storage
      storage/ndb/test/ndbapi/Makefile.am:
        change for storage
      storage/ndb/test/ndbapi/bank/Makefile.am:
        change for storage
      storage/ndb/test/run-test/Makefile.am:
        change for storage
      storage/ndb/test/src/Makefile.am:
        Change for storage
      storage/ndb/test/tools/Makefile.am:
        Change for storage
      storage/ndb/tools/Makefile.am:
        Change for storage
      25311ea4
  19. 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
  20. 19 Mar, 2005 1 commit
    • unknown's avatar
      Eliminate warnings noticed by VC7. This includes fixing my_mmap() on · 892a6138
      unknown authored
      Windows to call CreateFileMapping() with correct arguments, and
      propogating the introduction of query_id_t to everywhere query ids are
      passed around. (Bug #8826)
      
      
      libmysql/libmysql.c:
        Make implicit cast explicit
      myisam/mi_open.c:
        Make cast of value to smaller data size explicit
      myisam/mi_packrec.c:
        Cast file size (my_off_t) to size_t for mmap
      mysys/my_mmap.c:
        Fix Windows version of my_mmap() to use the right parameters
        for call to CreateFileMapping()
      sql/field.cc:
        Use temporary value of correct type
      sql/field.h:
        Use query_id_t for query_id value
      sql/ha_berkeley.cc:
        Fix flag check
      sql/ha_innodb.h:
        Use query_id_t for query_id value
      sql/handler.cc:
        Explain opt_using_transactions calculation, and add cast
      sql/handler.h:
        Fix forward declaration of COND
      sql/item.cc:
        Fix val_bool() tests of val_int() to avoid implicit cast
      sql/item_cmpfunc.cc:
        Fix typo in switch label
      sql/item_func.cc:
        Make implicit cast explicit
      sql/item_strfunc.cc:
        Now that query_id is a query_id_t, need to cast it to a ulong here
      sql/item_subselect.cc:
        Fix test of value
      sql/log.cc:
        Cast my_off_t used for file size to size_t for memory allocation
        Also cast my_off_t when using it to calculate the number of pages for TC log
        Cast total_ha_2pc to uchar when saving it
      sql/mysql_priv.h:
        Move up query_id definition so it can be used more widely
      sql/opt_range.cc:
        Add unused delete operator to prevent compiler warning
      sql/set_var.cc:
        Cast value for max_user_connections
      sql/sql_cache.cc:
        Remove unused label
      sql/sql_class.h:
        Fix query id values to be of type query_id_t
      sql/sql_db.cc:
        Move variable only used inside #ifdef within the #ifdef
      sql/sql_help.cc:
        Remove unused label
      sql/sql_insert.cc:
        Use query_id_t for query id values
      sql/sql_lex.h:
        Add unused delete operator to prevent compiler warning
      sql/sql_select.cc:
        Remove unused variable
        Make cast of value explicit
      sql/sql_select.h:
        Use query_id_t for query id values
      sql/sql_table.cc:
        Make comparison to function pointer explicit
      sql/sql_update.cc:
        Use query_id_t for query id values
      sql/table.h:
        Use query_id_t for query id values
      strings/ctype-simple.c:
        Add cast of long value to (char) in expression
      strings/ctype-ucs2.c:
        Add cast of long value to (char) in expression
      strings/ctype-utf8.c:
        Make cast to smaller size explicit
      892a6138
  21. 21 Feb, 2005 1 commit
    • unknown's avatar
      postreview changes · 4ef3e54b
      unknown authored
      sql/sql_cache.cc:
        typo fixed
        comment added
        small optimisation
      4ef3e54b
  22. 18 Feb, 2005 1 commit
    • unknown's avatar
      Changes and fixes for windows compilation · af4b5c89
      unknown authored
      VC++Files/libmysqld/libmysqld.dsp:
        added sql/my_decimal.cc
      VC++Files/sql/mysqld.dsp:
        added my_decimal.cpp
      VC++Files/strings/strings.dsp:
        added decimal.c
      sql/field.cc:
        conversion fixes for windows compilation
      sql/item.h:
        fix for windows compilation
      sql/item_func.cc:
        fixed conversion for windows (cast from ulonglong to double 
        is not supported)
      sql/item_sum.cc:
        typecast fix for windows compilation
      sql/sp_head.cc:
        typecast fix fo windows compilation
      sql/sql_cache.cc:
        typecast fix for windows compilation
      af4b5c89
  23. 11 Feb, 2005 1 commit
  24. 04 Feb, 2005 1 commit
    • unknown's avatar
      Merge of query cache from 4.1 to 5.0 · 03bc5997
      unknown authored
      mysql-test/r/ndb_cache.result:
        Added 'order by' to select's
      mysql-test/r/ndb_cache2.result:
        Added 'order by' to select's
      mysql-test/t/ndb_cache.test:
        Added 'order by' to select's
      mysql-test/t/ndb_cache2.test:
        Added 'order by' to select's
      sql/ha_innodb.h:
        Changed function name
      sql/ha_ndbcluster.cc:
        Merge from query cache from 4.1 to 5.0
        Added better comments
        ndb_get_table_statistics had changed, so there where some adaptions to make
      sql/ha_ndbcluster.h:
        Changed name of function
      sql/handler.h:
        Changed name of function
      sql/sql_cache.cc:
        Changed name of function
      03bc5997
  25. 27 Jan, 2005 1 commit
    • unknown's avatar
      fixed QC invaluidation and processing with view (BUG#8050) (BUG#8054) · 2d717b5d
      unknown authored
      mysql-test/r/view_query_cache.result:
        Fixed test to be environment independ
        Invalidation of view checked
        Join view with QC checked
      mysql-test/t/view_query_cache.test:
        Fixed test to be environment independ
        Invalidation of view checked
        Join view with QC checked
      sql/sql_cache.cc:
        support of VIEW added to QC
      sql/sql_cache.h:
        support of VIEW added to QC
      sql/sql_view.cc:
        invalidation of QC added to altering/droping VIEW commands
      2d717b5d
  26. 24 Jan, 2005 1 commit
  27. 18 Jan, 2005 1 commit
  28. 06 Jan, 2005 1 commit
    • unknown's avatar
      First stage of table definition cache · acf76e3b
      unknown authored
      Split TABLE to TABLE and TABLE_SHARE (TABLE_SHARE is still allocated as part of table, will be fixed soon)
      Created Field::make_field() and made Field_num::make_field() to call this
      Added 'TABLE_SHARE->db' that points to database name; Changed all usage of table_cache_key as database name to use this instead
      Changed field->table_name to point to pointer to alias. This allows us to change alias for a table by just updating one pointer.
      Renamed TABLE_SHARE->real_name to table_name
      Renamed TABLE->table_name to alias
      Renamed TABLE_LIST->real_name to table_name
      
      
      include/myisam.h:
        Added const before names
      mysql-test/r/group_min_max.result:
        Make results repeatable
      mysql-test/t/group_min_max.test:
        Make results repeatable
      sql/field.cc:
        Created Field::make_field() and made Field_num::make_field() to call this
        Use TABLE_SHARE
        Use sql_strmake() instead of sql_memdup() to simplify code
      sql/field.h:
        Changed table_name to be pointer to table_name. This allows us to change alias for all fields by just changing one pointer.
        Use TABLE_SHARE
      sql/field_conv.cc:
        Use TABLE_SHARE
      sql/filesort.cc:
        Use TABLE_SHARE
      sql/ha_berkeley.cc:
        Use TABLE_SHARE
      sql/ha_heap.cc:
        Use TABLE_SHARE
      sql/ha_innodb.cc:
        Use TABLE_SHARE
      sql/ha_myisam.cc:
        Use TABLE_SHARE
      sql/ha_myisammrg.cc:
        Use TABLE_SHARE
        Change some pointer handling to use const char*
      sql/ha_ndbcluster.cc:
        Use TABLE_SHARE
      sql/handler.cc:
        Use TABLE_SHARE
      sql/item.cc:
        Use TABLE_SHARE
      sql/item_func.cc:
        Use TABLE_SHARE
      sql/item_subselect.cc:
        Use TABLE_SHARE
      sql/item_sum.cc:
        Use TABLE_SHARE
      sql/key.cc:
        Use TABLE_SHARE
      sql/lock.cc:
        Use TABLE_SHARE
      sql/log_event.cc:
        real_name -> table_name
      sql/mysql_priv.h:
        Use TABLE_SHARE
      sql/opt_range.cc:
        Use TABLE_SHARE
      sql/opt_sum.cc:
        Use TABLE_SHARE
      sql/records.cc:
        Use TABLE_SHARE
      sql/repl_failsafe.cc:
        real_name -> table_name
      sql/slave.cc:
        Use TABLE_SHARE
      sql/sp.cc:
        Use TABLE_SHARE
      sql/sp_head.cc:
        real_name -> table_name
      sql/sql_acl.cc:
        Use TABLE_SHARE
        removed unnecessary assert
        fixed indentation
        changed some char * -> const char*
      sql/sql_acl.h:
        changed some char* -> const char*
      sql/sql_base.cc:
        Use TABLE_SHARE
      sql/sql_cache.cc:
        Use TABLE_SHARE
      sql/sql_class.cc:
        Use TABLE_SHARE
      sql/sql_db.cc:
        real_name -> table_name
      sql/sql_delete.cc:
        Use TABLE_SHARE
      sql/sql_derived.cc:
        Use TABLE_SHARE
      sql/sql_handler.cc:
        Use TABLE_SHARE
      sql/sql_help.cc:
        Use TABLE_SHARE
      sql/sql_insert.cc:
        Use TABLE_SHARE
      sql/sql_load.cc:
        Use TABLE_SHARE
      sql/sql_parse.cc:
        Use TABLE_SHARE
      sql/sql_rename.cc:
        real_name -> table_name
      sql/sql_select.cc:
        Use TABLE_SHARE
        table->blob_fields now points to field offsets, not fields
        tmp_table->table_name now points to alias name
      sql/sql_show.cc:
        Use TABLE_SHARE
      sql/sql_table.cc:
        Use TABLE_SHARE
      sql/sql_test.cc:
        Use TABLE_SHARE
      sql/sql_trigger.cc:
        Use TABLE_SHARE
      sql/sql_udf.cc:
        Use TABLE_SHARE
      sql/sql_union.cc:
        real_name -> table_name
      sql/sql_update.cc:
        Use TABLE_SHARE
      sql/sql_view.cc:
        Use TABLE_SHARE
      sql/table.cc:
        Split TABLE to TABLE and TABLE_SHARE
        Changed blob_field to be field offsets instead of pointer to fields
        Only initialize table->s->default_values with default record (not all table->record[#])
        Some indentation changes
      sql/table.h:
        Split TABLE to TABLE and TABLE_SHARE
      sql/tztime.cc:
        real_name -> table_name
      sql/unireg.cc:
        Use TABLE_SHARE
      sql/unireg.h:
        Use TABLE_SHARE
      acf76e3b
  29. 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
  30. 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
  31. 25 Nov, 2004 2 commits
  32. 24 Nov, 2004 1 commit
    • unknown's avatar
      sql/ha_innodb.cc · 35502d45
      unknown authored
          enabled query cache for ndb
          modified engine interface somewhat
      sql/ha_innodb.h
          enabled query cache for ndb
          modified engine interface somewhat
      sql/ha_ndbcluster.cc
          enabled query cache for ndb
          modified engine interface somewhat
          ndb will only allow caching and retrieval if running autocommit
            - return false, but do not invalidate
          commit count is used as engine data, i.e.
            - store commit count before store of cache
            - allow retrieval if commit count has not changed on a table
            - invalidate if commit count has changed
      sql/ha_ndbcluster.h
          enabled query cache for ndb
          modified engine interface somewhat
      sql/handler.cc
          enabled query cache for ndb
          modified engine interface somewhat
      sql/handler.h
          enabled query cache for ndb
          modified engine interface somewhat
          new virtual handler method cached_table_registration called on each table before alowing store in query cache
            - return TRUE - ok to cache, FALSE - not allowed to cache, invalidate queries if engine_data below has changed
            - sets ulonglong (engine_data) that is stored in query cache for each table
            - sets callback to be called for each table before usage of cached query, callback = 0 -> no check later
      sql/mysql_priv.h
          enabled query cache for ndb
          modified engine interface somewhat
          callcack prototype for callback to engine before query cache retrieval
      sql/sql_cache.cc
          enabled query cache for ndb
          modified engine interface somewhat
          if callback is set on table in cache, do callback to check if allowed to use cache
          if not allowed to use cache, check if engine_data has changed, if so, invalidate all queries with that table
          + changes to store and pass callback and engine_data around
      sql/sql_cache.h
          enabled query cache for ndb
          modified engine interface somewhat
          changes to store callback and engine_data
      sql/table.h
          enabled query cache for ndb
          modified engine interface somewhat
          changes to store callback and engine_data
      
      
      sql/ha_innodb.cc:
        enabled query cache for ndb
        modified engine interface somewhat
      sql/ha_innodb.h:
        enabled query cache for ndb
        modified engine interface somewhat
      sql/ha_ndbcluster.cc:
        enabled query cache for ndb
        modified engine interface somewhat
        ndb will only allow caching and retrieval if running autocommit
          - return false, but do not invalidate
        commit count is used as engine data, i.e.
          - store commit count before store of cache
          - allow retrieval if commit count has not changed on a table
          - invalidate if commit count has changed
      sql/ha_ndbcluster.h:
        enabled query cache for ndb
        modified engine interface somewhat
      sql/handler.cc:
        enabled query cache for ndb
        modified engine interface somewhat
      sql/handler.h:
        enabled query cache for ndb
        modified engine interface somewhat
        new virtual handler method cached_table_registration called on each table before alowing store in query cache
          - return TRUE - ok to cache, FALSE - not allowed to cache, invalidate queries if engine_data below has changed
          - sets ulonglong (engine_data) that is stored in query cache for each table
          - sets callback to be called for each table before usage of cached query, callback = 0 -> no check later
      sql/mysql_priv.h:
        enabled query cache for ndb
        modified engine interface somewhat
        callcack prototype for callback to engine before query cache retrieval
      sql/sql_cache.cc:
        enabled query cache for ndb
        modified engine interface somewhat
        if callback is set on table in cache, do callback to check if allowed to use cache
        if not allowed to use cache, check if engine_data has changed, if so, invalidate all queries with that table
        + changes to store and pass callback and engine_data around
      sql/sql_cache.h:
        enabled query cache for ndb
        modified engine interface somewhat
        changes to store callback and engine_data
      sql/table.h:
        enabled query cache for ndb
        modified engine interface somewhat
        changes to store callback and engine_data
      35502d45
  33. 23 Nov, 2004 1 commit
  34. 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
  35. 25 Oct, 2004 1 commit
  36. 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
  37. 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