Skip to content

File query_evaluator.h

FileList > cubrid > src > query > query_evaluator.h

Go to the source code of this file

  • #include "heap_file.h"
  • #include "thread_compat.hpp"
  • #include <assert.h>
  • #include <stdlib.h>

Namespaces

Type Name
namespace cubxasl

Classes

Type Name
struct filter_info
struct scan_attrs
struct scan_pred

Public Types

Type Name
typedef struct filter_info FILTER_INFO
typedef cubxasl::pred_expr PRED_EXPR
typedef DB_LOGICAL(* PR_EVAL_FNC
enum QPROC_QUALIFICATION
typedef struct scan_attrs SCAN_ATTRS
typedef struct scan_pred SCAN_PRED
typedef struct val_descr VAL_DESCR

Public Functions

Type Name
DB_LOGICAL eval_data_filter (THREAD_ENTRY * thread_p, OID * oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, FILTER_INFO * filter)
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 * filter)
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)

Macros

Type Name
define ANALYTIC_ADVANCE_RANK 1 /\* advance rank \*/
define ANALYTIC_FUNC_CLEAR_FLAG (x, f) ([**x**](broker__monitor_8c.md#function-timeout))-&gt;[**flag**](classflag.md) &= ([**int**](broker__monitor_8c.md#function-timeout)) ~(f)
define ANALYTIC_FUNC_IS_FLAGED (x, f) (([**x**](broker__monitor_8c.md#function-timeout))-&gt;[**flag**](classflag.md) & ([**int**](broker__monitor_8c.md#function-timeout)) (f))
define ANALYTIC_FUNC_SET_FLAG (x, f) ([**x**](broker__monitor_8c.md#function-timeout))-&gt;[**flag**](classflag.md) \|= ([**int**](broker__monitor_8c.md#function-timeout)) (f)
define ANALYTIC_KEEP_RANK 2 /\* [**keep**](broker__monitor_8c.md#function-timeout) current rank \*/
define QPROC_ANALYTIC_IS_OFFSET_FUNCTION (func_p) /* multi line expression */

Public Types Documentation

typedef FILTER_INFO

typedef struct filter_info FILTER_INFO;

typedef PRED_EXPR

using PRED_EXPR =  cubxasl::pred_expr;

typedef PR_EVAL_FNC

typedef DB_LOGICAL(* PR_EVAL_FNC) (THREAD_ENTRY *thread_p, const PRED_EXPR *, val_descr *, OID *);

enum QPROC_QUALIFICATION

enum QPROC_QUALIFICATION {
    QPROC_QUALIFIED = 0,
    QPROC_NOT_QUALIFIED,
    QPROC_QUALIFIED_OR_NOT
};

typedef SCAN_ATTRS

typedef struct scan_attrs SCAN_ATTRS;

typedef SCAN_PRED

typedef struct scan_pred SCAN_PRED;

typedef VAL_DESCR

typedef struct val_descr VAL_DESCR;

Public Functions Documentation

function eval_data_filter

DB_LOGICAL eval_data_filter (
    THREAD_ENTRY * thread_p,
    OID * oid,
    RECDES * recdes,
    HEAP_SCANCACHE * scan_cache,
    FILTER_INFO * filter
) 

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 * filter
) 

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
) 

Macro Definition Documentation

define ANALYTIC_ADVANCE_RANK

#define ANALYTIC_ADVANCE_RANK `1    /* advance rank */`

define ANALYTIC_FUNC_CLEAR_FLAG

#define ANALYTIC_FUNC_CLEAR_FLAG (
    x,
    f
) `( x )-> flag &= ( int ) ~(f)`

define ANALYTIC_FUNC_IS_FLAGED

#define ANALYTIC_FUNC_IS_FLAGED (
    x,
    f
) `(( x )-> flag & ( int ) (f))`

define ANALYTIC_FUNC_SET_FLAG

#define ANALYTIC_FUNC_SET_FLAG (
    x,
    f
) `( x )-> flag |= ( int ) (f)`

define ANALYTIC_KEEP_RANK

#define ANALYTIC_KEEP_RANK `2   /* keep current rank */`

define QPROC_ANALYTIC_IS_OFFSET_FUNCTION

#define QPROC_ANALYTIC_IS_OFFSET_FUNCTION (
    func_p
) `/* multi line expression */`


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