File query_hash_join.h¶
FileList > cubrid > src > query > query_hash_join.h
Go to the source code of this file
#include "regu_var.hpp"#include "query_hash_scan.h"#include "system.h"#include "thread_entry.hpp"#include "tsc_timer.h"#include "xasl_predicate.hpp"
Namespaces¶
| Type | Name |
|---|---|
| namespace | parallel_query |
Classes¶
| Type | Name |
|---|---|
| struct | hashjoin_context |
| struct | hashjoin_domain_info |
| struct | hashjoin_fetch_info |
| struct | hashjoin_input |
| struct | hashjoin_input_domain_info |
| struct | hashjoin_input_split_info |
| struct | hashjoin_input_stats |
| struct | hashjoin_manager |
| struct | hashjoin_range_time_stats |
| struct | hashjoin_shared_join_info |
| struct | hashjoin_shared_split_info |
| struct | hashjoin_split_info |
| struct | hashjoin_start_stats |
| struct | hashjoin_stats |
| struct | hashjoin_stats_group |
Public Types¶
Public Functions¶
Macros¶
| Type | Name |
|---|---|
| define | HASHJOIN_COLLISION_RATE 0 |
| define | HASHJOIN_DUMP_BUILD 0 |
| define | HASHJOIN_DUMP_HASH_TABLE 0 |
| define | HASHJOIN_DUMP_PARTITION 0 |
| define | HASHJOIN_DUMP_PROBE 0 |
| define | HASHJOIN_PROFILE_TIME 0 |
| define | HASHJOIN_RANGE_TIME_STATS_INITIALIZER { { [**LONG\_MAX**](broker__monitor_8c.md#function-timeout), 999999 }, { 0, 0 } } |
| define | HASHJOIN_START_STATS_INITIALIZER { { 0 }, 0, 0, HASHJOIN\_PROFILE\_NONE } |
| define | HJOIN_PROFILE_END (thread_p, stats_p, start_stats_p, step) (([**void**](broker__monitor_8c.md#function-timeout)) 0) |
| define | HJOIN_PROFILE_MERGE_END (thread_p, stats_p, start_stats_p, step, rows) (([**void**](broker__monitor_8c.md#function-timeout)) 0) |
| define | HJOIN_PROFILE_START (thread_p, start_stats, step) (([**void**](broker__monitor_8c.md#function-timeout)) 0) |
Public Types Documentation¶
typedef HASHJOIN_CONTEXT¶
typedef HASHJOIN_DOMAIN_INFO¶
typedef HASHJOIN_FETCH_INFO¶
typedef HASHJOIN_INPUT¶
typedef HASHJOIN_INPUT_DOMAIN_INFO¶
typedef HASHJOIN_INPUT_SPLIT_INFO¶
typedef HASHJOIN_INPUT_STATS¶
typedef HASHJOIN_MANAGER¶
typedef HASHJOIN_MERGE_METHOD¶
typedef HASHJOIN_PROFILE_STEP¶
typedef HASHJOIN_RANGE_TIME_STATS¶
typedef HASHJOIN_SHARED_JOIN_INFO¶
typedef HASHJOIN_SHARED_SPLIT_INFO¶
typedef HASHJOIN_SPLIT_INFO¶
typedef HASHJOIN_START_STATS¶
typedef HASHJOIN_STATS¶
typedef HASHJOIN_STATS_GROUP¶
typedef HASHJOIN_STATUS¶
typedef TP_DOMAIN¶
typedef XASL_NODE¶
enum hashjoin_merge_method¶
enum hashjoin_merge_method {
HASHJOIN_MERGE_COMBINE = 0,
HASHJOIN_MERGE_APPEND,
HASHJOIN_MERGE_CONNECT
};
enum hashjoin_profile_step¶
enum hashjoin_profile_step {
HASHJOIN_PROFILE_NONE = 0,
HASHJOIN_PROFILE_BUILD_FETCH,
HASHJOIN_PROFILE_BUILD_HASH,
HASHJOIN_PROFILE_BUILD_INSERT,
HASHJOIN_PROFILE_PROBE_FETCH,
HASHJOIN_PROFILE_PROBE_HASH,
HASHJOIN_PROFILE_PROBE_SEARCH,
HASHJOIN_PROFILE_PROBE_MATCH,
HASHJOIN_PROFILE_PROBE_ADD,
HASHJOIN_PROFILE_MERGE
};
enum hashjoin_status¶
enum hashjoin_status {
HASHJOIN_STATUS_NONE = 0,
HASHJOIN_STATUS_FILL_NULL_VALUES,
HASHJOIN_STATUS_TRY,
HASHJOIN_STATUS_SINGLE,
HASHJOIN_STATUS_PARTITION,
HASHJOIN_STATUS_PARALLEL,
HASHJOIN_STATUS_END,
HASHJOIN_STATUS_ERROR
};
Public Functions Documentation¶
function hjoin_clear_shared_split_info¶
void hjoin_clear_shared_split_info (
THREAD_ENTRY * thread_p,
HASHJOIN_MANAGER * manager,
HASHJOIN_SHARED_SPLIT_INFO * shared_info
)
function hjoin_execute¶
int hjoin_execute (
THREAD_ENTRY * thread_p,
HASHJOIN_MANAGER * manager,
HASHJOIN_CONTEXT * context
)
function hjoin_fetch_key¶
int hjoin_fetch_key (
THREAD_ENTRY * thread_p,
HASHJOIN_FETCH_INFO * fetch_info,
QFILE_TUPLE_RECORD * tuple_record,
HASH_SCAN_KEY * key,
HASH_SCAN_KEY * compare_key,
bool * need_skip_next
)
function hjoin_init_shared_split_info¶
int hjoin_init_shared_split_info (
THREAD_ENTRY * thread_p,
HASHJOIN_MANAGER * manager,
HASHJOIN_SHARED_SPLIT_INFO * shared_info
)
function hjoin_merge_qlist¶
int hjoin_merge_qlist (
THREAD_ENTRY * thread_p,
HASHJOIN_MANAGER * manager,
HASHJOIN_CONTEXT * context
)
function hjoin_trace_drain_worker_stats¶
function hjoin_trace_end¶
void hjoin_trace_end (
THREAD_ENTRY * thread_p,
HASHJOIN_INPUT_STATS * stats,
HASHJOIN_START_STATS * start_stats
)
function hjoin_trace_get_worker_stats¶
function hjoin_trace_merge_stats¶
function hjoin_trace_start¶
function hjoin_update_tuple_hash_key¶
void hjoin_update_tuple_hash_key (
THREAD_ENTRY * thread_p,
QFILE_TUPLE_RECORD * tuple_record,
UINT32 hash_key
)
function qexec_hash_join¶
int qexec_hash_join (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
QUERY_ID query_id,
VAL_DESCR * val_descr
)
Macro Definition Documentation¶
define HASHJOIN_COLLISION_RATE¶
define HASHJOIN_DUMP_BUILD¶
define HASHJOIN_DUMP_HASH_TABLE¶
define HASHJOIN_DUMP_PARTITION¶
define HASHJOIN_DUMP_PROBE¶
define HASHJOIN_PROFILE_TIME¶
define HASHJOIN_RANGE_TIME_STATS_INITIALIZER¶
define HASHJOIN_START_STATS_INITIALIZER¶
define HJOIN_PROFILE_END¶
define HJOIN_PROFILE_MERGE_END¶
define HJOIN_PROFILE_START¶
The documentation for this class was generated from the following file cubrid/src/query/query_hash_join.h