Skip to content

File query_hash_scan.h

FileList > cubrid > src > query > query_hash_scan.h

Go to the source code of this file

  • #include "regu_var.hpp"

Classes

Type Name
struct file_hash_scan_id
struct hash_list_scan
struct hash_scan_key
struct qfile_tuple_simple_pos
struct temp_file_tuple_id

Public Types

Type Name
typedef struct file_hash_scan_id FHSID
typedef struct hash_list_scan HASH_LIST_SCAN
typedef enum hash_method HASH_METHOD
typedef struct hash_scan_key HASH_SCAN_KEY
typedef union hash_scan_value HASH_SCAN_VALUE
typedef struct qfile_tuple_simple_pos QFILE_TUPLE_SIMPLE_POS
typedef struct temp_file_tuple_id TFTID
typedef struct val_descr VAL_DESCR
enum hash_method
union hash_scan_value

Public Functions

Type Name
FHSID * fhs_create (THREAD_ENTRY * thread_p, FHSID * fhsid, int exp_num_entries)
int fhs_destroy (THREAD_ENTRY * thread_p, FHSID * fhsid)
void fhs_dump (THREAD_ENTRY * thread_p, FHSID * fhsid)
void * fhs_insert (THREAD_ENTRY * thread_p, FHSID * fhsid, void * key, TFTID * value_ptr)
EH_SEARCH fhs_search (THREAD_ENTRY * thread_p, HASH_LIST_SCAN * hlsid, TFTID * value_ptr)
EH_SEARCH fhs_search_next (THREAD_ENTRY * thread_p, HASH_LIST_SCAN * hlsid, TFTID * value_ptr)
HASH_SCAN_KEY * qdata_alloc_hscan_key (THREAD_ENTRY * thread_p, int val_cnt, bool alloc_vals)
HASH_SCAN_VALUE * qdata_alloc_hscan_value (THREAD_ENTRY * thread_p, QFILE_TUPLE tpl)
HASH_SCAN_VALUE * qdata_alloc_hscan_value_OID (THREAD_ENTRY * thread_p, QFILE_LIST_SCAN_ID * scan_id_p)
int qdata_build_hscan_key (THREAD_ENTRY * thread_p, VAL_DESCR * vd, REGU_VARIABLE_LIST regu_list, HASH_SCAN_KEY * key)
HASH_SCAN_KEY * qdata_copy_hscan_key (THREAD_ENTRY * thread_p, HASH_SCAN_KEY * key, REGU_VARIABLE_LIST probe_regu_list, VAL_DESCR * vd)
HASH_SCAN_KEY * qdata_copy_hscan_key_without_alloc (THREAD_ENTRY * thread_p, HASH_SCAN_KEY * key, REGU_VARIABLE_LIST probe_regu_list, HASH_SCAN_KEY * new_key)
int qdata_free_hscan_entry (const void * key, void * data, void * args)
void qdata_free_hscan_key (THREAD_ENTRY * thread_p, HASH_SCAN_KEY * key, int val_count)
void qdata_free_hscan_value (THREAD_ENTRY * thread_p, HASH_SCAN_VALUE * value)
unsigned int qdata_hash_scan_key (const void * key, unsigned int ht_size, HASH_METHOD hash_method)
int qdata_hscan_key_eq (const void * key1, const void * key2)
int qdata_print_hash_scan_entry (THREAD_ENTRY * thread_p, FILE * fp, const void * data, const void * type_list, void * args)

Macros

Type Name
define DUMP_HASH_TABLE_LIMIT 100
define HASH_LIST_SCAN_DUMP_FILE_HASH 0
define HASH_LIST_SCAN_DUMP_HASH_TABLE 0
define MAKE_TFTID_TO_TUPLE_POSTION (tuple_pos, tftid, scan_id_p) /* multi line expression */
define MAKE_TUPLE_POSTION (tuple_pos, simple_pos, scan_id_p) /* multi line expression */
define SET_TFTID (dest_tftid, vol_id, page_id, param_offset) /* multi line expression */

Public Types Documentation

typedef FHSID

typedef struct file_hash_scan_id FHSID;

typedef HASH_LIST_SCAN

typedef struct hash_list_scan HASH_LIST_SCAN;

typedef HASH_METHOD

typedef enum hash_method HASH_METHOD;

typedef HASH_SCAN_KEY

typedef struct hash_scan_key HASH_SCAN_KEY;

typedef HASH_SCAN_VALUE

typedef union hash_scan_value HASH_SCAN_VALUE;

typedef QFILE_TUPLE_SIMPLE_POS

typedef struct qfile_tuple_simple_pos QFILE_TUPLE_SIMPLE_POS;

