Skip to content

Namespace parallel_scan

Namespace List > parallel_scan

Classes

Type Name
class accumulative_trace_storage
struct child_stats
class input_handler_heap
class input_handler_index
class input_handler_list
class join_info
class list_id_header
class manager <result_type, ST>
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
struct scan_traits <SCAN_TYPE>
struct scan_traits< SCAN_TYPE::HEAP > <>
struct scan_traits< SCAN_TYPE::INDEX > <>
struct scan_traits< SCAN_TYPE::LIST > <>
class slot_iterator
class slot_iterator_index
class slot_iterator_list
class task <result_type, ST>
class trace_handler
class trace_storage_for_sibling_xasl
class xasl_snapshot_tls
class xasl_snapshot_variables

Public Types

Type Name
enum RESULT_TYPE
enum SCAN_TYPE
typedef int XASL_ID
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_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
void block_parallel_index_and_temp_in_subtree (XASL_NODE * arg)
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 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)
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
void clear_xasl_dptr_list (THREAD_ENTRY * thread_p, XASL_NODE * xasl, bool uses_clones)
void clear_xasl_dptr_node (THREAD_ENTRY * thread_p, XASL_NODE * xaslp, bool uses_clones)
bool is_buildvalue_opt_supported_function (FUNC_CODE function)
bool is_filtered_index (const INDX_INFO * indexptr)
bool is_flag_set (possible_flags flags, possible_flags flag)
void set_flag (possible_flags & flags, possible_flags flag)

Public Types Documentation

enum RESULT_TYPE

enum parallel_scan::RESULT_TYPE {
    MERGEABLE_LIST = 0x1,
    XASL_SNAPSHOT = 0x2,
    BUILDVALUE_OPT = 0x3
};

enum SCAN_TYPE

enum parallel_scan::SCAN_TYPE {
    HEAP = 0,
    LIST = 1,
    INDEX = 2
};

typedef XASL_ID

using parallel_scan::XASL_ID = typedef int;

union VPID64_t



typedef possible_flags

using parallel_scan::possible_flags = typedef uint32_t;

typedef rv_list_node

using parallel_scan::rv_list_node = typedef regu_variable_list_node;

Public Attributes Documentation

variable CANNOT_BUILDVALUE_OPT

const possible_flags parallel_scan::CANNOT_BUILDVALUE_OPT;

variable CANNOT_LIST_MERGE

const possible_flags parallel_scan::CANNOT_LIST_MERGE;

variable CANNOT_PARALLEL_SCAN

const possible_flags parallel_scan::CANNOT_PARALLEL_SCAN;

variable xasl_check_cache

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

variable xasl_processing_set

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

Public Functions Documentation

function block_parallel_index_and_temp_in_subtree

void parallel_scan::block_parallel_index_and_temp_in_subtree (
    XASL_NODE * arg
) 

function check

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

function check

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

function check

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

function check

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

function check

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

function check

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

function check

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

function check

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

function check

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

function check

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

function check

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

function check

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

function check

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

function check< false >

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

function merge_list_ids

void parallel_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_scan::process_xasl_node_recursive (
    XASL_NODE * arg
) 

function process_xasl_node_recursive_force_cannot_parallel

void parallel_scan::process_xasl_node_recursive_force_cannot_parallel (
    XASL_NODE * arg
) 

function sibling_check

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

function sibling_check

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

function update_domains_on_type_list_by_val_list

int parallel_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 clear_xasl_dptr_list

static void parallel_scan::clear_xasl_dptr_list (
    THREAD_ENTRY * thread_p,
    XASL_NODE * xasl,
    bool uses_clones
) 

function clear_xasl_dptr_node

static void parallel_scan::clear_xasl_dptr_node (
    THREAD_ENTRY * thread_p,
    XASL_NODE * xaslp,
    bool uses_clones
) 

function is_buildvalue_opt_supported_function

static bool parallel_scan::is_buildvalue_opt_supported_function (
    FUNC_CODE function
) 

function is_filtered_index

static bool parallel_scan::is_filtered_index (
    const  INDX_INFO * indexptr
) 

function is_flag_set

static bool parallel_scan::is_flag_set (
    possible_flags flags,
    possible_flags flag
) 

function set_flag

static void parallel_scan::set_flag (
    possible_flags & flags,
    possible_flags flag
) 


The documentation for this class was generated from the following file cubrid/src/query/parallel/px_scan/index/px_scan_index_leaf_slot_walker.hpp