| 
Public Member Functions | 
|  | Query_cache (ulong query_cache_limit=ULONG_MAX, ulong min_allocation_unit=QUERY_CACHE_MIN_ALLOCATION_UNIT, ulong min_result_data_size=QUERY_CACHE_MIN_RESULT_DATA_SIZE, uint def_query_hash_size=QUERY_CACHE_DEF_QUERY_HASH_SIZE, uint def_table_hash_size=QUERY_CACHE_DEF_TABLE_HASH_SIZE) | 
| bool | is_disabled (void) | 
| void | init () | 
| ulong | resize (ulong query_cache_size) | 
| void | result_size_limit (ulong limit) | 
| ulong | set_min_res_unit (ulong size) | 
| void | store_query (THD *thd, TABLE_LIST *used_tables) | 
| int | send_result_to_client (THD *thd, char *query, uint query_length) | 
| void | invalidate (THD *thd, TABLE_LIST *tables_used, my_bool using_transactions) | 
| void | invalidate (CHANGED_TABLE_LIST *tables_used) | 
| void | invalidate_locked_for_write (TABLE_LIST *tables_used) | 
| void | invalidate (THD *thd, TABLE *table, my_bool using_transactions) | 
| void | invalidate (THD *thd, const char *key, uint32 key_length, my_bool using_transactions) | 
| void | invalidate (char *db) | 
| void | invalidate_by_MyISAM_filename (const char *filename) | 
| void | flush () | 
| void | pack (ulong join_limit=QUERY_CACHE_PACK_LIMIT, uint iteration_limit=QUERY_CACHE_PACK_ITERATION) | 
| void | destroy () | 
| void | insert (Query_cache_tls *query_cache_tls, const char *packet, ulong length, unsigned pkt_nr) | 
| void | end_of_result (THD *thd) | 
| void | abort (Query_cache_tls *query_cache_tls) | 
| void | wreck (uint line, const char *message) | 
| void | bins_dump () | 
| void | cache_dump () | 
| void | queries_dump () | 
| void | tables_dump () | 
| my_bool | check_integrity (bool not_locked) | 
| my_bool | in_list (Query_cache_block *root, Query_cache_block *point, const char *name) | 
| my_bool | in_table_list (Query_cache_block_table *root, Query_cache_block_table *point, const char *name) | 
| my_bool | in_blocks (Query_cache_block *point) | 
| bool | try_lock (bool use_timeout=FALSE) | 
| void | lock (void) | 
| void | lock_and_suspend (void) | 
| void | unlock (void) | 
| 
Public Attributes | 
| ulong | query_cache_size | 
| ulong | query_cache_limit | 
| ulong | free_memory | 
| ulong | queries_in_cache | 
| ulong | hits | 
| ulong | inserts | 
| ulong | refused | 
| ulong | free_memory_blocks | 
| ulong | total_blocks | 
| ulong | lowmem_prunes | 
| 
Protected Member Functions | 
| void | flush_cache () | 
| my_bool | free_old_query () | 
| void | free_query (Query_cache_block *point) | 
| my_bool | allocate_data_chain (Query_cache_block **result_block, ulong data_len, Query_cache_block *query_block, my_bool first_block) | 
| void | invalidate_table (THD *thd, TABLE_LIST *table) | 
| void | invalidate_table (THD *thd, TABLE *table) | 
| void | invalidate_table (THD *thd, uchar *key, uint32 key_length) | 
| void | invalidate_table (THD *thd, Query_cache_block *table_block) | 
| void | invalidate_query_block_list (THD *thd, Query_cache_block_table *list_root) | 
| TABLE_COUNTER_TYPE | register_tables_from_list (TABLE_LIST *tables_used, TABLE_COUNTER_TYPE counter, Query_cache_block_table *block_table) | 
| my_bool | register_all_tables (Query_cache_block *block, TABLE_LIST *tables_used, TABLE_COUNTER_TYPE tables) | 
| my_bool | insert_table (uint key_len, const char *key, Query_cache_block_table *node, 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) | 
| void | free_memory_block (Query_cache_block *point) | 
| void | split_block (Query_cache_block *block, ulong len) | 
| Query_cache_block * | join_free_blocks (Query_cache_block *first_block, Query_cache_block *block_in_list) | 
| my_bool | append_next_free_block (Query_cache_block *block, ulong add_size) | 
| void | exclude_from_free_memory_list (Query_cache_block *free_block) | 
| void | insert_into_free_memory_list (Query_cache_block *new_block) | 
| my_bool | move_by_type (uchar **border, Query_cache_block **before, ulong *gap, Query_cache_block *i) | 
| uint | find_bin (ulong size) | 
| void | move_to_query_list_end (Query_cache_block *block) | 
| void | insert_into_free_memory_sorted_list (Query_cache_block *new_block, Query_cache_block **list) | 
| void | pack_cache () | 
| void | relink (Query_cache_block *oblock, Query_cache_block *nblock, Query_cache_block *next, Query_cache_block *prev, Query_cache_block *pnext, Query_cache_block *pprev) | 
| my_bool | join_results (ulong join_limit) | 
| ulong | init_cache () | 
| void | make_disabled () | 
| void | free_cache () | 
| Query_cache_block * | write_block_data (ulong data_len, uchar *data, ulong header_len, Query_cache_block::block_type type, TABLE_COUNTER_TYPE ntab=0) | 
| my_bool | append_result_data (Query_cache_block **result, ulong data_len, uchar *data, Query_cache_block *parent) | 
| my_bool | write_result_data (Query_cache_block **result, ulong data_len, uchar *data, Query_cache_block *parent, Query_cache_block::block_type type=Query_cache_block::RESULT) | 
| ulong | get_min_first_result_data_size () | 
| ulong | get_min_append_result_data_size () | 
| Query_cache_block * | allocate_block (ulong len, my_bool not_less, ulong min) | 
| TABLE_COUNTER_TYPE | is_cacheable (THD *thd, size_t query_len, const char *query, LEX *lex, TABLE_LIST *tables_used, uint8 *tables_type) | 
| TABLE_COUNTER_TYPE | process_and_count_tables (THD *thd, TABLE_LIST *tables_used, uint8 *tables_type) | 
| 
Static Protected Member Functions | 
| static void | double_linked_list_exclude (Query_cache_block *point, Query_cache_block **list_pointer) | 
| static void | double_linked_list_simple_include (Query_cache_block *point, Query_cache_block **list_pointer) | 
| static void | double_linked_list_join (Query_cache_block *head_tail, Query_cache_block *tail_head) | 
| static uint | filename_2_table_key (char *key, const char *filename, uint32 *db_langth) | 
| static my_bool | ask_handler_allowance (THD *thd, TABLE_LIST *tables_used) | 
| 
Protected Attributes | 
| mysql_mutex_t | structure_guard_mutex | 
| uchar * | cache | 
| Query_cache_block * | first_block | 
| Query_cache_block * | queries_blocks | 
| Query_cache_block * | tables_blocks | 
| Query_cache_memory_bin * | bins | 
| Query_cache_memory_bin_step * | steps | 
| HASH | queries | 
| HASH | tables | 
| ulong | min_allocation_unit | 
| ulong | min_result_data_size | 
| uint | def_query_hash_size | 
| uint | def_table_hash_size | 
| uint | mem_bin_num | 
| uint | mem_bin_steps | 
| my_bool | initialized |