typedef TFTID

typedef struct temp_file_tuple_id TFTID;

typedef VAL_DESCR

typedef struct val_descr VAL_DESCR;

enum hash_method

enum hash_method {
    HASH_METH_NOT_USE = 0,
    HASH_METH_IN_MEM = 1,
    HASH_METH_HYBRID = 2,
    HASH_METH_HASH_FILE = 3
};

union hash_scan_value



Public Functions Documentation

function fhs_create

FHSID * fhs_create (
    THREAD_ENTRY * thread_p,
    FHSID * fhsid,
    int exp_num_entries
) 

function fhs_destroy

int fhs_destroy (
    THREAD_ENTRY * thread_p,
    FHSID * fhsid
) 

function fhs_dump

void fhs_dump (
    THREAD_ENTRY * thread_p,
    FHSID * fhsid
) 

function fhs_insert

void * fhs_insert (
    THREAD_ENTRY * thread_p,
    FHSID * fhsid,
    void * key,
    TFTID * value_ptr
) 

EH_SEARCH fhs_search (
    THREAD_ENTRY * thread_p,
    HASH_LIST_SCAN * hlsid,
    TFTID * value_ptr
) 

function fhs_search_next

EH_SEARCH fhs_search_next (
    THREAD_ENTRY * thread_p,
    HASH_LIST_SCAN * hlsid,
    TFTID * value_ptr
) 

function qdata_alloc_hscan_key

HASH_SCAN_KEY * qdata_alloc_hscan_key (
    THREAD_ENTRY * thread_p,
    int val_cnt,
    bool alloc_vals
) 

function qdata_alloc_hscan_value

HASH_SCAN_VALUE * qdata_alloc_hscan_value (
    THREAD_ENTRY * thread_p,
    QFILE_TUPLE tpl
) 

function qdata_alloc_hscan_value_OID

HASH_SCAN_VALUE * qdata_alloc_hscan_value_OID (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_SCAN_ID * scan_id_p
) 

function qdata_build_hscan_key

int qdata_build_hscan_key (
    THREAD_ENTRY * thread_p,
    VAL_DESCR * vd,
    REGU_VARIABLE_LIST regu_list,
    HASH_SCAN_KEY * key
) 

function qdata_copy_hscan_key

HASH_SCAN_KEY * qdata_copy_hscan_key (
    THREAD_ENTRY * thread_p,
    HASH_SCAN_KEY * key,
    REGU_VARIABLE_LIST probe_regu_list,
    VAL_DESCR * vd
) 

function qdata_copy_hscan_key_without_alloc

HASH_SCAN_KEY * qdata_copy_hscan_key_without_alloc (
    THREAD_ENTRY * thread_p,
    HASH_SCAN_KEY * key,
    REGU_VARIABLE_LIST probe_regu_list,
    HASH_SCAN_KEY * new_key
) 

function qdata_free_hscan_entry

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

function qdata_free_hscan_key

void qdata_free_hscan_key (
    THREAD_ENTRY * thread_p,
    HASH_SCAN_KEY * key,
    int val_count
) 

function qdata_free_hscan_value

void qdata_free_hscan_value (
    THREAD_ENTRY * thread_p,
    HASH_SCAN_VALUE * value
) 

function qdata_hash_scan_key

unsigned  int qdata_hash_scan_key (
    const  void * key,
    unsigned  int ht_size,
    HASH_METHOD hash_method
) 

function qdata_hscan_key_eq

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

function qdata_print_hash_scan_entry

int qdata_print_hash_scan_entry (
    THREAD_ENTRY * thread_p,
    FILE * fp,
    const  void * data,
    const  void * type_list,
    void * args
) 

Macro Definition Documentation

define DUMP_HASH_TABLE_LIMIT

#define DUMP_HASH_TABLE_LIMIT `100`

define HASH_LIST_SCAN_DUMP_FILE_HASH

#define HASH_LIST_SCAN_DUMP_FILE_HASH `0`

define HASH_LIST_SCAN_DUMP_HASH_TABLE

#define HASH_LIST_SCAN_DUMP_HASH_TABLE `0`

define MAKE_TFTID_TO_TUPLE_POSTION

#define MAKE_TFTID_TO_TUPLE_POSTION (
    tuple_pos,
    tftid,
    scan_id_p
) `/* multi line expression */`

define MAKE_TUPLE_POSTION

#define MAKE_TUPLE_POSTION (
    tuple_pos,
    simple_pos,
    scan_id_p
) `/* multi line expression */`

define SET_TFTID

#define SET_TFTID (
    dest_tftid,
    vol_id,
    page_id,
    param_offset
) `/* multi line expression */`


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