1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

new innodb query cache behaviour (recommit because of problem with 4.1 repository pushing)

fixed bug in quqry cache dbd transaction processing


mysql-test/r/innodb_cache.result:
  new innodb query cache behaviour
sql/ha_berkeley.h:
  new innodb query cache behaviour
sql/ha_innodb.cc:
  new innodb query cache behaviour
sql/ha_innodb.h:
  new innodb query cache behaviour
sql/handler.cc:
  new innodb query cache behaviour
  fixed bug in transaction support of bdb
sql/handler.h:
  new innodb query cache behaviour
sql/sql_cache.cc:
  new innodb query cache behaviour
sql/sql_cache.h:
  new innodb query cache behaviour
This commit is contained in:
unknown
2002-11-03 10:15:14 +02:00
parent 4358ac0c9f
commit c987bc2a5e
11 changed files with 237 additions and 27 deletions

View File

@ -116,6 +116,11 @@
#define HA_OPTION_NO_DELAY_KEY_WRITE (1L << 18)
#define HA_MAX_REC_LENGTH 65535
/* Table caching type */
#define HA_CACHE_TBL_NONTRANSACT 0
#define HA_CACHE_TBL_ASKTRANSACT 1
#define HA_CACHE_TBL_TRANSACT 2
enum db_type { DB_TYPE_UNKNOWN=0,DB_TYPE_DIAB_ISAM=1,
DB_TYPE_HASH,DB_TYPE_MISAM,DB_TYPE_PISAM,
DB_TYPE_RMS_ISAM, DB_TYPE_HEAP, DB_TYPE_ISAM,
@ -343,6 +348,16 @@ public:
virtual THR_LOCK_DATA **store_lock(THD *thd,
THR_LOCK_DATA **to,
enum thr_lock_type lock_type)=0;
/* Type of table for caching query */
virtual uint8 table_cache_type() { return HA_CACHE_TBL_NONTRANSACT; }
/*
Is query with this cable cachable (have sense only for ASKTRANSACT
tables)
*/
static bool caching_allowed(THD* thd, char* table_key,
uint key_length, uint8 cahe_type);
};
/* Some extern variables used with handlers */