23 #ifndef _XASL_CACHE_H_ 24 #define _XASL_CACHE_H_ 28 #if !defined (SERVER_MODE) && !defined (SA_MODE) 29 #error Belongs to server module 67 #define XASL_CLONE_INITIALIZER { NULL, NULL } 68 #define XASL_CLONE_AS_ARGS(clone) (clone)->xasl, (clone)->xasl_buf 80 #define EXEINFO_HASH_TEXT_STRING(einfo) ((einfo)->sql_hash_text ? (einfo)->sql_hash_text : "UNKNOWN HASH TEXT") 81 #define EXEINFO_USER_TEXT_STRING(einfo) ((einfo)->sql_user_text ? (einfo)->sql_user_text : "UNKNOWN USER TEXT") 82 #define EXEINFO_PLAN_TEXT_STRING(einfo) ((einfo)->sql_plan_text ? (einfo)->sql_plan_text : "UNKNOWN PLAN TEXT") 84 #define EXEINFO_AS_ARGS(einfo) \ 85 EXEINFO_USER_TEXT_STRING(einfo), EXEINFO_PLAN_TEXT_STRING(einfo), EXEINFO_HASH_TEXT_STRING(einfo) 111 struct timeval time_last_used;
134 void init_clone_cache ();
163 int n_oid,
const OID * class_oids,
const int *class_locks,
bool xcache_uses_clones(void)
XCACHE_RELATED_OBJECT * related_objects
void xcache_drop_all(THREAD_ENTRY *thread_p)
void xcache_retire_clone(THREAD_ENTRY *thread_p, XASL_CACHE_ENTRY *xcache_entry, XASL_CLONE *xclone)
int xcache_find_sha1(THREAD_ENTRY *thread_p, const SHA1Hash *sha1, const XASL_CACHE_SEARCH_MODE search_mode, XASL_CACHE_ENTRY **xcache_entry, xasl_cache_rt_check_result *rt_check)
xasl_cache_rt_check_result
XASL_CLONE * cache_clones
void xcache_remove_by_oid(THREAD_ENTRY *thread_p, const OID *oid)
int xcache_initialize(THREAD_ENTRY *thread_p)
enum xcache_cleanup_reason XCACHE_CLEANUP_REASON
int xcache_insert(THREAD_ENTRY *thread_p, const compile_context *context, XASL_STREAM *stream, int n_oid, const OID *class_oids, const int *class_locks, const int *tcards, XASL_CACHE_ENTRY **xcache_entry)
int xcache_find_xasl_id_for_execute(THREAD_ENTRY *thread_p, const XASL_ID *xid, XASL_CACHE_ENTRY **xcache_entry, XASL_CLONE *xclone)
int xcache_get_entry_count(void)
int xcache_invalidate_qcaches(THREAD_ENTRY *thread_p, const OID *oid)
void xcache_dump(THREAD_ENTRY *thread_p, FILE *fp)
bool xcache_can_entry_cache_list(XASL_CACHE_ENTRY *xcache_entry)
enum xasl_cache_search_mode XASL_CACHE_SEARCH_MODE
int cache_clones_capacity
void xcache_finalize(THREAD_ENTRY *thread_p)
xasl_unpack_info * xasl_buf
pthread_mutex_t cache_clones_mutex
void xcache_unfix(THREAD_ENTRY *thread_p, XASL_CACHE_ENTRY *xcache_entry)