Skip to content

File query_evaluator.c

FileList > cubrid > src > query > query_evaluator.c

Go to the source code of this file

  • #include "config.h"
  • #include <stdio.h>
  • #include <string.h>
  • #include "system_parameter.h"
  • #include "error_manager.h"
  • #include "heap_file.h"
  • #include "fetch.h"
  • #include "list_file.h"
  • #include "object_primitive.h"
  • #include "object_representation.h"
  • #include "regu_var.hpp"
  • #include "set_object.h"
  • #include "xasl.h"
  • #include "dbtype.h"
  • #include "query_executor.h"
  • #include "query_opfunc.h"
  • #include "thread_entry.hpp"
  • #include "xasl_predicate.hpp"
  • #include "memory_wrapper.hpp"

Public Functions

Type Name
DB_LOGICAL eval_data_filter (THREAD_ENTRY * thread_p, OID * oid, RECDES * recdesp, HEAP_SCANCACHE * scan_cache, FILTER_INFO * filterp)
PR_EVAL_FNC eval_fnc (THREAD_ENTRY * thread_p, const PRED_EXPR * pr, DB_TYPE * single_node_type)
DB_LOGICAL eval_key_filter (THREAD_ENTRY * thread_p, DB_VALUE * value, int prefix_size, DB_VALUE * prefix_value, FILTER_INFO * filterp)
DB_LOGICAL eval_pred (THREAD_ENTRY * thread_p, const PRED_EXPR * pr, val_descr * vd, OID * obj_oid)
DB_LOGICAL eval_pred_alsm4 (THREAD_ENTRY * thread_p, const PRED_EXPR * pr, val_descr * vd, OID * obj_oid)
DB_LOGICAL eval_pred_alsm5 (THREAD_ENTRY * thread_p, const PRED_EXPR * pr, val_descr * vd, OID * obj_oid)
DB_LOGICAL eval_pred_comp0 (THREAD_ENTRY * thread_p, const PRED_EXPR * pr, val_descr * vd, OID * obj_oid)
DB_LOGICAL eval_pred_comp1 (THREAD_ENTRY * thread_p, const PRED_EXPR * pr, val_descr * vd, OID * obj_oid)
DB_LOGICAL eval_pred_comp2 (THREAD_ENTRY * thread_p, const PRED_EXPR * pr, val_descr * vd, OID * obj_oid)
DB_LOGICAL eval_pred_comp3 (THREAD_ENTRY * thread_p, const PRED_EXPR * pr, val_descr * vd, OID * obj_oid)
DB_LOGICAL eval_pred_like6 (THREAD_ENTRY * thread_p, const PRED_EXPR * pr, val_descr * vd, OID * obj_oid)
DB_LOGICAL eval_pred_rlike7 (THREAD_ENTRY * thread_p, const PRED_EXPR * pr, val_descr * vd, OID * obj_oid)
DB_LOGICAL update_logical_result (THREAD_ENTRY * thread_p, DB_LOGICAL ev_res, int * qualification)

Public Static Functions

