File scan_manager.h¶
FileList > cubrid > src > query > scan_manager.h
Go to the source code of this file
#include <cstddef>#include <time.h>#include "jansson.h"#include "btree.h"#include "heap_file.h"#include "method_scan.hpp"#include "dblink_scan.h"#include "oid.h"#include "query_evaluator.h"#include "query_list.h"#include "access_json_table.hpp"#include "scan_json_table.hpp"#include "storage_common.h"#include "query_hash_scan.h"
Namespaces¶
| Type | Name |
|---|---|
| namespace | cubxasl |
| namespace | parallel_scan |
Classes¶
| Type | Name |
|---|---|
| struct | dblink_scan_id |
| struct | heap_page_scan_id |
| struct | heap_scan_id |
| struct | index_node_scan_id |
| struct | index_skip_scan |
| struct | indx_cov |
| struct | indx_scan_id |
| struct | llist_scan_id |
| struct | multi_range_opt |
| struct | parallel_heap_scan_id |
| struct | parallel_index_scan_id |
| struct | parallel_list_scan_id |
| struct | range_opt_item |
| struct | regu_values_scan_id |
| struct | scan_agl |
| struct | scan_id_struct |
| struct | scan_pos |
| struct | scan_stats |
| struct | set_scan_id |
| struct | showstmt_scan_id |
Public Types¶
Public Functions¶
Macros¶
| Type | Name |
|---|---|
| define | IDX_COV_DEFAULT_TUPLES 200 |
| define | SCAN_IS_INDEX_COVERED (iscan_id_p) (([**iscan\_id\_p**](broker__monitor_8c.md#function-timeout))->[**indx\_cov.list\_id**](structindx__cov.md#variable-list_id) != [**NULL**](freelistheap_8h.md#define-null)) |
| define | SCAN_IS_INDEX_ILS (iscan_id_p) /* multi line expression */ |
| define | SCAN_IS_INDEX_ISS (iscan_id_p) (([**iscan\_id\_p**](broker__monitor_8c.md#function-timeout))->iss.use) |
| define | SCAN_IS_INDEX_MRO (iscan_id_p) (([**iscan\_id\_p**](broker__monitor_8c.md#function-timeout))->[**multi\_range\_opt.use**](structmulti__range__opt.md#variable-use)) |
Public Types Documentation¶
typedef DBLINK_SCAN_ID¶
typedef HEAP_PAGE_SCAN_ID¶
typedef HEAP_SCAN_ID¶
typedef INDEX_NODE_SCAN_ID¶
typedef INDEX_SKIP_SCAN¶
typedef INDX_COV¶
typedef INDX_INFO¶
enum ISS_OP_TYPE¶
enum ISS_OP_TYPE {
ISS_OP_NONE,
ISS_OP_GET_FIRST_KEY,
ISS_OP_DO_RANGE_SEARCH,
ISS_OP_SEARCH_NEXT_DISTINCT_KEY
};
typedef LLIST_SCAN_ID¶
typedef MULTI_RANGE_OPT¶
typedef PARALLEL_HEAP_SCAN_ID¶
typedef PARALLEL_INDEX_SCAN_ID¶
typedef PARALLEL_LIST_SCAN_ID¶
typedef PRED_EXPR¶
typedef RANGE_OPT_ITEM¶
typedef REGU_VALUES_SCAN_ID¶
typedef SCAN_AGL¶
typedef SCAN_ID¶
typedef SCAN_POS¶
typedef SCAN_STATS¶
enum SCAN_TYPE¶
enum SCAN_TYPE {
S_HEAP_SCAN = 1,
S_PARALLEL_HEAP_SCAN,
S_PARALLEL_LIST_SCAN,
S_PARALLEL_INDEX_SCAN,
S_CLASS_ATTR_SCAN,
S_INDX_SCAN,
S_LIST_SCAN,
S_SET_SCAN,
S_JSON_TABLE_SCAN,
S_METHOD_SCAN,
S_VALUES_SCAN,
S_SHOWSTMT_SCAN,
S_HEAP_SCAN_RECORD_INFO,
S_HEAP_PAGE_SCAN,
S_INDX_KEY_INFO_SCAN,
S_INDX_NODE_INFO_SCAN,
S_DBLINK_SCAN,
S_HEAP_SAMPLING_SCAN
};
typedef SET_SCAN_ID¶
typedef SHOWSTMT_SCAN_ID¶
typedef VAL_DESCR¶
Public Functions Documentation¶
function scan_close_scan¶
function scan_dedup_or_merge_key_ranges¶
function scan_end_scan¶
function scan_finalize¶
function scan_free_sampling¶
function scan_init_index_scan¶
void scan_init_index_scan (
INDX_SCAN_ID * isidp,
struct btree_iscan_oid_list * oid_list,
MVCC_SNAPSHOT * mvcc_snapshot
)
function scan_init_iss¶
function scan_initialize¶
function scan_jump_scan_pos¶
function scan_next_scan¶
function scan_next_scan_block¶
function scan_open_class_attr_scan¶
int scan_open_class_attr_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
int grouped,
QPROC_SINGLE_FETCH single_fetch,
DB_VALUE * join_dbval,
val_list_node * val_list,
val_descr * vd,
OID * cls_oid,
HFID * hfid,
regu_variable_list_node * regu_list_pred,
PRED_EXPR * pr,
regu_variable_list_node * regu_list_rest,
int num_attrs_pred,
ATTR_ID * attrids_pred,
HEAP_CACHE_ATTRINFO * cache_pred,
int num_attrs_rest,
ATTR_ID * attrids_rest,
HEAP_CACHE_ATTRINFO * cache_rest
)
function scan_open_dblink_scan¶
int scan_open_dblink_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
struct access_spec_node * spec,
VAL_DESCR * vd,
val_list_node * val_list,
DBLINK_HOST_VARS * host_vars
)
function scan_open_heap_page_scan¶
int scan_open_heap_page_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
val_list_node * val_list,
val_descr * vd,
OID * cls_oid,
HFID * hfid,
PRED_EXPR * pr,
SCAN_TYPE scan_type,
DB_VALUE ** cache_page_info,
regu_variable_list_node * regu_list_page_info
)
function scan_open_heap_scan¶
int scan_open_heap_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
bool mvcc_select_lock_needed,
SCAN_OPERATION_TYPE scan_op_type,
int fixed,
int grouped,
QPROC_SINGLE_FETCH single_fetch,
DB_VALUE * join_dbval,
val_list_node * val_list,
val_descr * vd,
OID * cls_oid,
HFID * hfid,
regu_variable_list_node * regu_list_pred,
PRED_EXPR * pr,
regu_variable_list_node * regu_list_rest,
int num_attrs_pred,
ATTR_ID * attrids_pred,
HEAP_CACHE_ATTRINFO * cache_pred,
int num_attrs_rest,
ATTR_ID * attrids_rest,
HEAP_CACHE_ATTRINFO * cache_rest,
SCAN_TYPE scan_type,
DB_VALUE ** cache_recordinfo,
regu_variable_list_node * regu_list_recordinfo
)
function scan_open_index_key_info_scan¶
int scan_open_index_key_info_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
val_list_node * val_list,
val_descr * vd,
indx_info * indx_info,
OID * cls_oid,
HFID * hfid,
PRED_EXPR * pr,
valptr_list_node * output_val_list,
bool iscan_oid_order,
QUERY_ID query_id,
DB_VALUE ** key_info_values,
regu_variable_list_node * key_info_regu_list
)
function scan_open_index_node_info_scan¶
int scan_open_index_node_info_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
val_list_node * val_list,
val_descr * vd,
indx_info * indx_info,
PRED_EXPR * pr,
DB_VALUE ** node_info_values,
regu_variable_list_node * node_info_regu_list
)
function scan_open_index_scan¶
int scan_open_index_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
bool mvcc_select_lock_needed,
SCAN_OPERATION_TYPE scan_op_type,
int fixed,
int grouped,
QPROC_SINGLE_FETCH single_fetch,
DB_VALUE * join_dbval,
val_list_node * val_list,
val_descr * vd,
indx_info * indx_info,
OID * cls_oid,
HFID * hfid,
regu_variable_list_node * regu_list_key,
PRED_EXPR * pr_key,
regu_variable_list_node * regu_list_pred,
PRED_EXPR * pr,
regu_variable_list_node * regu_list_rest,
PRED_EXPR * pr_range,
regu_variable_list_node * regu_list_range,
valptr_list_node * output_val_list,
regu_variable_list_node * regu_val_list,
int num_attrs_key,
ATTR_ID * attrids_key,
HEAP_CACHE_ATTRINFO * cache_key,
int num_attrs_pred,
ATTR_ID * attrids_pred,
HEAP_CACHE_ATTRINFO * cache_pred,
int num_attrs_rest,
ATTR_ID * attrids_rest,
HEAP_CACHE_ATTRINFO * cache_rest,
int num_attrs_range,
ATTR_ID * attrids_range,
HEAP_CACHE_ATTRINFO * cache_range,
bool iscan_oid_order,
QUERY_ID query_id,
bool min_max_optimzied_scan
)
function scan_open_json_table_scan¶
int scan_open_json_table_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
int grouped,
QPROC_SINGLE_FETCH single_fetch,
DB_VALUE * join_dbval,
val_list_node * val_list,
val_descr * vd,
PRED_EXPR * pr
)
function scan_open_list_scan¶
int scan_open_list_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
int grouped,
QPROC_SINGLE_FETCH single_fetch,
DB_VALUE * join_dbval,
val_list_node * val_list,
val_descr * vd,
QFILE_LIST_ID * list_id,
regu_variable_list_node * regu_list_pred,
PRED_EXPR * pr,
regu_variable_list_node * regu_list_rest,
regu_variable_list_node * regu_list_build,
regu_variable_list_node * regu_list_probe,
int hash_list_scan_yn,
bool is_read_only
)
function scan_open_method_scan¶
int scan_open_method_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
int grouped,
QPROC_SINGLE_FETCH single_fetch,
DB_VALUE * join_dbval,
val_list_node * val_list,
val_descr * vd,
QFILE_LIST_ID * list_id,
PL_SIGNATURE_ARRAY_TYPE * meth_sig_list
)
function scan_open_set_scan¶
int scan_open_set_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
int grouped,
QPROC_SINGLE_FETCH single_fetch,
DB_VALUE * join_dbval,
val_list_node * val_list,
val_descr * vd,
regu_variable_node * set_ptr,
regu_variable_list_node * regu_list_pred,
PRED_EXPR * pr
)
function scan_open_showstmt_scan¶
int scan_open_showstmt_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
int grouped,
QPROC_SINGLE_FETCH single_fetch,
DB_VALUE * join_dbval,
val_list_node * val_list,
val_descr * vd,
PRED_EXPR * pr,
SHOWSTMT_TYPE show_type,
regu_variable_list_node * arg_list
)
function scan_open_values_scan¶
int scan_open_values_scan (
THREAD_ENTRY * thread_p,
SCAN_ID * scan_id,
int grouped,
QPROC_SINGLE_FETCH single_fetch,
DB_VALUE * join_dbval,
val_list_node * val_list,
val_descr * vd,
valptr_list_node * valptr_list
)
function scan_prev_scan¶
function scan_print_stats_json¶
function scan_print_stats_text¶
function scan_regu_key_to_index_key¶
int scan_regu_key_to_index_key (
THREAD_ENTRY * thread_p,
KEY_RANGE * key_ranges,
KEY_VAL_RANGE * key_val_range,
INDX_SCAN_ID * iscan_id,
TP_DOMAIN * btree_domainp,
VAL_DESCR * vd,
int key_range_idx
)
function scan_reset_scan_block¶
function scan_save_scan_pos¶
function scan_start_scan¶
function showstmt_end_scan¶
function showstmt_next_scan¶
function showstmt_scan_init¶
function showstmt_start_scan¶
Macro Definition Documentation¶
define IDX_COV_DEFAULT_TUPLES¶
define SCAN_IS_INDEX_COVERED¶
define SCAN_IS_INDEX_ILS¶
define SCAN_IS_INDEX_ISS¶
define SCAN_IS_INDEX_MRO¶
The documentation for this class was generated from the following file cubrid/src/query/scan_manager.h