File query_aggregate.cpp¶
FileList > cubrid > src > query > query_aggregate.cpp
Go to the source code of this file
#include "query_aggregate.hpp"#include "arithmetic.h"#include "btree.h"#include "db_json.hpp"#include "dbtype.h"#include "fetch.h"#include "list_file.h"#include "memory_alloc.h"#include "memory_hash.h"#include "object_domain.h"#include "object_primitive.h"#include "object_representation.h"#include "query_opfunc.h"#include "regu_var.hpp"#include "string_opfunc.h"#include "xasl.h"#include "xasl_aggregate.hpp"#include "statistics.h"#include <cmath>#include "memory_wrapper.hpp"
Public Functions¶
Public Static Functions¶
Public Functions Documentation¶
function qdata_agg_hkey_compare¶
DB_VALUE_COMPARE_RESULT qdata_agg_hkey_compare (
aggregate_hash_key * ckey1,
aggregate_hash_key * ckey2,
int * diff_pos
)
function qdata_agg_hkey_eq¶
function qdata_aggregate_accumulator_to_accumulator¶
int qdata_aggregate_accumulator_to_accumulator (
cubthread::entry * thread_p,
cubxasl::aggregate_accumulator * acc,
cubxasl::aggregate_accumulator_domain * acc_dom,
FUNC_CODE func_type,
tp_domain * func_domain,
cubxasl::aggregate_accumulator * new_acc
)
function qdata_alloc_agg_hkey¶
aggregate_hash_key * qdata_alloc_agg_hkey (
cubthread::entry * thread_p,
int val_cnt,
bool alloc_vals
)
function qdata_alloc_agg_hvalue¶
aggregate_hash_value * qdata_alloc_agg_hvalue (
cubthread::entry * thread_p,
int func_cnt,
cubxasl::aggregate_list_node * g_agg_list
)
function qdata_copy_agg_hkey¶
function qdata_evaluate_aggregate_hierarchy¶
int qdata_evaluate_aggregate_hierarchy (
cubthread::entry * thread_p,
cubxasl::aggregate_list_node * agg_p,
HFID * root_hfid,
BTID * root_btid,
hierarchy_aggregate_helper * helper
)
function qdata_evaluate_aggregate_list¶
int qdata_evaluate_aggregate_list (
cubthread::entry * thread_p,
cubxasl::aggregate_list_node * agg_list_p,
val_descr * val_desc_p,
cubxasl::aggregate_accumulator * alt_acc_list,
bool use_desc_index
)
function qdata_evaluate_aggregate_min_max_finished¶
bool qdata_evaluate_aggregate_min_max_finished (
cubthread::entry * thread_p,
cubxasl::aggregate_list_node * agg_list_p
)
function qdata_evaluate_aggregate_optimize¶
int qdata_evaluate_aggregate_optimize (
cubthread::entry * thread_p,
cubxasl::aggregate_list_node * agg_p,
HFID * hfid_p,
OID * super_oid
)
function qdata_finalize_aggregate_list¶
int qdata_finalize_aggregate_list (
cubthread::entry * thread_p,
cubxasl::aggregate_list_node * agg_list_p,
bool keep_list_file,
sampling_info * sampling
)
function qdata_free_agg_hentry¶
function qdata_free_agg_hkey¶
function qdata_free_agg_hvalue¶
function qdata_get_agg_hkey_size¶
function qdata_get_agg_hvalue_size¶
function qdata_hash_agg_hkey¶
function qdata_initialize_aggregate_list¶
int qdata_initialize_aggregate_list (
cubthread::entry * thread_p,
cubxasl::aggregate_list_node * agg_list_p,
QUERY_ID query_id
)
function qdata_load_agg_hentry_from_list¶
SCAN_CODE qdata_load_agg_hentry_from_list (
cubthread::entry * thread_p,
qfile_list_scan_id * list_scan_id,
aggregate_hash_key * key,
aggregate_hash_value * value,
tp_domain ** key_dom,
cubxasl::aggregate_accumulator_domain ** acc_dom
)
function qdata_load_agg_hentry_from_tuple¶
int qdata_load_agg_hentry_from_tuple (
cubthread::entry * thread_p,
QFILE_TUPLE tuple,
aggregate_hash_key * key,
aggregate_hash_value * value,
tp_domain ** key_dom,
cubxasl::aggregate_accumulator_domain ** acc_dom
)
function qdata_load_agg_hvalue_in_agg_list¶
void qdata_load_agg_hvalue_in_agg_list (
aggregate_hash_value * value,
cubxasl::aggregate_list_node * agg_list,
bool copy_vals
)
function qdata_save_agg_hentry_to_list¶
int qdata_save_agg_hentry_to_list (
cubthread::entry * thread_p,
aggregate_hash_key * key,
aggregate_hash_value * value,
DB_VALUE * temp_dbval_array,
qfile_list_id * list_id
)
function qdata_save_agg_htable_to_list¶
int qdata_save_agg_htable_to_list (
cubthread::entry * thread_p,
mht_table * hash_table,
qfile_list_id * tuple_list_id,
qfile_list_id * partial_list_id,
db_value * temp_dbval_array
)
Public Static Functions Documentation¶
function qdata_aggregate_interpolation¶
static int qdata_aggregate_interpolation (
cubthread::entry * thread_p,
cubxasl::aggregate_list_node * agg_p,
QFILE_LIST_SCAN_ID * scan_id
)
function qdata_aggregate_multiple_values_to_accumulator¶
static int qdata_aggregate_multiple_values_to_accumulator (
cubthread::entry * thread_p,
cubxasl::aggregate_accumulator * acc,
cubxasl::aggregate_accumulator_domain * domain,
FUNC_CODE func_type,
tp_domain * func_domain,
std::vector< DB_VALUE > & db_values
)
function qdata_aggregate_value_to_accumulator¶
static int qdata_aggregate_value_to_accumulator (
cubthread::entry * thread_p,
cubxasl::aggregate_accumulator * acc,
cubxasl::aggregate_accumulator_domain * domain,
FUNC_CODE func_type,
tp_domain * func_domain,
db_value * value,
bool is_acc_to_acc
)
function qdata_calculate_aggregate_cume_dist_percent_rank¶
static int qdata_calculate_aggregate_cume_dist_percent_rank (
cubthread::entry * thread_p,
cubxasl::aggregate_list_node * agg_p,
VAL_DESCR * val_desc_p
)
function qdata_group_concat_first_value¶
static int qdata_group_concat_first_value (
THREAD_ENTRY * thread_p,
AGGREGATE_TYPE * agg_p,
DB_VALUE * dbvalue
)
function qdata_group_concat_value¶
static int qdata_group_concat_value (
THREAD_ENTRY * thread_p,
AGGREGATE_TYPE * agg_p,
DB_VALUE * dbvalue
)
function qdata_process_distinct_or_sort¶
static int qdata_process_distinct_or_sort (
cubthread::entry * thread_p,
cubxasl::aggregate_list_node * agg_p,
QUERY_ID query_id
)
function qdata_update_agg_interpolation_func_value_and_domain¶
static int qdata_update_agg_interpolation_func_value_and_domain (
cubxasl::aggregate_list_node * agg_p,
DB_VALUE * val
)
The documentation for this class was generated from the following file cubrid/src/query/query_aggregate.cpp