Type Name
DB_LOGICAL eval_all_eval (THREAD_ENTRY * thread_p, DB_VALUE * item, DB_SET * set, REL_OP rel_operator)
DB_LOGICAL eval_all_list_eval (THREAD_ENTRY * thread_p, DB_VALUE * item, QFILE_LIST_ID * list_id, REL_OP rel_operator)
DB_LOGICAL eval_eq_multi_set_to_sort_list (THREAD_ENTRY * thread_p, DB_SET * set, QFILE_LIST_ID * list_id)
DB_LOGICAL eval_eq_sort_list_to_sort_list (THREAD_ENTRY * thread_p, QFILE_LIST_ID * list_id1, QFILE_LIST_ID * list_id2)
int eval_item_card_set (THREAD_ENTRY * thread_p, DB_VALUE * item, DB_SET * set, REL_OP rel_operator)
int eval_item_card_sort_list (THREAD_ENTRY * thread_p, DB_VALUE * item, QFILE_LIST_ID * list_id)
DB_LOGICAL eval_le_multi_set_to_sort_list (THREAD_ENTRY * thread_p, DB_SET * set, QFILE_LIST_ID * list_id)
DB_LOGICAL eval_le_sort_list_to_multi_set (THREAD_ENTRY * thread_p, QFILE_LIST_ID * list_id, DB_SET * set)
DB_LOGICAL eval_le_sort_list_to_sort_list (THREAD_ENTRY * thread_p, QFILE_LIST_ID * list_id1, QFILE_LIST_ID * list_id2)
DB_LOGICAL eval_logical_result (DB_LOGICAL res1, DB_LOGICAL res2)
DB_LOGICAL eval_lt_multi_set_to_sort_list (THREAD_ENTRY * thread_p, DB_SET * set, QFILE_LIST_ID * list_id)
DB_LOGICAL eval_lt_sort_list_to_multi_set (THREAD_ENTRY * thread_p, QFILE_LIST_ID * list_id, DB_SET * set)
DB_LOGICAL eval_lt_sort_list_to_sort_list (THREAD_ENTRY * thread_p, QFILE_LIST_ID * list_id1, QFILE_LIST_ID * list_id2)
DB_LOGICAL eval_multi_set_to_sort_list (THREAD_ENTRY * thread_p, DB_SET * set, QFILE_LIST_ID * list_id, REL_OP rel_operator)
DB_LOGICAL eval_ne_multi_set_to_sort_list (THREAD_ENTRY * thread_p, DB_SET * set, QFILE_LIST_ID * list_id)
DB_LOGICAL eval_ne_sort_list_to_sort_list (THREAD_ENTRY * thread_p, QFILE_LIST_ID * list_id1, QFILE_LIST_ID * list_id2)
DB_LOGICAL eval_negative (DB_LOGICAL res)
DB_LOGICAL eval_set_list_cmp (THREAD_ENTRY * thread_p, const COMP_EVAL_TERM * et_comp, val_descr * vd, DB_VALUE * dbval1, DB_VALUE * dbval2)
DB_LOGICAL eval_some_eval (THREAD_ENTRY * thread_p, DB_VALUE * item, DB_SET * set, REL_OP rel_operator)
DB_LOGICAL eval_some_list_eval (THREAD_ENTRY * thread_p, DB_VALUE * item, QFILE_LIST_ID * list_id, REL_OP rel_operator)
DB_LOGICAL eval_sort_list_to_multi_set (THREAD_ENTRY * thread_p, QFILE_LIST_ID * list_id, DB_SET * set, REL_OP rel_operator)
DB_LOGICAL eval_sort_list_to_sort_list (THREAD_ENTRY * thread_p, QFILE_LIST_ID * list_id1, QFILE_LIST_ID * list_id2, REL_OP rel_operator)
DB_LOGICAL eval_sub_multi_set_to_sort_list (THREAD_ENTRY * thread_p, DB_SET * set1, QFILE_LIST_ID * list_id)
DB_LOGICAL eval_sub_sort_list_to_multi_set (THREAD_ENTRY * thread_p, QFILE_LIST_ID * list_id, DB_SET * set)
DB_LOGICAL eval_sub_sort_list_to_sort_list (THREAD_ENTRY * thread_p, QFILE_LIST_ID * list_id1, QFILE_LIST_ID * list_id2)
DB_LOGICAL eval_value_rel_cmp (THREAD_ENTRY * thread_p, DB_VALUE * dbval1, DB_VALUE * dbval2, REL_OP rel_operator, const COMP_EVAL_TERM * et_comp)

Macros

