Skip to content

Namespace parallel_heap_scan

Namespace List > parallel_heap_scan

Classes

Type Name
class accumulative_trace_storage
struct child_stats
class input_handler_ftabs
class join_info
class list_id_header
class manager <result_type>
class mergeable_list_tls
class mergeable_list_variables
struct read_spec
class result_handler <result_type>
class result_handler< RESULT_TYPE::BUILDVALUE_OPT > <>
struct scan_info
class slot_iterator
class task <result_type>
class trace_handler
class trace_storage_for_sibling_xasl
class xasl_snapshot_tls
class xasl_snapshot_variables

Public Types

Type Name
enum RESULT_TYPE
typedef int XASL_ID
typedef parallel_query::ftab_set ftab_set
union VPID64_t
typedef uint32_t possible_flags
typedef regu_variable_list_node rv_list_node

Public Attributes

Type Name
const possible_flags CANNOT_BUILDVALUE_OPT = 0x1 &lt;&lt; 2
const possible_flags CANNOT_LIST_MERGE = 0x1 &lt;&lt; 1
const possible_flags CANNOT_PARALLEL_HEAP_SCAN = 0x1 &lt;&lt; 0
thread_local std::unordered_map< XASL_NODE *, possible_flags > xasl_check_cache
thread_local std::unordered_set< XASL_NODE * > xasl_processing_set

Public Functions

Type Name
possible_flags check (T * arg)
possible_flags check (REGU_VARIABLE * arg)
possible_flags check (PRED_EXPR * arg)
possible_flags check (rv_list_node * arg)
possible_flags check (ARITH_TYPE * arg)
possible_flags check (PRED * arg)
possible_flags check (EVAL_TERM * arg)
possible_flags check (COMP_EVAL_TERM * arg)
possible_flags check (ALSM_EVAL_TERM * arg)
possible_flags check (LIKE_EVAL_TERM * arg)
possible_flags check (RLIKE_EVAL_TERM * arg)
possible_flags check (ACCESS_SPEC_TYPE * arg)
possible_flags check (XASL_NODE * arg)
possible_flags check< false > (ACCESS_SPEC_TYPE * arg)
void clear_flag (possible_flags & flags, possible_flags flag)
void clear_xasl_dptr_list (THREAD_ENTRY * thread_p, XASL_NODE * xasl, bool uses_clones)
bool is_flag_set (possible_flags flags, possible_flags flag)
void merge_list_ids (THREAD_ENTRY * thread_p, QFILE_LIST_ID * dest, std::vector< QFILE_LIST_ID * > & lists)
void process_xasl_node_recursive (XASL_NODE * arg)
void process_xasl_node_recursive_force_cannot_parallel (XASL_NODE * arg)
void set_flag (possible_flags & flags, possible_flags flag)
possible_flags sibling_check (XASL_NODE * sibling)
possible_flags sibling_check (ACCESS_SPEC_TYPE * arg)
int update_domains_on_type_list_by_val_list (THREAD_ENTRY * thread_p, QFILE_LIST_ID * list_id_p, VAL_LIST * val_list_p)

Public Static Functions

Type Name
bool is_buildvalue_opt_supported_function (FUNC_CODE function)

Public Types Documentation

enum RESULT_TYPE

enum parallel_heap_scan::RESULT_TYPE {
    NONE = 0x0,
    MERGEABLE_LIST = 0x1,
    XASL_SNAPSHOT = 0x2,
    BUILDVALUE_OPT = 0x3
};

typedef XASL_ID

using parallel_heap_scan::XASL_ID = typedef int;

typedef ftab_set

using parallel_heap_scan::ftab_set = typedef parallel_query::ftab_set;

union VPID64_t



typedef possible_flags

using parallel_heap_scan::possible_flags = typedef uint32_t;

typedef rv_list_node

using parallel_heap_scan::rv_list_node = typedef regu_variable_list_node;

Public Attributes Documentation

variable CANNOT_BUILDVALUE_OPT

const possible_flags parallel_heap_scan::CANNOT_BUILDVALUE_OPT;

variable CANNOT_LIST_MERGE

const possible_flags parallel_heap_scan::CANNOT_LIST_MERGE;

variable CANNOT_PARALLEL_HEAP_SCAN

const possible_flags parallel_heap_scan::CANNOT_PARALLEL_HEAP_SCAN;

variable xasl_check_cache

thread_local std::unordered_map<XASL_NODE *, possible_flags> parallel_heap_scan::xasl_check_cache;

variable xasl_processing_set

thread_local std::unordered_set<XASL_NODE *> parallel_heap_scan::xasl_processing_set;

Public Functions Documentation

function check

template<typename T, bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    T * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    REGU_VARIABLE * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    PRED_EXPR * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    rv_list_node * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    ARITH_TYPE * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    PRED * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    EVAL_TERM * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    COMP_EVAL_TERM * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    ALSM_EVAL_TERM * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    LIKE_EVAL_TERM * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    RLIKE_EVAL_TERM * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    ACCESS_SPEC_TYPE * arg
) 

function check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::check (
    XASL_NODE * arg
) 

function check< false >

template<>
possible_flags parallel_heap_scan::check< false > (
    ACCESS_SPEC_TYPE * arg
) 

function clear_flag

inline void parallel_heap_scan::clear_flag (
    possible_flags & flags,
    possible_flags flag
) 

function clear_xasl_dptr_list

inline void parallel_heap_scan::clear_xasl_dptr_list (
    THREAD_ENTRY * thread_p,
    XASL_NODE * xasl,
    bool uses_clones
) 

function is_flag_set

inline bool parallel_heap_scan::is_flag_set (
    possible_flags flags,
    possible_flags flag
) 

function merge_list_ids

void parallel_heap_scan::merge_list_ids (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * dest,
    std::vector< QFILE_LIST_ID * > & lists
) 

function process_xasl_node_recursive

void parallel_heap_scan::process_xasl_node_recursive (
    XASL_NODE * arg
) 

function process_xasl_node_recursive_force_cannot_parallel

void parallel_heap_scan::process_xasl_node_recursive_force_cannot_parallel (
    XASL_NODE * arg
) 

function set_flag

inline void parallel_heap_scan::set_flag (
    possible_flags & flags,
    possible_flags flag
) 

function sibling_check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::sibling_check (
    XASL_NODE * sibling
) 

function sibling_check

template<bool is_outptr_list>
possible_flags parallel_heap_scan::sibling_check (
    ACCESS_SPEC_TYPE * arg
) 

function update_domains_on_type_list_by_val_list

int parallel_heap_scan::update_domains_on_type_list_by_val_list (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * list_id_p,
    VAL_LIST * val_list_p
) 

Public Static Functions Documentation

function is_buildvalue_opt_supported_function

static bool parallel_heap_scan::is_buildvalue_opt_supported_function (
    FUNC_CODE function
) 


The documentation for this class was generated from the following file cubrid/src/query/parallel/px_heap_scan/px_heap_scan.cpp