summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2002-12-11 19:53:57 +0200
committerunknown <bell@sanja.is.com.ua>2002-12-11 19:53:57 +0200
commit826c4ccba5d8ac5fe12571c5cb9a453ba6d2360c (patch)
treef846d1031c9cdf9f90ddacdc9d9dd9a25b14b8f7 /sql/handler.h
parentba642eb8d8cfba8cfdcab1bdb684b12c991aefcd (diff)
parente292bae2fa15d82cc38d2b80c0b78380be8b19ba (diff)
downloadmariadb-git-826c4ccba5d8ac5fe12571c5cb9a453ba6d2360c.tar.gz
merging
BitKeeper/deleted/.del-bdb_cache.result: Delete: mysql-test/r/bdb_cache.result BitKeeper/deleted/.del-bdb_cache-master.opt: Delete: mysql-test/t/bdb_cache-master.opt BitKeeper/deleted/.del-bdb_cache.test: Delete: mysql-test/t/bdb_cache.test sql/ha_berkeley.h: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_innodb.h: Auto merged sql/handler.h: Auto merged sql/sql_cache.h: Auto merged
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/sql/handler.h b/sql/handler.h
index 6cbd83af282..3aaa1c6c1e1 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -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,
@@ -342,6 +347,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 */