1. 30 Aug, 2006 1 commit
    • unknown's avatar
      Bug#20573 · 31929f35
      unknown authored
        "strict mode: inserts autogenerated auto_increment value bigger than max"
        Strict mode should fail if autoincrement value is out of range
      
      
      include/my_base.h:
        Add new handler error codes
      sql/ha_berkeley.cc:
        handle error in update_auto_increment()
      sql/ha_heap.cc:
        handle error in update_auto_increment()
      sql/ha_innodb.cc:
        handle error in update_auto_increment()
      sql/ha_myisam.cc:
        handle error in update_auto_increment()
      sql/ha_myisammrg.cc:
        handle error in update_auto_increment()
      sql/ha_ndbcluster.cc:
        handle error in update_auto_increment()
      sql/handler.cc:
        return error from handler::update_auto_increment()
      sql/handler.h:
        change return type of handler::update_auto_increment() to int
      sql/share/errmsg.txt:
        new error message for auto-increment
      mysql-test/include/strict_autoinc.inc:
        New BitKeeper file ``mysql-test/include/strict_autoinc.inc''
      mysql-test/r/strict_autoinc_1myisam.result:
        New BitKeeper file ``mysql-test/r/strict_autoinc_1myisam.result''
      mysql-test/r/strict_autoinc_2innodb.result:
        New BitKeeper file ``mysql-test/r/strict_autoinc_2innodb.result''
      mysql-test/r/strict_autoinc_3heap.result:
        New BitKeeper file ``mysql-test/r/strict_autoinc_3heap.result''
      mysql-test/r/strict_autoinc_4bdb.result:
        New BitKeeper file ``mysql-test/r/strict_autoinc_4bdb.result''
      mysql-test/r/strict_autoinc_5ndb.result:
        New BitKeeper file ``mysql-test/r/strict_autoinc_5ndb.result''
      mysql-test/t/strict_autoinc_1myisam.test:
        New BitKeeper file ``mysql-test/t/strict_autoinc_1myisam.test''
      mysql-test/t/strict_autoinc_2innodb.test:
        New BitKeeper file ``mysql-test/t/strict_autoinc_2innodb.test''
      mysql-test/t/strict_autoinc_3heap.test:
        New BitKeeper file ``mysql-test/t/strict_autoinc_3heap.test''
      mysql-test/t/strict_autoinc_4bdb.test:
        New BitKeeper file ``mysql-test/t/strict_autoinc_4bdb.test''
      mysql-test/t/strict_autoinc_5ndb.test:
        New BitKeeper file ``mysql-test/t/strict_autoinc_5ndb.test''
      31929f35
  2. 12 Jul, 2006 1 commit
    • unknown's avatar
      Bug #17766: The server accepts to create MERGE tables which cannot work · 60cb997c
      unknown authored
       Changed the error reporting (and a crash) when inserting data into a
       MERGE table that has no underlying tables or no INSERT_METHOD specified
       by reporting that it is read-only.
      
      
      include/my_base.h:
        Add new handler error
      mysql-test/r/merge.result:
        Update results
      mysql-test/t/merge.test:
        Add new regression test
      sql/ha_myisammrg.cc:
        When trying to insert into a MERGE table with no underlying tables
        or no INSERT_METHOD, report that it is read-only.
      sql/handler.cc:
        Handle new error message
      60cb997c
  3. 10 Jul, 2006 1 commit
  4. 09 May, 2006 1 commit
    • unknown's avatar
      bug#10952 · 7900e236
      unknown authored
        "alter table from MyISAM to MERGE lost data without errors and warnings"
        Add new handlerton flag which prevent user from altering table storage
        engine to storage engines which would lose data. Both 'blackhole' and 
        'merge' are marked with the new flag.
        Tests included.
      
      
      mysql-test/r/blackhole.result:
        test for bug#10952
      mysql-test/r/merge.result:
        test for bug#10952
      mysql-test/t/blackhole.test:
        test for bug#10952
      mysql-test/t/merge.test:
        test for bug#10952
      sql/ha_blackhole.cc:
        Bug#10952
          shouldn't be able to alter a table into a blackhole
      sql/ha_myisammrg.cc:
        Bug#10952
          shouldn't be able to alter a table into a merge
      sql/handler.h:
        Bug#10952
          new handlerton flag
      sql/sql_table.cc:
        Bug#10952
          If alter is changing engine, check if new engine allows creating table
          via ALTER statement.
      7900e236
  5. 11 Feb, 2006 1 commit
    • unknown's avatar
      BUG#17314: Can't use index_merge/intersection for MERGE tables · 5e61e65f
      unknown authored
      1. Fix index access costs for MERGE tables, set block_size=myisam_block_size/#underlying_tables 
         instead of 0 which it was before.
      2. Make index scans on MERGE table to return records in (key_tuple, merge_table_rowid) order, 
         instead of just (key_tuple) order. This makes an index scan on MERGE table to be truly a ROR-scan
         which is a requirement for index_merge union/intersection.
      
      
      myisammrg/myrg_queue.c:
        BUG#17314: Make index scans on MERGE table return records ordered by (keytuple, merge_table_rowid).
      mysql-test/r/index_merge.result:
        Testcase for BUG#17314
      mysql-test/r/merge.result:
        BUG#17314: update testcase result
      mysql-test/t/index_merge.test:
        Testcase for BUG#17314
      sql/ha_myisammrg.cc:
        BUG#17314: For MERGE tables, set handler::block_size to myisam_block_size/#underlying_tables, and not to 0.
      5e61e65f
  6. 20 Nov, 2005 1 commit
    • unknown's avatar
      Inefficient usage of String::append() fixed. · 5e047f6b
      unknown authored
      Bad examples of usage of a string with its length fixed.
      The incorrect length in the trigger file configuration descriptor
        fixed (BUG#14090).
      A hook for unknown keys added to the parser to support old .TRG files.
      
      
      sql/field.cc:
        Inefficient usage of String::append() fixed.
        Bad examples of usage of a string with its length fixed.
      sql/ha_berkeley.cc:
        A bad example of usage of a string with its length fixed.
      sql/ha_federated.cc:
        Inefficient usage of String::append() fixed.
      sql/ha_myisammrg.cc:
        Bad examples of usage of a string with its length fixed.
      sql/handler.cc:
        Inefficient usage of String::append() fixed.
      sql/item.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item.h:
        A bad example of usage of a string with its length fixed.
      sql/item_cmpfunc.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_func.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_strfunc.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_subselect.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_sum.cc:
        Bad examples of usage of a string with its length fixed.
        Inefficient usage of String::append() fixed.
      sql/item_timefunc.cc:
        Inefficient using of String::append() fixed.
        Bad examples of usage of a string with its length fixed.
      sql/item_uniq.h:
        Bad examples of usage of a string with its length fixed.
      sql/key.cc:
        Bad examples of usage of a string with its length fixed.
      sql/log.cc:
        Bad examples of usage of a string with its length fixed.
      sql/log_event.cc:
        Bad examples of usage of a string with its length fixed.
      sql/mysqld.cc:
        The dummy parser hook allocated.
      sql/opt_range.cc:
        Inefficient usage of String::append() fixed.
      sql/parse_file.cc:
        Bad examples of usage of a string with its length fixed.
        A hook for unknown keys added to the parser.
      sql/parse_file.h:
        A hook for unknown keys added to the parser.
      sql/protocol.cc:
        A bad example of usage of a string with its length fixed.
      sql/repl_failsafe.cc:
        Bad examples of usage of a string with its length fixed.
      sql/share/errmsg.txt:
        A warning for old format config file.
      sql/slave.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sp.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sp_head.cc:
        Bad examples of usage of a string with its length fixed.
      sql/spatial.cc:
        A bad example of usage of a string with its length fixed.
      sql/sql_acl.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_analyse.cc:
        Bad examples of usage of a string with its length fixed.
        Inefficient usage of String::append() fixed.
      sql/sql_lex.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_load.cc:
        A bad example of usage of a string with its length fixed.
      sql/sql_parse.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_prepare.cc:
        A bad example of usage of a string with its length fixed.
      sql/sql_select.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_show.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_string.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_string.h:
        The macro definition moved to sql_string.h to
          be accessible in all parts of server.
      sql/sql_table.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_trigger.cc:
        Bad examples of usage of a string with its length fixed.
        The incorrect length in the trigger file configuration descriptor
          fixed (BUG#14090).
        The hook for processing incorrect sql_mode record added.
      sql/sql_view.cc:
        A dummy  hook used for parsing views.
      sql/structs.h:
        The macro definition moved to sql_string.h to be
          accessible in all parts of server.
      sql/table.cc:
        A bad example of usage of a string with its length fixed.
      sql/tztime.cc:
        A bad example of usage of a string with its length fixed.
      5e047f6b
  7. 03 Oct, 2005 1 commit
    • unknown's avatar
      Next big patch for loadable storage engines! · 1cb47ed1
      unknown authored
      Handlerton array is now created instead of using sys_table_types_st. All storage engines can now have inits and giant ifdef's are now gone for startup. No compeltely clean yet, handlertons will next be merged with sys_table_types. Federated and archive now have real cleanup if their inits fail. 
      
      
      sql/examples/ha_archive.cc:
        Modifications for new ha_init code. The init method now checks for errors and will not start up if the errors occur.
      sql/examples/ha_archive.h:
        Change for new init method.
      sql/examples/ha_example.cc:
        New handlerton pieces.
      sql/examples/ha_tina.cc:
        New handlerton pieces.
      sql/ha_berkeley.cc:
        New handlerton pieces, plus changes for ha_init changes. I'm not happy with our current "skip" setup.
      sql/ha_berkeley.h:
        Change in init return.
      sql/ha_blackhole.cc:
        Changes for new handlerton pieces.
      sql/ha_federated.cc:
        Changes for new handlerton and true cleanup code.
      sql/ha_heap.cc:
        Changes for new handlerton returns.
      sql/ha_innodb.cc:
        Changes for handlerton code.
      sql/ha_innodb.h:
        Change in init.
      sql/ha_myisam.cc:
        Changes for additional handlerton bits.
      sql/ha_myisammrg.cc:
        Changes for  new handlerton bits.
      sql/ha_ndbcluster.cc:
        Changes for new handlerton bits.
      sql/ha_ndbcluster.h:
        Changes for handlerton bits.
      sql/handler.cc:
        Changes for ditching show_table_type_st types, and collapsing it into a handlerton array. The ha_init now just loops through all handlers to init (much cleaner...). handlertons and sys_table_types should be merged next.
      sql/handler.h:
        Additions for sys_table_types
      sql/log.cc:
        Clean up of binlog for changes in handlerton
      sql/mysql_priv.h:
        Removed unneeded define for binlog_init
      sql/sql_show.cc:
        Changes for change in handlerton to sys_table_types
      1cb47ed1
  8. 30 Sep, 2005 1 commit
    • unknown's avatar
      Move handler specific options into handlerton flag check · 967c4e63
      unknown authored
      BUG#13108
      
      
      mysql-test/r/federated.result:
        added test results for federated alter table
      mysql-test/t/federated.test:
        added test for federated alter table
      sql/examples/ha_example.cc:
        supports table re-creation
      sql/examples/ha_tina.cc:
        supports table re-creation
      sql/ha_blackhole.cc:
        supports table re-creation
      sql/ha_federated.cc:
        added flag for not supporting alter
      sql/ha_heap.cc:
        supports table recreation
      sql/ha_myisam.cc:
        supports table recreation
      sql/ha_myisammrg.cc:
        supports table re-creation
      sql/handler.cc:
        implemented flag check function
      sql/handler.h:
        added additional handlerton flags
        created a function to test flags
        replace ha_supports_generate macro with call to flag check
      sql/sql_delete.cc:
        replaced ha_supports_generate with handlerton flag check
      sql/sql_table.cc:
        added check for handlerton check for alter support
      967c4e63
  9. 19 Sep, 2005 1 commit
    • unknown's avatar
      Cleanup for handlerton structure to allow for loadable engine work. This is... · ebb199e9
      unknown authored
      Cleanup for handlerton structure to allow for loadable engine work. This is the first in a series of patches. 
      
      
      sql/examples/ha_archive.cc:
        Now declared externally.
      sql/examples/ha_example.cc:
        Now declared externally
      sql/examples/ha_tina.cc:
        Now declared externally
      sql/ha_berkeley.cc:
        Now declared externally
      sql/ha_blackhole.cc:
        Now declared externally
      sql/ha_federated.cc:
        Now declared externally.
      sql/ha_heap.cc:
        Now declared externally.
      sql/ha_innodb.cc:
        Now declared externally.
      sql/ha_myisam.cc:
        Now declared externally
      sql/ha_myisammrg.cc:
        Now declared externally.
      sql/ha_ndbcluster.cc:
        Now declared externally.
      sql/handler.cc:
        Changes for eventual loadable engines. This will allow us to gain faster access to the handlerton (eventually this will just be a handlteron array).
      sql/handler.h:
        New alias structure and change to show_table_st to place handlerton in the structure.
      ebb199e9
  10. 20 Jul, 2005 1 commit
    • unknown's avatar
      Implement MySQL framework to support consistent read views in · c4ff5981
      unknown authored
      cursors. This should fix Bug#11813 when InnoDB part is in 
      (tested with a draft patch).
      The idea of the patch is that if a storage engine supports
      consistent read views, we open one when open a cursor,
      set is as the active view when fetch from the cursor, and close
      together with cursor close.
      
      
      sql/examples/ha_archive.cc:
        - extend handlerton with cursors methods; fix coding style
      sql/examples/ha_example.cc:
        - extend handlerton with cursors methods; fix coding style
      sql/examples/ha_tina.cc:
        - extend handlerton with cursors methods; fix coding style
      sql/ha_berkeley.cc:
        - extend handlerton with cursors methods
      sql/ha_blackhole.cc:
        - extend handlerton with cursors methods; fix coding style
      sql/ha_federated.cc:
        - extend handlerton with cursors methods; fix coding style
      sql/ha_heap.cc:
        - extend handlerton with cursors methods; fix coding style
      sql/ha_innodb.cc:
        - extend handlerton with cursors methods
      sql/ha_myisam.cc:
        - extend handlerton with cursors methods; fix coding style
      sql/ha_myisammrg.cc:
        - extend handlerton with cursors methods; fix coding style
      sql/ha_ndbcluster.cc:
        - extend handlerton with cursors methods
      sql/handler.h:
        - extend handlerton with cursors methods
      sql/sql_select.cc:
        - create a consistent read view when we open a cursor,
          set it for a fetch, and free when we closing the cursor.
      sql/sql_select.h:
        - add Cursor::ht_info to remember read views used in a cursor.
      tests/mysql_client_test.c:
        Disable an assert that will be no longer valid when consistent
        read views in InnoDB are used.
      c4ff5981
  11. 19 Jul, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#10760 and complementary cleanups. · 5f07c9d2
      unknown authored
      The idea of the patch
      is that every cursor gets its own lock id for table level locking.
      Thus cursors are protected from updates performed within the same 
      connection. Additionally a list of transient (must be closed at
      commit) cursors is maintained and all transient cursors are closed
      when necessary. Lastly, this patch adds support for deadlock
      timeouts to TLL locking when using cursors.
      + post-review fixes.
      
      
      include/thr_lock.h:
        - add a notion of lock owner to table level locking. When using
          cursors, lock owner can not be identified by a thread id any more, 
          as we must protect cursors from updates issued within the same 
          connection (thread). So, each cursor has its own lock identifier to 
          use with table level locking.
        - extend return values of thr_lock and thr_multi_lock with
          THR_LOCK_TIMEOUT and THR_LOCK_DEADLOCK, since these conditions
          are now possible (see comments to thr_lock.c)
      mysys/thr_lock.c:
        Better support for cursors:
        - use THR_LOCK_OWNER * as lock identifier, not pthread_t.
        - check and return an error for a trivial deadlock case, when an
          update statement is issued to a table locked by a cursor which has 
          been previously opened in the same connection.
        - add support for locking timeouts: with use of cursors, trivial 
          deadlocks can occur. For now the only remedy is the lock wait timeout,
          which is initialized from a new global variable 'table_lock_wait_timeout'
          Example of a deadlock (assuming the storage engine does not downgrade 
          locks):
          con1: open cursor for select * from t1;
          con2: open cursor for select * from t2;
          con1: update t2 set id=id*2;  -- blocked
          con2: update t1 set id=id*2;  -- deadlock
          Lock timeouts are active only if a connection is using cursors.
        - the check in the wait_for_lock loop has been changed from
          data->cond != cond to data->cond != 0. data->cond is zeroed
          in every place it's changed. 
        - added comments
      sql/examples/ha_archive.cc:
        - extend the handlerton with the info about cursor behaviour at commit.
      sql/examples/ha_archive.h:
        - ctor moved to .cc to make use of archive handlerton
      sql/examples/ha_example.cc:
        - add handlerton instance, init handler::ht with it
      sql/examples/ha_example.h:
        - ctor moved to .cc to make use of ha_example handlerton
      sql/examples/ha_tina.cc:
        - add handlerton instance, init handler::ht with it
      sql/examples/ha_tina.h:
        - ctor moved to .cc to make use of CSV handlerton
      sql/ha_berkeley.cc:
        - init handlerton::flags and handler::ht
      sql/ha_berkeley.h:
        - ctor moved to .cc to make use of BerkeleyDB handlerton
      sql/ha_blackhole.cc:
        - add handlerton instance, init handler::ht with it
      sql/ha_blackhole.h:
        - ctor moved to .cc to make use of blackhole handlerton
      sql/ha_federated.cc:
        - add handlerton instance, init handler::ht with it
      sql/ha_federated.h:
        - ctor moved to .cc to make use of federated handlerton
      sql/ha_heap.cc:
        - add handlerton instance, init handler::ht with it
      sql/ha_heap.h:
        - ctor moved to .cc to make use of ha_heap handlerton
      sql/ha_innodb.cc:
        - init handlerton::flags and handler::ht of innobase storage engine
      sql/ha_innodb.h:
        - ctor moved to .cc to make use of archive handlerton
      sql/ha_myisam.cc:
        - add handlerton instance, init handler::ht with it
      sql/ha_myisam.h:
        - ctor moved to .cc to make use of MyISAM handlerton
      sql/ha_myisammrg.cc:
        - init handler::ht in the ctor
      sql/ha_myisammrg.h:
        - ctor moved to .cc to make use of MyISAM MERGE handlerton
      sql/ha_ndbcluster.cc:
        - init handlerton::flags and handler::ht
      sql/handler.cc:
        - drop support for ISAM storage engine, which was removed from 5.0
        - close all "transient" cursors at COMMIT/ROLLBACK. A "transient"
          SQL level cursor is a cursor that uses tables that have a transaction-
          specific state.
      sql/handler.h:
        - extend struct handlerton with flags, add handlerton *ht to every
          handler instance.
      sql/lock.cc:
        - extend mysql_lock_tables to send error to the client if 
          thr_multi_lock returns a timeout or a deadlock error.
      sql/mysqld.cc:
        - add server option --table_lock_wait_timeout (in seconds)
      sql/set_var.cc:
        - add new global variable 'table_lock_wait_timeout' to specify
        a wait timeout for table-level locks of MySQL (in seconds). The default
        timeout is 50 seconds. The timeout is active only if the connection
        has open cursors.
      sql/sql_class.cc:
        - implement Statement_map::close_transient_cursors
        - safety suggests that we need an assert ensuring 
         llock_info->n_cursors is functioning properly, adjust destruction of
         the Statement_map to allow such assert in THD::~THD
      sql/sql_class.h:
        - add support for Cursors registry to Statement map.
      sql/sql_prepare.cc:
        - maintain a list of cursors that must be closed at commit/rollback.
      sql/sql_select.cc:
        - extend class Cursor to support specific at-COMMIT/ROLLBACK behavior.
        If a cursor uses tables of a storage engine that 
        invalidates all open tables at COMMIT/ROLLBACK, it must be closed
        before COMMIT/ROLLBACK is executed.
      sql/sql_select.h:
        - add an own lock_id and commit/rollback status flag to class Cursor
      tests/mysql_client_test.c:
        A test case for Bug#10760 and complementary issues: test a simple
        deadlock case too.
      mysql-test/var:
        New BitKeeper file ``mysql-test/var''
      5f07c9d2
  12. 13 Jun, 2005 1 commit
    • unknown's avatar
      fixes for windows 64-bit compiler warnings · f16f0b2a
      unknown authored
      heap/hp_hash.c:
        fix for windows 64-bit compiler warnings
      heap/hp_update.c:
        fix for windows 64-bit compiler warnings
      mysys/default.c:
        fix for windows 64-bit compiler warnings
      mysys/default_modify.c:
        fix for windows 64-bit compiler warnings
      mysys/mf_iocache.c:
        fix for windows 64-bit compiler warnings
      mysys/mf_keycache.c:
        fix for windows 64-bit compiler warnings
      mysys/my_alloc.c:
        fix for windows 64-bit compiler warnings
      mysys/my_getopt.c:
        fix for windows 64-bit compiler warnings
      mysys/my_mmap.c:
        fix for windows 64-bit compiler warnings
      mysys/my_once.c:
        fix for windows 64-bit compiler warnings
      mysys/string.c:
        fix for windows 64-bit compiler warnings
      sql-common/client.c:
        fix for windows 64-bit compiler warnings
      sql/field.cc:
        fix for windows 64-bit compiler warnings
      sql/gstream.cc:
        fix for windows 64-bit compiler warnings
      sql/ha_myisam.cc:
        fix for windows 64-bit compiler warnings
      sql/ha_myisammrg.cc:
        fix for windows 64-bit compiler warn...
      f16f0b2a
  13. 05 Jun, 2005 1 commit
  14. 03 Jun, 2005 1 commit
    • unknown's avatar
      Move USE_PRAGMA_IMPLEMENTATION to proper place · 90931c2e
      unknown authored
      Ensure that 'null_value' is not accessed before val() is called in FIELD() functions
      Fixed initialization of key maps. This fixes some problems with keys when you have more than 64 keys
      Fixed that ROLLUP don't always create a temporary table. This fix ensures that func_gconcat.test results are now predictable
      
      
      mysql-test/r/func_gconcat.result:
        Move innodb specific test to innodb.test
        Changed table name r2 -> t2
        More test to see how ROLLUP was optimized
      mysql-test/r/innodb.result:
        Moved test here form func_gconcat
      mysql-test/r/olap.result:
        New test results after optimization
      mysql-test/t/func_gconcat.test:
        Move innodb specific test to innodb.test
        Changed table name r2 -> t2
        More test to see how ROLLUP was optimized
      mysql-test/t/innodb.test:
        Moved test here form func_gconcat
      sql/field.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_berkeley.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_blackhole.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_heap.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_innodb.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_isam.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_isammrg.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_myisam.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_myisammrg.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_ndbcluster.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/handler.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/hash_filo.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_cmpfunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_func.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
        Ensure that 'null_value' is not accessed before val() is called
      sql/item_geofunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_strfunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_subselect.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_sum.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_timefunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_uniq.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/log_event.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/mysql_priv.h:
        Change key_map_full to not be const as we are giving it a proper value on startup
      sql/mysqld.cc:
        Move key_map variables here and initialize key_map_full properly
      sql/opt_range.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/opt_range.h:
        Fix that test_quick_select() works with any ammount of keys
      sql/procedure.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/protocol.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/protocol_cursor.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/set_var.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_analyse.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_class.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_crypt.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_insert.cc:
        Fixed that max_rows is ulong
      sql/sql_list.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_map.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_olap.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_select.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
        Fixed that ROLLUP don't have to always create a temporary table
        Added new argument to remove_const() to make above possible
        Fixed some errors that creapt up when we don't always do a temporary table for ROLLUP
      sql/sql_string.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_table.cc:
        Simple optimizations
        Fixed wrong checking of build_table_path() in undef-ed code
      sql/sql_udf.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_yacc.yy:
        removed extra {}
      90931c2e
  15. 02 Jun, 2005 1 commit
    • unknown's avatar
      tztime.cc: · 504d71aa
      unknown authored
        Set #pragma implementation" earlier
      Many files:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      
      
      client/sql_string.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      mysys/raid.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/field.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_berkeley.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_blackhole.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_heap.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_innodb.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_isam.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_isammrg.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisam.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisammrg.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_ndbcluster.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/handler.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/hash_filo.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_cmpfunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_func.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_geofunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_strfunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_subselect.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_sum.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_timefunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/log_event.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/opt_range.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/procedure.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/protocol.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/protocol_cursor.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/set_var.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_class.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_list.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_olap.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_archive.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_select.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_string.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_udf.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_example.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_tina.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/tztime.cc:
        Set #pragma implementation" earlier
      504d71aa
  16. 26 May, 2005 1 commit
    • unknown's avatar
      Add ifdefs to control when "#pragma implementation" should be used · 50dfbb61
      unknown authored
      Added some more ifdefs for "#pragma interface"
      
      
      client/sql_string.cc:
        USE_PRAGMA_IMPLEMENTATION
      client/sql_string.h:
        USE_PRAGMA_INTERFACE
      include/my_global.h:
        Use pragma implementation for gcc pre version 3
      mysys/raid.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/field.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_berkeley.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_blackhole.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_heap.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_innodb.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_isam.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_isammrg.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisam.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisammrg.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_ndbcluster.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/handler.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/hash_filo.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_cmpfunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_func.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_geofunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_strfunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_subselect.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_sum.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_timefunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.h:
        USE_PRAGMA_INTERFACE
      sql/log_event.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/log_event.h:
        USE_PRAGMA_INTERFACE
      sql/opt_range.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/procedure.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/protocol.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/protocol_cursor.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/set_var.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.h:
        USE_PRAGMA_INTERFACE
      sql/sql_class.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.h:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_list.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.h:
        USE_PRAGMA_INTERFACE
      sql/sql_olap.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_select.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_string.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_udf.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/tztime.cc:
        USE_PRAGMA_IMPLEMENTATION
      50dfbb61
  17. 24 May, 2005 1 commit
    • unknown's avatar
      - Backport of the patch to fix BUG#10687 (Merge engine fails · 721ba061
      unknown authored
        on Windows): applied required patches on top of the 4.1.12
        release (will be published as 4.1.12a for Windows)
      
      
      myisammrg/myrg_open.c:
        - Backport of the patch to fix BUG#10687 (Merge engine fails 
          under Windows): use fn_format to convert pathnames if the files 
          in the merge file have a pathname
      mysys/my_getwd.c:
        - Backport of the patch to fix BUG#10687 (Merge engine fails 
          on Windows): Added test to see if FN_LIBCHAR != '/' before
          doing comparison to avoid redundant comparison
      sql/ha_myisammrg.cc:
        - Backport of the patch to fix BUG#10687 (Merge engine fails 
          on Windows): added extra debug output
      721ba061
  18. 23 May, 2005 2 commits
    • unknown's avatar
      BUG#10687 - Merge engine fails under Windows · f7be4503
      unknown authored
      This final cset is to fix a syntax problem in ha_myisammrg.cc where a / was left out of a format string.
      It also adds a check in has_path to avoid a possible redundant comparison.
      
      ha_myisammrg.cc:
        Replaced missing / in format string
      my_getwd.c:
        Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison
      
      
      mysys/my_getwd.c:
        Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison
      sql/ha_myisammrg.cc:
        Replaced missing / in format string
      f7be4503
    • unknown's avatar
      BUG# 10687: Merge engine fails under Windows · 6da55897
      unknown authored
      This cset is to roll out the cset applied earlier from Ingo.
      This bug has been fixed with a different cset.
      
      
      
      sql/ha_myisammrg.cc:
        removed the patch applied earlier
      strings/my_vsnprintf.c:
        removed the patch applied earlier.  The patch was to add %c ability.  
        Monty has already done this.
      6da55897
  19. 19 May, 2005 1 commit
    • unknown's avatar
      BUG# 10687 - MERGE engine fails under Windows · 733458e6
      unknown authored
      This patch was submitted by Ingo and it appears to work correctly.
      
      
      sql/ha_myisammrg.cc:
        use FN_LIBCHAR instead of / so buff works correctly on Windows
      strings/my_vsnprintf.c:
        add support for %c to my_vsnprintf
      733458e6
  20. 29 Apr, 2005 1 commit
  21. 28 Apr, 2005 1 commit
    • unknown's avatar
      BUG#5964 - 4.1 MERGE tables regression from 4.0 · d9533bf6
      unknown authored
      Changed the creation of the .MRG file so that only the table  name
      is written when the MyISAM table is in the same database as the
      MERGE table, a relative path is used in other cases in mysqld,
      and possibly an absolute path is used in an embedded server.
      No test case is added as the external behaviour is unchanged.
      Only the file names within the .MRG file are changed.
      
      
      include/my_sys.h:
        BUG#5964 - 4.1 MERGE tables regression from 4.0
        Added declaration for a new function.
      myisammrg/myrg_open.c:
        BUG#5964 - 4.1 MERGE tables regression from 4.0
        Changed check for absolute path to check for any path.
      mysys/my_getwd.c:
        BUG#5964 - 4.1 MERGE tables regression from 4.0
        Added a new functions which checks for absolute _or_
        relative paths.
      sql/ha_myisammrg.cc:
        BUG#5964 - 4.1 MERGE tables regression from 4.0
        Changed the creation of the .MRG file so that only the table  name
        is written when the MyISAM table is in the same database as the
        MERGE table, a relative path is used in other cases in mysqld,
        and possibly an absolute path is used in an embedded server.
      d9533bf6
  22. 27 Apr, 2005 1 commit
    • unknown's avatar
      BUG#9714 libsupc++ problem · f5b25320
      unknown authored
       - Remove linking of libsupc++
       - Move all local static variables to filescope
      
      
      configure.in:
        Remove linking with libsupc++
      sql/examples/ha_archive.cc:
        Move local static variables to file scope
      sql/examples/ha_example.cc:
        Move local static variables to file scope
      sql/examples/ha_tina.cc:
        Move local static variables to file scope
      sql/ha_berkeley.cc:
        Move local static variables to file scope
      sql/ha_blackhole.cc:
        Move local static variables to file scope
      sql/ha_federated.cc:
        Move local static variables to file scope
      sql/ha_heap.cc:
        Move local static variables to file scope
      sql/ha_innodb.cc:
        Move local static variables to file scope
      sql/ha_myisam.cc:
        Move local static variables to file scope
      sql/ha_myisammrg.cc:
        Move local static variables to file scope
      sql/ha_ndbcluster.cc:
        Move local static variables to file scope
      sql/item.cc:
        Move local static instance variables to file scope
      sql/item_sum.cc:
        Move local static variables to file scope
      f5b25320
  23. 06 Jan, 2005 1 commit
    • unknown's avatar
      First stage of table definition cache · ff6097bd
      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
      ff6097bd
  24. 27 Dec, 2004 1 commit
    • unknown's avatar
      Fix for BUG#7377. This fix adds the same implementation for... · 719802da
      unknown authored
      Fix for BUG#7377. This fix adds the same implementation for ha_myisammgr::index_type as in version 5.0.
      
      
      mysql-test/r/merge.result:
        Added test result for BUG#7377.
      mysql-test/t/merge.test:
        Added test for BUG#7377.
      sql/ha_myisammrg.cc:
        Added implementation for handler::index_type.
      sql/ha_myisammrg.h:
        Added implementation for handler::index_type.
      719802da
  25. 23 Nov, 2004 1 commit
  26. 12 Nov, 2004 1 commit
  27. 07 Nov, 2004 1 commit
  28. 01 Oct, 2004 1 commit
    • unknown's avatar
      Support for TIMESTAMP columns holding NULL values. Unlike all other · c2a25521
      unknown authored
      column types TIMESTAMP is NOT NULL by default, so in order to have 
      TIMESTAMP column holding NULL valaues you have to specify NULL as
      one of its attributes (this needed for backward compatibility).
      
      Main changes:
      Replaced TABLE::timestamp_default_now/on_update_now members with
      TABLE::timestamp_auto_set_type flag which is used everywhere
      for determining if we should auto-set value of TIMESTAMP field 
      during this operation or not. We are also use Field_timestamp::set_time()
      instead of handler::update_timestamp() in handlers.
      
      
      mysql-test/r/type_timestamp.result:
        Added test for TIMESTAMP columns which are able to store NULL values.
      mysql-test/t/type_timestamp.test:
        Added test for TIMESTAMP columns which are able to store NULL values.
      sql/field.cc:
        Added support for TIMESTAMP fields holding NULL values.
        We don't need Field_timestamp::set_timestamp_offsets() anymore.
        Instead we need Field_timestamp::get_auto_set_type() function
        which will convert TIMESTAMP auto-set type stored in Field in 
        unireg_check to value from timestamp_auto_set_type_enum.
        (We can't replace this function with additional Field_timestamp member
        and some code in constructor because then we will have troubles
        with Field::new_field() method).
        We should also set field to not null in Field_timestamp::set_time() now.
      sql/field.h:
        Added support for TIMESTAMP fields holding NULL values.
        We don't need Field_timestamp::set_timestamp_offsets() anymore.
        Instead we need Field_timestamp::get_auto_set_type() function,
        which will convert TIMESTAMP auto-set type stored in Field in 
        unireg_check to value from timestamp_auto_set_type_enum.
        We also have to support NULL values in Field_timestamp::get_timestamp()
        function.
      sql/field_conv.cc:
        Added comment clarifying behavior in case of TIMESTAMP fields which are
        able to store NULL values.
      sql/ha_berkeley.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_heap.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_innodb.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_isam.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_isammrg.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_myisam.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_myisammrg.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_ndbcluster.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/handler.cc:
        handler::update_timestamp() is no longer needed since now we use
        Field_timestamp::set_time() instead.
        (we can't use handler::update_timestamp() anyway since field position
        only is not enough for TIMESTAMP fields which are able to store NULLs)
      sql/handler.h:
        handler::update_timestamp() is no longer needed since now we use
        Field_timestamp::set_time() instead.
      sql/item_timefunc.cc:
        Since now TIMESTAMP fields can hold NULL values we should take this into
        account.
      sql/sql_base.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now. 
        (Here we use Field_timestamp::get_auto_set_type() to setup its value
         before further statement execution).
      sql/sql_insert.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_load.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_parse.cc:
        Added support for TIMESTAMP fields holding NULL values.
        We should distinguish NULL default values and non-specified default
        values for such fields (because latter could mean DEFAULT NOW()
        ON UPDATE NOW() in some cases).
      sql/sql_show.cc:
        Added support for TIMESTAMP fields holding NULL values.
        Unlike all other fields these are NOT NULL by default
        so we have to specify NULL attribute explicitly for them.
      sql/sql_table.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_update.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_yacc.yy:
        Added support for TIMESTAMP fields holding NULL values.
        Unlike all other fields these are NOT NULL by default
        (so we have to set NOT_NULL_FLAG properly for them).
      sql/table.h:
        Added timestamp_auto_set_type enum which values are used for indicating
        during which operations we should automatically set TIMESTAPM field
        value to current timestamp.
        TABLE: Replaced timestamp_default_now/on_update_now members with
        timestamp_auto_set_type flag (Now when TIMESTAMP field are able to 
        store NULL values, single position of field in record is not enough 
        for updating this field anyway).
      c2a25521
  29. 13 Sep, 2004 1 commit
  30. 15 Jul, 2004 1 commit
    • unknown's avatar
      VIEW · dd83b590
      unknown authored
      two TABLE_LIST copy eliminated
      
      
      include/mysqld_error.h:
        errors of view
      libmysqld/Makefile.am:
        new view file
      mysql-test/r/connect.result:
        SHOW TABLE show type of table
      mysql-test/r/ctype_recoding.result:
        SHOW TABLE show type of table
      mysql-test/r/drop.result:
        SHOW TABLE show type of table
      mysql-test/r/grant.result:
        new two privileges (CRETEA|SHOW VIEW)
      mysql-test/r/lowercase_table.result:
        SHOW TABLE show type of table
      mysql-test/r/ps_1general.result:
        SHOW TABLE show type of table
      mysql-test/r/rename.result:
        SHOW TABLE show type of table
      mysql-test/r/rpl000009.result:
        SHOW TABLE show type of table
      mysql-test/r/rpl_error_ignored_table.result:
        SHOW TABLE show type of table
      mysql-test/r/select.result:
        SHOW TABLE show type of table
      mysql-test/r/system_mysql_db.result:
        SHOW TABLE show type of table
        new two privileges (CRETEA|SHOW VIEW)
      mysql-test/t/system_mysql_db_fix.test:
        removing all system tables
      scripts/mysql_fix_privilege_tables.sql:
        new two privileges (CRETEA|SHOW VIEW)
      sql/Makefile.am:
        new VIEW related file
      sql/ha_myisammrg.cc:
        two TABLE_LIST copy eliminated
      sql/item.cc:
        VIEW
      sql/item.h:
        VIEW
      sql/item_subselect.cc:
        VIEW
      sql/item_subselect.h:
        VIEW
      sql/lex.h:
        VIEW
      sql/lock.cc:
        VIEW
      sql/mysql_priv.h:
        VIEW
      sql/mysqld.cc:
        VIEW
        new parameter - sql_updatable_view_key
      sql/opt_sum.cc:
        two TABLE_LIST copy eliminated
      sql/set_var.cc:
        new parameter - sql_updatable_view_key
      sql/share/czech/errmsg.txt:
        errors messages of views
      sql/share/danish/errmsg.txt:
        errors messages of views
      sql/share/dutch/errmsg.txt:
        errors messages of views
      sql/share/english/errmsg.txt:
        errors messages of views
      sql/share/estonian/errmsg.txt:
        errors messages of views
      sql/share/french/errmsg.txt:
        errors messages of views
      sql/share/german/errmsg.txt:
        errors messages of views
      sql/share/greek/errmsg.txt:
        errors messages of views
      sql/share/hungarian/errmsg.txt:
        errors messages of views
      sql/share/italian/errmsg.txt:
        errors messages of views
      sql/share/japanese/errmsg.txt:
        errors messages of views
      sql/share/korean/errmsg.txt:
        errors messages of views
      sql/share/norwegian-ny/errmsg.txt:
        errors messages of views
      sql/share/norwegian/errmsg.txt:
        errors messages of views
      sql/share/polish/errmsg.txt:
        errors messages of views
      sql/share/portuguese/errmsg.txt:
        errors messages of views
      sql/share/romanian/errmsg.txt:
        errors messages of views
      sql/share/russian/errmsg.txt:
        errors messages of views
      sql/share/serbian/errmsg.txt:
        errors messages of views
      sql/share/slovak/errmsg.txt:
        errors messages of views
      sql/share/spanish/errmsg.txt:
        errors messages of views
      sql/share/swedish/errmsg.txt:
        errors messages of views
      sql/share/ukrainian/errmsg.txt:
        errors messages of views
      sql/slave.cc:
        two TABLE_LIST copy eliminated
      sql/sp.cc:
        VIEW
      sql/sql_acl.cc:
        VIEW
      sql/sql_acl.h:
        VIEW
      sql/sql_base.cc:
        VIEW
      sql/sql_cache.cc:
        two TABLE_LIST copy eliminated
      sql/sql_class.h:
        VIEW
      sql/sql_db.cc:
        two TABLE_LIST copy eliminated
      sql/sql_delete.cc:
        VIEW
      sql/sql_derived.cc:
        VIEW
      sql/sql_handler.cc:
        two TABLE_LIST copy eliminated
      sql/sql_help.cc:
        two TABLE_LIST copy eliminated
      sql/sql_insert.cc:
        VIEW
      sql/sql_lex.cc:
        VIEW
      sql/sql_lex.h:
        VIEW
      sql/sql_load.cc:
        VIEW
      sql/sql_olap.cc:
        VIEW
      sql/sql_parse.cc:
        two TABLE_LIST copy eliminated
        VIEW
      sql/sql_prepare.cc:
        VIEW
      sql/sql_rename.cc:
        two TABLE_LIST copy eliminated
      sql/sql_select.cc:
        VIEW
      sql/sql_show.cc:
        VIEW
      sql/sql_table.cc:
        VIEW
      sql/sql_union.cc:
        VIEW
      sql/sql_update.cc:
        VIEW
      sql/sql_yacc.yy:
        VIEW
      sql/table.cc:
        VIEW
      sql/table.h:
        VIEW
      sql/tztime.cc:
        two TABLE_LIST copy eliminated
      sql/unireg.h:
        VIEW
      tests/client_test.c:
        VIEW
      dd83b590
  31. 16 May, 2004 1 commit
    • unknown's avatar
      key_cmp -> key_cmp_if_same · 79ad5506
      unknown authored
      New records_in_range() interface (similar to read_range())
      Macros for faster bitmap handling
      Simplify read_range() code (#WL1786)
      New general key_cmp() function to compare keys
      
      
      
      
      heap/hp_hash.c:
        New records_in_range() interface
      include/heap.h:
        New records_in_range() interface
      include/my_base.h:
        Moved 'key_range' here so that all table handlers can use it
      include/my_bitmap.h:
        Make some bitmap functions inline for faster usage in one thread
      include/myisam.h:
        New records_in_range() interface
      include/myisammrg.h:
        New records_in_range() interface
      myisam/mi_range.c:
        New records_in_range() interface
      myisam/mi_test2.c:
        New records_in_range() interface
      myisam/rt_test.c:
        New records_in_range() interface
        Indentation fixes
      myisam/sp_test.c:
        New records_in_range() interface
        Indentation fixes
      myisammrg/myrg_range.c:
        New records_in_range() interface
      mysys/my_bitmap.c:
        Make some bitmap functions inline for faster usage in one thread
      sql/examples/ha_example.cc:
        New...
      79ad5506
  32. 06 Apr, 2004 1 commit
    • unknown's avatar
      ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(),... · 6ca2c764
      unknown authored
      ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      Field::val_str simplification, comment
      
      
      include/my_base.h:
        typos fixed
      mysql-test/r/myisam.result:
        alter table enable/disable keys
      mysql-test/t/help.test:
        cleanup
      mysql-test/t/myisam.test:
        alter table enable/disable keys
      sql/field.cc:
        Field::val_str() simplification
      sql/field.h:
        Field::val_str() simplification and comment
      sql/field_conv.cc:
        Field::val_str() simplification
      sql/ha_berkeley.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_berkeley.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_heap.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_heap.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_innodb.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_innodb.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isam.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isam.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isammrg.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isammrg.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_myisam.cc:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/ha_myisam.h:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/ha_myisammrg.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_myisammrg.h:
        ::reset(), HA_FAST_KEY_READ
      sql/handler.h:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/item.cc:
        Field::val_str() simplification
      sql/item_sum.cc:
        Field::val_str() simplification
      sql/key.cc:
        Field::val_str() simplification
      sql/opt_range.cc:
        Field::val_str() simplification
      sql/protocol.cc:
        Field::val_str() simplification
      sql/records.cc:
        HA_FAST_KEY_READ
      sql/sql_acl.cc:
        Field::val_str() simplification
      sql/sql_base.cc:
        ::reset
      sql/sql_insert.cc:
        ::reset(), start_bulk_insert(), end_bulk_insert()
      sql/sql_load.cc:
        start_bulk_insert(), end_bulk_insert()
      sql/sql_show.cc:
        Field::val_str() simplification
      sql/sql_table.cc:
        disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/table.cc:
        Field::val_str() simplification
      6ca2c764
  33. 02 Apr, 2004 1 commit
    • unknown's avatar
      WL#1266 "Separate auto-set logic from TIMESTAMP type." · 4ada2ea9
      unknown authored
      Final version of patch.
      
      Adds support for specifying of DEFAULT NOW() and/or ON UPDATE NOW()
      clauses for TIMESTAMP field definition.
      Current implementation allows only one such field per table and
      uses several unireg types for storing info about this properties of
      field. It should be replaced with better implementation when new
      .frm format is introduced.
      
      
      include/mysqld_error.h:
        Added error codes for case when we have more than one column with NOW()
        in DEFAULT or ON UPDATE clauses and for case when we are using ON UPDATE
        clause with wrong type.
      mysql-test/r/create.result:
        Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
        non-TIMESTAMP fields.
      mysql-test/r/show_check.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW CREATE TABLE.
      mysql-test/r/system_mysql_db.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW CREATE TABLE.
      mysql-test/r/type_ranges.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW COLUMNS.
      mysql-test/r/type_timestamp.result:
        Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
        fields definitions.
      mysql-test/t/create.test:
        Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
        non-TIMESTAMP fields.
      mysql-test/t/type_timestamp.test:
        Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
        fields definitions.
      sql/field.cc:
        Added support for various combinations of DEFAULT and ON UPDATE clauses
        for TIMESTAMP field. 
        
        Setting TABLE::timestamp* members for TIMESTAMP fields with auto-set 
        option taking into account their unireg type (which corresponds to 
        various DEFAULT/ON UPDATE values combinations). Replaced 
        TABLE::time_stamp with TABLE::timestamp_default_now/on_update_now
        couple moved their setup to separate method set_timestamp_offsets(),
        which now is called from  open_table instead of Field_timestamp cons.
      sql/field.h:
        Added more unireg types for handling of DEFAULT NOW() and ON UPDATE
        NOW() for TIMESTAMP fields.
        Fixed value corresponding to DEFAULT item for TIMESTAMP field.
      sql/ha_berkeley.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_heap.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_innodb.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_isam.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_isammrg.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_myisam.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_myisammrg.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/item_func.h:
        We need to distinguish NOW() from other function for using in 
        DEFAULT and in ON UPDATE clauses.
      sql/item_timefunc.h:
        We need to distinguish NOW() from other function for using in 
        DEFAULT and in ON UPDATE clauses.
      sql/mysql_priv.h:
        Added parameter for ON UPDATE value to add_field_to_list() function.
      sql/share/czech/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/danish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/dutch/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/english/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/estonian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/french/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/german/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/greek/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/hungarian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/italian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/japanese/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/korean/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/norwegian-ny/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/norwegian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/polish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/portuguese/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/romanian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/russian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/serbian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/slovak/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/spanish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/swedish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/ukrainian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/sql_base.cc:
        Added setup of TABLE::timestamp_default_now/on_update_now pair
        for each statement to open_table().
      sql/sql_insert.cc:
        Using TABLE::timestamp_default_now/on_update_now pair instead of
        old TABLE::time_stamp. Added check for case then REPLACE could not
        be converted to UPDATE because of different DEFAULT/ON UPDATE values
        for TIMESTAMP field.
      sql/sql_lex.h:
        Added member for value used in ON UPDATE clause to st_lex.
      sql/sql_load.cc:
        Using TABLE::timestamp_default_now/on_update_now pair instead of
        old TABLE::time_stamp. We don't need to restore these members
        since they are set up for each statement in open_table().
      sql/sql_parse.cc:
        Added handling of DEFAULT NOW() and ON UPDATE NOW() clauses for
        TIMESTAMP fields to add_field_to_list() function.
      sql/sql_show.cc:
        Added support for DEFAULT CURRENT_TIMESTAMP (aka NOW() ) and 
        ON UPDATE CURRENT_TIMESTAMP to SHOW CREATE TABLE and SHOW COLUMNS.
      sql/sql_table.cc:
        mysql_create_table() function - added check for number of TIMESTAMP 
          fields with auto-set values and replacing of old style TIMESTAMPs
          with their newer analogs.
        mysql_alter_table(): Using TABLE::timestamp_default_now/on_update_now 
          pair instead of old TABLE::time_stamp. We don't need to restore these
          members since they are set up for each statement in open_table().
      sql/sql_update.cc:
        Left only setting of TABLE::timestamp_default_now/on_update_now
        to 0 since they should be already set up in open_table().
      sql/sql_yacc.yy:
        Added support for DEFAULT NOW() and ON UPDATE NOW() in field
        definitions.
      sql/table.h:
        Replaced TABLE::time_stamp withTABLE::timestamp_default_now/timestamp_on_update_now
        pair which allows to distinguish TIMESTAMP's with various DEFAULT/ON UPDATE
        clauses and optimize checks if TIMESTAMP field should be set to NOW()
        in handlers.
      sql/unireg.cc:
        Now we are marking only TIMESTAMP fields with NOW() as default or
        as on update value as special field for unireg.
      4ada2ea9
  34. 30 Dec, 2003 1 commit
    • unknown's avatar
      Some small portability fixes. · 249910ab
      unknown authored
      Added support for lower_case_table_names=2, which is to be used on case insensitive file systems.
      This tells MySQL to preserve the used case of filenames and database names to make it esier to move files between cases sensitive can case insensitive file systems (like Windows and Linux)
      
      
      client/mysqltest.c:
        Indentation cleanup
      include/myisam.h:
        Made some pointers 'const'
      mysql-test/mysql-test-run.sh:
        Portability fix for OSX
      sql/filesort.cc:
        Safety fix (not needed for current code but needed for 5.0)
      sql/ha_berkeley.cc:
        More debugging
        Changed 'create' to return error number
      sql/ha_berkeley.h:
        Added HA_FILE_BASED
      sql/ha_innodb.cc:
        Added missing DBUG_RETURN
      sql/ha_isam.cc:
        Changed create to return error number
      sql/ha_isam.h:
        Added HA_FILE_BASED
      sql/ha_isammrg.h:
        Added HA_FILE_BASED
      sql/ha_myisam.cc:
        Changed create to return error number
      sql/ha_myisam.h:
        Added HA_FILE_BASED
      sql/ha_myisammrg.cc:
        Changed create to return error number
      sql/ha_myisammrg.h:
        Added HA_FILE_BASED
      sql/handler.cc:
        Ensure that table engines gets table names in lower case even if we are using lower_case_table_names
        Removed test for DB_TYPE_INNODB by ensuring that create method returns error number.
      sql/handler.h:
        Added HA_FILE_BASED
        Made some struct entries 'const'
        Added 'alias' for create to be able to create tables in mixed case on case insensitive file systems
      sql/mysql_priv.h:
        Support for lower_case_table_names=2
      sql/mysqld.cc:
        Support for lower_case_table_names=2
        Moved test of case insenstive file system after all mutex are created
      sql/set_var.cc:
        Support for lower_case_table_names=2
      sql/sql_class.h:
        Indentation change
      sql/sql_db.cc:
        Support for lower_case_table_names=2
      sql/sql_insert.cc:
        Indentation change
      sql/sql_parse.cc:
        Support for lower_case_table_names=2
      sql/sql_rename.cc:
        Support for lower_case_table_names=2
        Added missing 'unpack_filename' to RENAME which may fix a bug in RENAME TABLE on windows
      sql/sql_show.cc:
        If lower_case_table_name=2 is given, show original case in SHOW CREATE TABLE
      sql/sql_table.cc:
        Support for lower_case_table_names=2 for DROP TABLE, RENAME TABLE, ALTER TABLE and CREATE TABLE
      249910ab
  35. 20 Nov, 2003 1 commit
    • unknown's avatar
      Merge key cache structures to one · 4286e203
      unknown authored
      Fixed compiler warnings (IRIX C compiler and VC++)
      
      
      VC++Files/client/mysqlclient.dsp:
        Add missing file to project
      VC++Files/libmysql/libmysql.dsp:
        Add missing file to project
      VC++Files/myisam/myisam.dsp:
        Add missing file to project
      VC++Files/mysys/mysys.dsp:
        Add missing file to project
      heap/hp_test1.c:
        Fixed wrong call to heap_rkey()
      heap/hp_test2.c:
        Fixed wrong call to heap_rkey()
      include/hash.h:
        Move not used (internal) struct to hash.c
      include/my_pthread.h:
        Made some structs 'const char*' to avoid warnings
      include/my_sys.h:
        Moved key cache structs and functions to keycache.h
      include/myisam.h:
        Merge key cache structures to one
      include/mysql.h:
        Remove STDCALL from internal functions
      include/sql_common.h:
        Remove STDCALL from internal functions
      include/violite.h:
        Fixed compiler warning
      isam/_locking.c:
        Merge key cache structures to one
      isam/_page.c:
        Merge key cache structures to one
      isam/close.c:
        Merge key cache structures to one
      isam/extra.c:
        Merge key cache structures to one
      isam/isamchk.c:
        Merge key cache structures to one
      isam/isamdef.h:
        Merge key cache structures to one
      isam/isamlog.c:
        Merge key cache structures to one
      isam/panic.c:
        Merge key cache structures to one
      isam/test2.c:
        Merge key cache structures to one
      isam/test3.c:
        Merge key cache structures to one
      libmysql/client_settings.h:
        Remove STDCALL from internal functions
      libmysql/libmysql.c:
        Remove STDCALL from internal functions
      myisam/ft_boolean_search.c:
        Fixed compiler warning
      myisam/ft_dump.c:
        Fixed compiler warnings (%qx is not portable)
      myisam/ft_update.c:
        Fixed compiler warnings
      myisam/mi_check.c:
        Merge key cache structures to one
      myisam/mi_close.c:
        Merge key cache structures to one
      myisam/mi_delete_all.c:
        Merge key cache structures to one
      myisam/mi_extra.c:
        Merge key cache structures to one
      myisam/mi_keycache.c:
        Merge key cache structures to one
      myisam/mi_locking.c:
        Merge key cache structures to one
      myisam/mi_page.c:
        Merge key cache structures to one
      myisam/mi_panic.c:
        Merge key cache structures to one
      myisam/mi_preload.c:
        Merge key cache structures to one
      myisam/mi_test1.c:
        Merge key cache structures to one
      myisam/mi_test2.c:
        Merge key cache structures to one
      myisam/mi_test3.c:
        Merge key cache structures to one
      myisam/myisamchk.c:
        Merge key cache structures to one
      myisam/myisamdef.h:
        Merge key cache structures to one
      myisam/myisamlog.c:
        Merge key cache structures to one
        Removed not used option
      myisam/sort.c:
        Fixed compiler warnings
      myisam/sp_test.c:
        Fixed compiler warnings
      mysql-test/r/case.result:
        Updated results after fix of correct NULL detection in WHEN
      mysql-test/r/date_formats.result:
        Updated results after fixing date handling
      mysql-test/r/symlink.result:
        Updated results after adding DEFAULT CHARSET
      mysql-test/t/case.test:
        New test
      mysql-test/t/symlink.test:
        Updated error numbers
      mysys/hash.c:
        Made HASH_LINK struct local
      mysys/mf_keycache.c:
        Merge key cache structures to one
        Fixed key_cache_read() and key_cache_write() to be resize-safe.
      mysys/mf_keycaches.c:
        Merge key cache structures to one
      mysys/thr_mutex.c:
        Added test if mutex is initalized
      sql-common/client.c:
        Remove STDCALL from internal functions
      sql/derror.cc:
        Added comment
      sql/field.cc:
        Removed not used variables
      sql/ha_innodb.cc:
        Fixed compiler warnings (removed not used variables)
      sql/ha_myisam.cc:
        Merge key cache structures to one
      sql/ha_myisammrg.cc:
        Removed not used variables
      sql/handler.cc:
        Merge key cache structures to one
      sql/handler.h:
        Merge key cache structures to one
      sql/item.cc:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Remove not used variables
      sql/item_func.cc:
        Remove not used variables
      sql/item_strfunc.cc:
        Removed not used variables
      sql/item_sum.cc:
        Removed not used variables
        Moved setting of item_thd to fix_fields()
      sql/item_timefunc.cc:
        Removed not used variables
      sql/mysql_priv.h:
        Merge key cache structures to one
      sql/mysqld.cc:
        Merge key cache structures to one
        init_thread_environment() is not called before mysql_init_variables(). This fixes a case where a mutex was not initialized before it was used
      sql/opt_sum.cc:
        Remove not used variables
      sql/protocol.cc:
        Don't send errors after ok has been sent
      sql/protocol_cursor.cc:
        Remove not used variable
        Simple optimization
      sql/repl_failsafe.cc:
        Remove not used variables
      sql/set_var.cc:
        Merge key cache structures to one
      sql/set_var.h:
        Merge key cache structures to one
      sql/sql_acl.cc:
        Remove not used variables
      sql/sql_base.cc:
        Remove not used function
      sql/sql_db.cc:
        Remove not used variables
      sql/sql_handler.cc:
        Remove not used variables
      sql/sql_insert.cc:
        More DBUG statements
        Simple code cleanup
      sql/sql_lex.cc:
        Remove not used variables
      sql/sql_parse.cc:
        Remove not used variables
      sql/sql_prepare.cc:
        Remove not used variables
      sql/sql_repl.cc:
        Remove not used variables
      sql/sql_select.cc:
        Remove not used variables
      sql/sql_show.cc:
        Remove not used variables
      sql/sql_table.cc:
        Merge key cache structures to one
        Removed not used variables
      sql/sql_test.cc:
        Merge key cache structures to one
      sql/strfunc.cc:
        Fixed that find_type() returns correct value for partly matched words.
        (This fixed the error found by date_formats.test)
      sql/time.cc:
        Remove not used variables
      strings/my_strtoll10.c:
        Fixed compiler warnings
      4286e203
  36. 18 Nov, 2003 1 commit
    • unknown's avatar
      CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS · 1b739e39
      unknown authored
      New multi-key-cache handling. This was needed becasue the old one didn't work reliable with MERGE tables.
      ALTER TABLE table_name ... CHARACTER SET  ... now changes all char/varchar/text columns to the given character set
      (One must use ALTER TABLE ... DEFAULT CHARACTER SET ... to change the default character set)
      Fixed that have_compress is detected properly (fixes problems with func_compress.test on platforms without zlib)
      New syntax for CACHE INDEX ('keys' is optional if no index name is given and one mentions the key cache name only ones)
      Removed compiler warnings
      Added mysql_set_server_option() to allow clients like PHP to easaily set/reset the multi-statement flag.
      
      
      BUILD/compile-pentium-valgrind-max:
        Add test of isam
      client/mysql.cc:
        CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
      include/my_base.h:
        Remove HA_EXTRA_SET_KEY_CACHE
      include/my_no_pthread.h:
        Add defines to ignore rw-locks when running without threads
      include/my_sys.h:
        Added function for multi-key-caches
      include/myisam.h:
        Added function to handle multi-key-caches
      include/mysql.h:
        Added mysql_set_server_option
      include/mysql_com.h:
        CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
        Added enum_mysql_set_option
      include/mysqld_error.h:
        Added error message for unknown key cache
      innobase/srv/srv0start.c:
        Removed warning that is confused for MySQL users
      libmysql/libmysql.c:
        Added mysql_set_server_option()
      libmysql/libmysql.def:
        Added mysql_set_server_option()
      myisam/ft_nlq_search.c:
        Removed compiler warning
      myisam/ft_static.c:
        Removed compiler warning and fixed wrong return value
      myisam/mi_check.c:
        Clean up multi-key-cache usage
      myisam/mi_checksum.c:
        Removed not used variable
      myisam/mi_close.c:
        keycache -> key_cache
      myisam/mi_delete_all.c:
        keycache -> key_cache
      myisam/mi_extra.c:
        keycache -> key_cache
        Removed HA_EXTRA_SET_KEY_CACHE
      myisam/mi_keycache.c:
        Changed logic so that it's MyISAM that is responsible for assign tables to different key caches instead of the upper level
      myisam/mi_locking.c:
        Don't change key cache on unlock (must be done before)
      myisam/mi_open.c:
        Fetch key cache to use from multi_key_cache_search()
      myisam/mi_page.c:
        keycache -> key_cache
      myisam/mi_panic.c:
        keycache -> key_cache
      myisam/mi_preload.c:
        keycache -> key_cache
      myisam/mi_test1.c:
        Use KEY_CACHE_BLOCK_SIZE
      myisam/mi_test2.c:
        Always test resize_key_cache()
      myisam/mi_test3.c:
        Use KEY_CACHE_BLOCK_SIZE instead of 512
      myisam/myisamchk.c:
        update for multiple key caches
      myisam/myisamdef.h:
        Remove reg_keycache
        Add unique_name_length for storing length of unique_file_name
      myisam/myisamlog.c:
        Change how end_key_cache() is called
      mysql-test/mysql-test-run.sh:
        Fixed web link
        Added name of failed test to abort row.
      mysql-test/r/alter_table.result:
        Testing of ALTER TABLE ... [DEFAULT] CHARACTER SET
      mysql-test/r/case.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/cast.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/create.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_collate.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_latin1_de.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_many.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_mb.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_recoding.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/ctype_ucs.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/derived.result:
        Use STRAIGHT_JOIN to make join order predictable
      mysql-test/r/fulltext.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/func_str.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/func_system.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/gis-rtree.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/innodb.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/key_cache.result:
        Update test for new key cache syntax.
        Added more tests
      mysql-test/r/merge.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/preload.result:
        New syntax
      mysql-test/r/show_check.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/sql_mode.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/subselect.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/type_blob.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/type_enum.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/type_nchar.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/type_set.result:
        Update result for DEFAULT CHARSET...
      mysql-test/r/union.result:
        Use STRAIGHT_JOIN to make join order predictable
      mysql-test/t/alter_table.test:
        Testing of ALTER TABLE ... [DEFAULT] CHARACTER SET
      mysql-test/t/ctype_many.test:
        Update result for DEFAULT CHARSET...
      mysql-test/t/derived.test:
        Use STRAIGHT_JOIN to make join order predictable
      mysql-test/t/isam.test:
        Use disable warnings for test loop
      mysql-test/t/join.test:
        Update test now when we only support 61 tables in join
      mysql-test/t/key_cache.test:
        Update test for new key cache syntax.
        Added more tests
      mysql-test/t/preload.test:
        Update for new syntax
      mysql-test/t/union.test:
        Use STRAIGHT_JOIN to make join order predictable
      mysys/Makefile.am:
        Added mf_keycaches.c
      mysys/hash.c:
        TRUE -> 1
      mysys/mf_keycache.c:
        Removed compiler warnings
        Striped end space
        Fixed indentation and improved function comments
        TRUE -> 1
        Changed parameters to end_key_cache() to make it easer to use
        Fixed bug when using key blocks size > 1024 bytes (First part of index file could be overwritten with wrong data)
        Split function flush_key_blocks into two functions to not get mutex used twice when called from flush_all_key_blocks()
      mysys/my_bitmap.c:
        More debugging
        Safe bitmap_free()
        Fixed indentation
      mysys/my_getopt.c:
        Ensure that we initialize option->value, option->max_value and value from GET_ASK_ADDR
      mysys/my_thr_init.c:
        Remove not used mutex THR_LOCK_keycache
      mysys/typelib.c:
        Fixed function comments
      sql-common/client.c:
        CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
        Fixed the multi_result flag is set also on SELECT;s
      sql/ha_myisam.cc:
        Fixed multiple key_cache handling
        (Now done on MyISAM level)
      sql/ha_myisammrg.cc:
        Fixed multiple key_cache handling
        (Now done on MyISAM level)
      sql/handler.cc:
        New multi key cache handling
      sql/handler.h:
        New multi key cache handling
        Added support for default character set
      sql/item.h:
        Added function cleanup() (Needed for prepared statements / cursors)
      sql/item_cmpfunc.h:
        Added cleanup function
      sql/item_func.cc:
        Indentation cleanup
      sql/mysql_priv.h:
        New multi-key-cache functions
        Removed LOCK_assign
      sql/mysqld.cc:
        New multi-key-cache handling
        Fixed that variable have_compress is set correctly
      sql/protocol.cc:
        SELECT didn't work reliable in multi-statements
      sql/set_var.cc:
        Support for new key cache variables
      sql/set_var.h:
        Support for new key cache variables
      sql/share/czech/errmsg.txt:
        New error messages
      sql/share/danish/errmsg.txt:
        New error messages
      sql/share/dutch/errmsg.txt:
        New error messages
      sql/share/english/errmsg.txt:
        New error messages
      sql/share/estonian/errmsg.txt:
        New error messages
      sql/share/french/errmsg.txt:
        New error messages
      sql/share/german/errmsg.txt:
        New error messages
      sql/share/greek/errmsg.txt:
        New error messages
      sql/share/hungarian/errmsg.txt:
        New error messages
      sql/share/italian/errmsg.txt:
        New error messages
      sql/share/japanese/errmsg.txt:
        New error messages
      sql/share/korean/errmsg.txt:
        New error messages
      sql/share/norwegian-ny/errmsg.txt:
        New error messages
      sql/share/norwegian/errmsg.txt:
        New error messages
      sql/share/polish/errmsg.txt:
        New error messages
      sql/share/portuguese/errmsg.txt:
        New error messages
      sql/share/romanian/errmsg.txt:
        New error messages
      sql/share/russian/errmsg.txt:
        New error messages
      sql/share/serbian/errmsg.txt:
        New error messages
      sql/share/slovak/errmsg.txt:
        New error messages
      sql/share/spanish/errmsg.txt:
        New error messages
      sql/share/swedish/errmsg.txt:
        New error messages
      sql/share/ukrainian/errmsg.txt:
        New error messages
      sql/sql_base.cc:
        Removed all key_cache handling (this is now done on MyISAM level)
        Change table_charset -> default_table_charset
      sql/sql_db.cc:
        table_charset -> default_table_charset
      sql/sql_delete.cc:
        table_charset -> default_table_charset
      sql/sql_lex.cc:
        CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
      sql/sql_lex.h:
        New option to store a name and length
      sql/sql_parse.cc:
        Support for mysql_set_server_option()
        Reset "default" keycache status variables in 'FLUSH STATUS' (Need to be improved later)
      sql/sql_show.cc:
        Add DEFAULT before CHARSET (for table character sets)
        Fetch key cache variables from 'sql_key_cache'
      sql/sql_table.cc:
        table_charset -> default_table_charset
        New multi-key-cache handling
      sql/sql_test.cc:
        Write information from all key caches
      sql/sql_yacc.yy:
        Changed syntax for CACHE INDEX ...
        Force user to use DEFAULT before database/table level character sets
      sql/structs.h:
        Added SHOW_KEY_CACHE_LONG (to get values from sql_key_cache)
      sql/table.cc:
        table_charset -> default_table_charset
      sql/table.h:
        New key cache handling (this is now done in mysys/mf_keycaches.c)
      sql/unireg.h:
        A
      1b739e39
  37. 11 Oct, 2003 1 commit
    • unknown's avatar
      key_map with more that 64 bits width · 373f3516
      unknown authored
      sql/field.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/ha_berkeley.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/ha_berkeley.h:
        typedef Bitmap<64> key_map
        all tests pass
      sql/item.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/item_func.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/opt_sum.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/sql_delete.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/sql_show.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/sql_test.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/sql_update.cc:
        typedef Bitmap<64> key_map
        all tests pass
      include/my_bitmap.h:
        more bitmap methods
      mysys/my_bitmap.c:
        more bitmap methods
      sql/field.h:
        init bitmaps
      sql/ha_innodb.h:
        optimization
      sql/ha_isam.cc:
        optimization
      sql/ha_myisam.cc:
        optimization
      sql/ha_myisammrg.cc:
        optimization
      sql/handler.h:
        optimization
      sql/mysqld.cc:
        bitmap_init() interface changed
      sql/opt_range.cc:
        optimization
      sql/opt_range.h:
        optimization
      sql/slave.cc:
        bitmap_init() interface changed
      sql/sql_base.cc:
        optimization
      sql/sql_select.cc:
        init bitmaps
        using const for bitmaps whenever possible
      sql/sql_select.h:
        cleanup
      sql/table.cc:
        always init bitmaps
      BitKeeper/etc/ignore:
        Added sql/udf_example.so to the ignore list
      sql/mysql_priv.h:
        use Bitmap over ulonglong by default
      373f3516
  38. 02 Aug, 2003 1 commit
    • unknown's avatar
      Many files: · 6ef96ae3
      unknown authored
        Added key cache assignment
      mi_locking.c:
        Added key cache assignment: correction
      my_sys.h:
        Added key cache variable structure
      
      
      include/my_sys.h:
        Added key cache variable structure
      include/my_base.h:
        Added key cache assignment
      include/myisam.h:
        Added key cache assignment
      include/my_global.h:
        Added key cache assignment
      isam/_page.c:
        Added key cache assignment
      isam/close.c:
        Added key cache assignment
      isam/isamchk.c:
        Added key cache assignment
      isam/isamlog.c:
        Added key cache assignment
      isam/panic.c:
        Added key cache assignment
      isam/_locking.c:
        Added key cache assignment
      isam/test2.c:
        Added key cache assignment
      isam/test3.c:
        Added key cache assignment
      myisam/myisamdef.h:
        Added key cache assignment
      myisam/mi_check.c:
        Added key cache assignment
      myisam/mi_close.c:
        Added key cache assignment
      myisam/mi_extra.c:
        Added key cache assignment
      myisam/mi_page.c:
        Added key cache assignment
      myisam/mi_panic.c:
        Added key cache assignment
      myisam/mi_preload.c:
        Added key cache assignment
      myisam/mi_test1.c:
        Added key cache assignment
      myisam/mi_test2.c:
        Added key cache assignment
      myisam/mi_test3.c:
        Added key cache assignment
      myisam/myisamchk.c:
        Added key cache assignment
      myisam/myisamlog.c:
        Added key cache assignment
      myisam/mi_delete_all.c:
        Added key cache assignment
      myisam/mi_locking.c:
        Added key cache assignment: correction
      myisam/mi_keycache.c:
        Added key cache assignment
      sql/handler.h:
        Added key cache assignment
      sql/mysql_priv.h:
        Added key cache assignment
      sql/set_var.h:
        Added key cache assignment
      sql/table.h:
        Added key cache assignment
      sql/ha_myisam.cc:
        Added key cache assignment
      sql/ha_myisammrg.cc:
        Added key cache assignment
      sql/handler.cc:
        Added key cache assignment
      sql/mysqld.cc:
        Added key cache assignment
      sql/set_var.cc:
        Added key cache assignment
      sql/sql_base.cc:
        Added key cache assignment
      sql/sql_table.cc:
        Added key cache assignment
      sql/sql_test.cc:
        Added key cache assignment
      sql/sql_yacc.yy:
        Added key cache assignment
      mysys/mf_keycache.c:
        Added key cache assignment
      mysql-test/t/key_cache.test:
        Added key cache assignment
      mysql-test/r/key_cache.result:
        Added key cache assignment
      6ef96ae3
  39. 27 Jun, 2003 1 commit
    • unknown's avatar
      Allow one to use MERGE tables with tables from different databases · 351120e3
      unknown authored
      Added command 'replace_column' to mysqltest
      
      
      client/mysqltest.c:
        Added user command replace_column
      mysql-test/r/merge.result:
        Update of tests
      mysql-test/t/innodb.test:
        User replace_column to make tests repeatable
      mysql-test/t/merge.test:
        New tests for testing MERGE tables with multiple databases
      scripts/mysql_create_system_tables.sh:
        Fixed syntax error
      sql/ha_myisammrg.cc:
        Allow one to use MERGE tables with tables from different databases
      sql/mysql_priv.h:
        Added function
      sql/sql_parse.cc:
        Allow one to use MERGE tables with tables from different databases
      sql/sql_show.cc:
        Extended append_identifier()
      351120e3