Skip to content

File query_aggregate.hpp

FileList > cubrid > src > query > query_aggregate.hpp

Go to the source code of this file

  • #include "external_sort.h"
  • #include "query_list.h"
  • #include "storage_common.h"
  • #include "db_function.hpp"
  • #include "heap_file.h"
  • #include <vector>

Namespaces

Type Name
namespace cubquery
namespace cubxasl

Classes

Type Name
struct aggregate_hash_context
struct aggregate_hash_key
struct aggregate_hash_value
struct hierarchy_aggregate_helper

Public Types

Type Name
typedef cubquery::aggregate_hash_context AGGREGATE_HASH_CONTEXT
typedef cubquery::aggregate_hash_key AGGREGATE_HASH_KEY
typedef cubquery::aggregate_hash_value AGGREGATE_HASH_VALUE
typedef cubquery::hierarchy_aggregate_helper HIERARCHY_AGGREGATE_HELPER

Public Functions

Type Name
DB_VALUE_COMPARE_RESULT qdata_agg_hkey_compare (cubquery::aggregate_hash_key * ckey1, cubquery::aggregate_hash_key * ckey2, int * diff_pos)
int qdata_agg_hkey_eq (const void * key1, const void * key2)
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)
cubquery::aggregate_hash_key * qdata_alloc_agg_hkey (cubthread::entry * thread_p, int val_cnt, bool alloc_vals)
cubquery::aggregate_hash_value * qdata_alloc_agg_hvalue (cubthread::entry * thread_p, int func_cnt, cubxasl::aggregate_list_node * g_agg_list)
cubquery::aggregate_hash_key * qdata_copy_agg_hkey (cubthread::entry * thread_p, cubquery::aggregate_hash_key * key)
int qdata_evaluate_aggregate_hierarchy (cubthread::entry * thread_p, cubxasl::aggregate_list_node * agg_ptr, HFID * root_hfid, BTID * root_btid, cubquery::hierarchy_aggregate_helper * helper)
int qdata_evaluate_aggregate_list (cubthread::entry * thread_p, cubxasl::aggregate_list_node * agg_list, val_descr * vd, cubxasl::aggregate_accumulator * alt_acc_list, bool use_desc_index)
bool qdata_evaluate_aggregate_min_max_finished (cubthread::entry * thread_p, cubxasl::aggregate_list_node * agg_list_p)
int qdata_evaluate_aggregate_optimize (cubthread::entry * thread_p, cubxasl::aggregate_list_node * agg_ptr, HFID * hfid, OID * partition_cls_oid)
int qdata_finalize_aggregate_list (cubthread::entry * thread_p, cubxasl::aggregate_list_node * agg_list, bool keep_list_file, sampling_info * sampling)
int qdata_free_agg_hentry (const void * key, void * data, void * args)
void qdata_free_agg_hkey (cubthread::entry * thread_p, cubquery::aggregate_hash_key * key)
void qdata_free_agg_hvalue (cubthread::entry * thread_p, cubquery::aggregate_hash_value * value)
int qdata_get_agg_hkey_size (cubquery::aggregate_hash_key * key)
int qdata_get_agg_hvalue_size (cubquery::aggregate_hash_value * value, bool ret_delta)
unsigned int qdata_hash_agg_hkey (const void * key, unsigned int ht_size)
int qdata_initialize_aggregate_list (cubthread::entry * thread_p, cubxasl::aggregate_list_node * agg_list, QUERY_ID query_id)
SCAN_CODE qdata_load_agg_hentry_from_list (cubthread::entry * thread_p, qfile_list_scan_id * list_scan_id, cubquery::aggregate_hash_key * key, cubquery::aggregate_hash_value * value, tp_domain ** key_dom, cubxasl::aggregate_accumulator_domain ** acc_dom)
int qdata_load_agg_hentry_from_tuple (cubthread::entry * thread_p, QFILE_TUPLE tuple, cubquery::aggregate_hash_key * key, cubquery::aggregate_hash_value * value, tp_domain ** key_dom, cubxasl::aggregate_accumulator_domain ** acc_dom)
void qdata_load_agg_hvalue_in_agg_list (cubquery::aggregate_hash_value * value, cubxasl::aggregate_list_node * agg_list, bool copy_vals)
int qdata_save_agg_hentry_to_list (cubthread::entry * thread_p, cubquery::aggregate_hash_key * key, cubquery::aggregate_hash_value * value, DB_VALUE * temp_dbval_array, qfile_list_id * list_id)
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 Types Documentation

