File filter_pred_cache.c
FileList > cubrid > src > query > filter_pred_cache.c
Go to the source code of this file
#include "binaryheap.h"
#include "filter_pred_cache.h"
#include "lock_free.h"
#include "query_executor.h"
#include "stream_to_xasl.h"
#include "system_parameter.h"
#include "thread_lockfree_hash_map.hpp"
#include "thread_manager.hpp"
#include "xasl.h"
#include "xasl_unpack_info.hpp"
#include <algorithm>
#include "memory_wrapper.hpp"
Classes
Public Types
Public Attributes
Public Static Attributes
Public Functions
Public Static Functions
Macros
Public Types Documentation
typedef FPCACHE_CLEANUP_CANDIDATE
typedef struct fpcache_cleanup_candidate FPCACHE_CLEANUP_CANDIDATE;
typedef FPCACHE_ENTRY
typedef struct fpcache_ent FPCACHE_ENTRY;
typedef fpcache_hashmap_iterator
using fpcache_hashmap_iterator = fpcache_hashmap_type::iterator;
typedef fpcache_hashmap_type
using fpcache_hashmap_type = cubthread::lockfree_hashmap<BTID, fpcache_ent>;
Public Attributes Documentation
variable fpcache_Cleanup_bh
BINARY_HEAP* fpcache_Cleanup_bh;
variable fpcache_Cleanup_flag
INT32 fpcache_Cleanup_flag;
Public Static Attributes Documentation
variable fpcache_Clone_counter
volatile INT32 fpcache_Clone_counter;
variable fpcache_Clone_stack_size
int fpcache_Clone_stack_size;
variable fpcache_Enabled
variable fpcache_Entry_counter
volatile INT32 fpcache_Entry_counter;
variable fpcache_Entry_descriptor
LF_ENTRY_DESCRIPTOR fpcache_Entry_descriptor;
variable fpcache_Hashmap
fpcache_hashmap_type fpcache_Hashmap;
variable fpcache_Ht
LF_HASH_TABLE fpcache_Ht;
variable fpcache_Ht_freelist
LF_FREELIST fpcache_Ht_freelist;
variable fpcache_Soft_capacity
INT32 fpcache_Soft_capacity;
variable fpcache_Stat_add
variable fpcache_Stat_cleanup
INT64 fpcache_Stat_cleanup;
variable fpcache_Stat_cleanup_entry
INT64 fpcache_Stat_cleanup_entry;
variable fpcache_Stat_clone_add
INT64 fpcache_Stat_clone_add;
variable fpcache_Stat_clone_discard
INT64 fpcache_Stat_clone_discard;
variable fpcache_Stat_clone_hit
INT64 fpcache_Stat_clone_hit;
variable fpcache_Stat_clone_miss
INT64 fpcache_Stat_clone_miss;
variable fpcache_Stat_discard
INT64 fpcache_Stat_discard;
variable fpcache_Stat_hit
variable fpcache_Stat_lookup
INT64 fpcache_Stat_lookup;
variable fpcache_Stat_miss
Public Functions Documentation
function fpcache_claim
int fpcache_claim (
THREAD_ENTRY * thread_p,
BTID * btid,
or_predicate * or_pred,
pred_expr_with_context ** filter_pred
)
function fpcache_drop_all
void fpcache_drop_all (
THREAD_ENTRY * thread_p
)
function fpcache_dump
void fpcache_dump (
THREAD_ENTRY * thread_p,
FILE * fp
)
function fpcache_finalize
void fpcache_finalize (
THREAD_ENTRY * thread_p
)
function fpcache_initialize
int fpcache_initialize (
THREAD_ENTRY * thread_p
)
function fpcache_remove_by_class
void fpcache_remove_by_class (
THREAD_ENTRY * thread_p,
const OID * class_oid
)
function fpcache_retire
int fpcache_retire (
THREAD_ENTRY * thread_p,
OID * class_oid,
BTID * btid,
pred_expr_with_context * filter_pred
)
Public Static Functions Documentation
function fpcache_cleanup
static void fpcache_cleanup (
THREAD_ENTRY * thread_p
)
function fpcache_compare_cleanup_candidates
static BH_CMP_RESULT fpcache_compare_cleanup_candidates (
const void * left,
const void * right,
BH_CMP_ARG ingore_arg
)
function fpcache_copy_key
static int fpcache_copy_key (
void * src,
void * dest
)
function fpcache_entry_alloc
static void * fpcache_entry_alloc (
void
)
function fpcache_entry_free
static int fpcache_entry_free (
void * entry
)
function fpcache_entry_init
static int fpcache_entry_init (
void * entry
)
function fpcache_entry_uninit
static int fpcache_entry_uninit (
void * entry
)
Macro Definition Documentation
define FPCACHE_CLEANUP_RATIO
#define FPCACHE_CLEANUP_RATIO `0.2`
define FPCACHE_DELETE_BTIDS_SIZE
#define FPCACHE_DELETE_BTIDS_SIZE `1024`
define FPCACHE_PTR_TO_ENTRY
#define FPCACHE_PTR_TO_ENTRY (
ptr
) `(( FPCACHE_ENTRY *) ptr)`
define FPCACHE_PTR_TO_KEY
#define FPCACHE_PTR_TO_KEY (
ptr
) `(( BTID *) ptr)`
The documentation for this class was generated from the following file cubrid/src/query/filter_pred_cache.c