Type Name
define UNKNOWN_CARD -2 /\* [**Unknown**](broker__monitor_8c.md#function-timeout) cardinality [**of**](broker__monitor_8c.md#function-timeout) [**a**](broker__monitor_8c.md#function-timeout) set [**member**](broker__monitor_8c.md#function-timeout) \*/

Public Functions Documentation

function eval_data_filter

DB_LOGICAL eval_data_filter (
    THREAD_ENTRY * thread_p,
    OID * oid,
    RECDES * recdesp,
    HEAP_SCANCACHE * scan_cache,
    FILTER_INFO * filterp
) 

function eval_fnc

PR_EVAL_FNC eval_fnc (
    THREAD_ENTRY * thread_p,
    const  PRED_EXPR * pr,
    DB_TYPE * single_node_type
) 

function eval_key_filter

DB_LOGICAL eval_key_filter (
    THREAD_ENTRY * thread_p,
    DB_VALUE * value,
    int prefix_size,
    DB_VALUE * prefix_value,
    FILTER_INFO * filterp
) 

function eval_pred

DB_LOGICAL eval_pred (
    THREAD_ENTRY * thread_p,
    const  PRED_EXPR * pr,
    val_descr * vd,
    OID * obj_oid
) 

function eval_pred_alsm4

DB_LOGICAL eval_pred_alsm4 (
    THREAD_ENTRY * thread_p,
    const  PRED_EXPR * pr,
    val_descr * vd,
    OID * obj_oid
) 

function eval_pred_alsm5

DB_LOGICAL eval_pred_alsm5 (
    THREAD_ENTRY * thread_p,
    const  PRED_EXPR * pr,
    val_descr * vd,
    OID * obj_oid
) 

function eval_pred_comp0

DB_LOGICAL eval_pred_comp0 (
    THREAD_ENTRY * thread_p,
    const  PRED_EXPR * pr,
    val_descr * vd,
    OID * obj_oid
) 

function eval_pred_comp1

DB_LOGICAL eval_pred_comp1 (
    THREAD_ENTRY * thread_p,
    const  PRED_EXPR * pr,
    val_descr * vd,
    OID * obj_oid
) 

function eval_pred_comp2

DB_LOGICAL eval_pred_comp2 (
    THREAD_ENTRY * thread_p,
    const  PRED_EXPR * pr,
    val_descr * vd,
    OID * obj_oid
) 

function eval_pred_comp3

DB_LOGICAL eval_pred_comp3 (
    THREAD_ENTRY * thread_p,
    const  PRED_EXPR * pr,
    val_descr * vd,
    OID * obj_oid
) 

function eval_pred_like6

DB_LOGICAL eval_pred_like6 (
    THREAD_ENTRY * thread_p,
    const  PRED_EXPR * pr,
    val_descr * vd,
    OID * obj_oid
) 

function eval_pred_rlike7

DB_LOGICAL eval_pred_rlike7 (
    THREAD_ENTRY * thread_p,
    const  PRED_EXPR * pr,
    val_descr * vd,
    OID * obj_oid
) 

function update_logical_result

DB_LOGICAL update_logical_result (
    THREAD_ENTRY * thread_p,
    DB_LOGICAL ev_res,
    int * qualification
) 

Public Static Functions Documentation

function eval_all_eval

static DB_LOGICAL eval_all_eval (
    THREAD_ENTRY * thread_p,
    DB_VALUE * item,
    DB_SET * set,
    REL_OP rel_operator
) 

function eval_all_list_eval

static DB_LOGICAL eval_all_list_eval (
    THREAD_ENTRY * thread_p,
    DB_VALUE * item,
    QFILE_LIST_ID * list_id,
    REL_OP rel_operator
) 

function eval_eq_multi_set_to_sort_list

static DB_LOGICAL eval_eq_multi_set_to_sort_list (
    THREAD_ENTRY * thread_p,
    DB_SET * set,
    QFILE_LIST_ID * list_id
) 

function eval_eq_sort_list_to_sort_list

static DB_LOGICAL eval_eq_sort_list_to_sort_list (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * list_id1,
    QFILE_LIST_ID * list_id2
) 

function eval_item_card_set

static int eval_item_card_set (
    THREAD_ENTRY * thread_p,
    DB_VALUE * item,
    DB_SET * set,
    REL_OP rel_operator
) 

function eval_item_card_sort_list

static int eval_item_card_sort_list (
    THREAD_ENTRY * thread_p,
    DB_VALUE * item,
    QFILE_LIST_ID * list_id
) 

function eval_le_multi_set_to_sort_list

static DB_LOGICAL eval_le_multi_set_to_sort_list (
    THREAD_ENTRY * thread_p,
    DB_SET * set,
    QFILE_LIST_ID * list_id
) 

function eval_le_sort_list_to_multi_set

static DB_LOGICAL eval_le_sort_list_to_multi_set (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * list_id,
    DB_SET * set
) 

function eval_le_sort_list_to_sort_list

static DB_LOGICAL eval_le_sort_list_to_sort_list (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * list_id1,
    QFILE_LIST_ID * list_id2
) 

function eval_logical_result

static DB_LOGICAL eval_logical_result (
    DB_LOGICAL res1,
    DB_LOGICAL res2
) 

function eval_lt_multi_set_to_sort_list

static DB_LOGICAL eval_lt_multi_set_to_sort_list (
    THREAD_ENTRY * thread_p,
    DB_SET * set,
    QFILE_LIST_ID * list_id
) 

function eval_lt_sort_list_to_multi_set

static DB_LOGICAL eval_lt_sort_list_to_multi_set (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * list_id,
    DB_SET * set
) 

function eval_lt_sort_list_to_sort_list

static DB_LOGICAL eval_lt_sort_list_to_sort_list (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * list_id1,
    QFILE_LIST_ID * list_id2
) 

function eval_multi_set_to_sort_list

static DB_LOGICAL eval_multi_set_to_sort_list (
    THREAD_ENTRY * thread_p,
    DB_SET * set,
    QFILE_LIST_ID * list_id,
    REL_OP rel_operator
) 

function eval_ne_multi_set_to_sort_list

static DB_LOGICAL eval_ne_multi_set_to_sort_list (
    THREAD_ENTRY * thread_p,
    DB_SET * set,
    QFILE_LIST_ID * list_id
) 

function eval_ne_sort_list_to_sort_list

static DB_LOGICAL eval_ne_sort_list_to_sort_list (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * list_id1,
    QFILE_LIST_ID * list_id2
) 

function eval_negative

static DB_LOGICAL eval_negative (
    DB_LOGICAL res
) 

function eval_set_list_cmp

static DB_LOGICAL eval_set_list_cmp (
    THREAD_ENTRY * thread_p,
    const  COMP_EVAL_TERM * et_comp,
    val_descr * vd,
    DB_VALUE * dbval1,
    DB_VALUE * dbval2
) 

function eval_some_eval

static DB_LOGICAL eval_some_eval (
    THREAD_ENTRY * thread_p,
    DB_VALUE * item,
    DB_SET * set,
    REL_OP rel_operator
) 

function eval_some_list_eval

static DB_LOGICAL eval_some_list_eval (
    THREAD_ENTRY * thread_p,
    DB_VALUE * item,
    QFILE_LIST_ID * list_id,
    REL_OP rel_operator
) 

function eval_sort_list_to_multi_set

static DB_LOGICAL eval_sort_list_to_multi_set (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * list_id,
    DB_SET * set,
    REL_OP rel_operator
) 

function eval_sort_list_to_sort_list

static DB_LOGICAL eval_sort_list_to_sort_list (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * list_id1,
    QFILE_LIST_ID * list_id2,
    REL_OP rel_operator
) 

function eval_sub_multi_set_to_sort_list

static DB_LOGICAL eval_sub_multi_set_to_sort_list (
    THREAD_ENTRY * thread_p,
    DB_SET * set1,
    QFILE_LIST_ID * list_id
) 

function eval_sub_sort_list_to_multi_set

static DB_LOGICAL eval_sub_sort_list_to_multi_set (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * list_id,
    DB_SET * set
) 

function eval_sub_sort_list_to_sort_list

static DB_LOGICAL eval_sub_sort_list_to_sort_list (
    THREAD_ENTRY * thread_p,
    QFILE_LIST_ID * list_id1,
    QFILE_LIST_ID * list_id2
) 

function eval_value_rel_cmp

static DB_LOGICAL eval_value_rel_cmp (
    THREAD_ENTRY * thread_p,
    DB_VALUE * dbval1,
    DB_VALUE * dbval2,
    REL_OP rel_operator,
    const  COMP_EVAL_TERM * et_comp
) 

Macro Definition Documentation

define UNKNOWN_CARD

#define UNKNOWN_CARD `-2    /* Unknown cardinality of  a set member */`


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