typedef AGGREGATE_HASH_CONTEXT

using AGGREGATE_HASH_CONTEXT =  cubquery::aggregate_hash_context;

typedef AGGREGATE_HASH_KEY

using AGGREGATE_HASH_KEY =  cubquery::aggregate_hash_key;

typedef AGGREGATE_HASH_VALUE

using AGGREGATE_HASH_VALUE =  cubquery::aggregate_hash_value;

typedef HIERARCHY_AGGREGATE_HELPER

using HIERARCHY_AGGREGATE_HELPER =  cubquery::hierarchy_aggregate_helper;

Public Functions Documentation

function qdata_agg_hkey_compare

DB_VALUE_COMPARE_RESULT qdata_agg_hkey_compare (
    cubquery::aggregate_hash_key * ckey1,
    cubquery::aggregate_hash_key * ckey2,
    int * diff_pos
) 

function qdata_agg_hkey_eq

int qdata_agg_hkey_eq (
    const  void * key1,
    const  void * key2
) 

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

cubquery::aggregate_hash_key * qdata_alloc_agg_hkey (
    cubthread::entry * thread_p,
    int val_cnt,
    bool alloc_vals
) 

function qdata_alloc_agg_hvalue

cubquery::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

cubquery::aggregate_hash_key * qdata_copy_agg_hkey (
    cubthread::entry * thread_p,
    cubquery::aggregate_hash_key * key
) 

function qdata_evaluate_aggregate_hierarchy

int qdata_evaluate_aggregate_hierarchy (
    cubthread::entry * thread_p,
    cubxasl::aggregate_list_node * agg_ptr,
    HFID * root_hfid,
    BTID * root_btid,
    cubquery::hierarchy_aggregate_helper * helper
) 

function qdata_evaluate_aggregate_list

int qdata_evaluate_aggregate_list (
    cubthread::entry * thread_p,
    cubxasl::aggregate_list_node * agg_list,
    val_descr * vd,
    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_ptr,
    HFID * hfid,
    OID * partition_cls_oid
) 

function qdata_finalize_aggregate_list

int qdata_finalize_aggregate_list (
    cubthread::entry * thread_p,
    cubxasl::aggregate_list_node * agg_list,
    bool keep_list_file,
    sampling_info * sampling
) 

function qdata_free_agg_hentry

int qdata_free_agg_hentry (
    const  void * key,
    void * data,
    void * args
) 

function qdata_free_agg_hkey

void qdata_free_agg_hkey (
    cubthread::entry * thread_p,
    cubquery::aggregate_hash_key * key
) 

function qdata_free_agg_hvalue

void qdata_free_agg_hvalue (
    cubthread::entry * thread_p,
    cubquery::aggregate_hash_value * value
) 

function qdata_get_agg_hkey_size

int qdata_get_agg_hkey_size (
    cubquery::aggregate_hash_key * key
) 

function qdata_get_agg_hvalue_size

int qdata_get_agg_hvalue_size (
    cubquery::aggregate_hash_value * value,
    bool ret_delta
) 

function qdata_hash_agg_hkey

unsigned  int qdata_hash_agg_hkey (
    const  void * key,
    unsigned  int ht_size
) 

function qdata_initialize_aggregate_list

int qdata_initialize_aggregate_list (
    cubthread::entry * thread_p,
    cubxasl::aggregate_list_node * agg_list,
    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,
    cubquery::aggregate_hash_key * key,
    cubquery::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,
    cubquery::aggregate_hash_key * key,
    cubquery::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 (
    cubquery::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,
    cubquery::aggregate_hash_key * key,
    cubquery::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
) 


The documentation for this class was generated from the following file cubrid/src/query/query_aggregate.hpp