summaryrefslogtreecommitdiff
path: root/sql/sql_cache.h
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.homeip.net>2005-02-03 09:33:48 +0100
committerunknown <msvensson@neptunus.homeip.net>2005-02-03 09:33:48 +0100
commit2b0a3dbe9e935762db81f9d08721417584197ff4 (patch)
tree124933fc3f5e4d884003ee7d669c299d2fef2fb1 /sql/sql_cache.h
parentf32743b7046eb04849aa6ca1cda6d40eef54ddd1 (diff)
parent38e395aa325eb418cf92a6ce62646959ee2ed477 (diff)
downloadmariadb-git-2b0a3dbe9e935762db81f9d08721417584197ff4.tar.gz
Merged "query cache for ndb" to 5.0
BitKeeper/etc/logging_ok: auto-union sql/ha_innodb.cc: Auto merged sql/ha_ndbcluster.h: Auto merged sql/handler.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_cache.h: Auto merged sql/sql_class.h: Auto merged sql/ha_innodb.h: Hand merged sql/ha_ndbcluster.cc: Merge with gathering of stats sql/sql_cache.cc: Use new table def cache sql/table.h: table.h had been cleaned up
Diffstat (limited to 'sql/sql_cache.h')
-rw-r--r--sql/sql_cache.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/sql/sql_cache.h b/sql/sql_cache.h
index 93d89aeae4f..e7116c7718a 100644
--- a/sql/sql_cache.h
+++ b/sql/sql_cache.h
@@ -146,6 +146,10 @@ struct Query_cache_table
char *tbl;
uint32 key_len;
uint8 table_type;
+ /* unique for every engine reference */
+ qc_engine_callback callback_func;
+ /* data need by some engines */
+ ulonglong engine_data_buff;
inline char *db() { return (char *) data(); }
inline char *table() { return tbl; }
@@ -154,6 +158,10 @@ struct Query_cache_table
inline void key_length(uint32 len) { key_len= len; }
inline uint8 type() { return table_type; }
inline void type(uint8 t) { table_type= t; }
+ inline qc_engine_callback callback() { return callback_func; }
+ inline void callback(qc_engine_callback fn){ callback_func= fn; }
+ inline ulonglong engine_data() { return engine_data_buff; }
+ inline void engine_data(ulonglong data) { engine_data_buff= data; }
inline gptr data()
{
return (gptr)(((byte*)this)+
@@ -282,7 +290,9 @@ protected:
TABLE_COUNTER_TYPE tables);
my_bool insert_table(uint key_len, char *key,
Query_cache_block_table *node,
- uint32 db_length, uint8 cache_type);
+ uint32 db_length, uint8 cache_type,
+ qc_engine_callback callback,
+ ulonglong engine_data);
void unlink_table(Query_cache_block_table *node);
Query_cache_block *get_free_block (ulong len, my_bool not_less,
ulong min);