summaryrefslogtreecommitdiff
path: root/sql/sql_cache.h
diff options
context:
space:
mode:
authorunknown <tomas@poseidon.ndb.mysql.com>2004-11-24 12:04:17 +0000
committerunknown <tomas@poseidon.ndb.mysql.com>2004-11-24 12:04:17 +0000
commitb63c126c309a1b3af3fb45cdc21fa0d2f4b36e63 (patch)
treeb2c3f6f43c14fb297fe37d9f4832b72720e1170b /sql/sql_cache.h
parent3f0dfcff8e642104e480c8020ea2bbea50fd3b07 (diff)
parent35502d45e0d95428524cc8d65bd029bd4c56c5e6 (diff)
downloadmariadb-git-b63c126c309a1b3af3fb45cdc21fa0d2f4b36e63.tar.gz
Merge
sql/ha_ndbcluster.h: Auto merged sql/sql_cache.cc: Auto merged sql/sql_cache.h: Auto merged sql/ha_ndbcluster.cc: SCCS merged
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 b8cbc7953b8..9ab9b7cc549 100644
--- a/sql/sql_cache.h
+++ b/sql/sql_cache.h
@@ -145,6 +145,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; }
@@ -153,6 +157,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)+
@@ -281,7 +289,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);