Skip to content

File xasl.h

FileList > cubrid > src > query > xasl.h

Go to the source code of this file

  • #include <assert.h>
  • #include "access_json_table.hpp"
  • #include "access_spec.hpp"
  • #include "memory_hash.h"
  • #include "query_hash_join.h"
  • #include "query_hash_scan.h"
  • #include "query_list.h"
  • #include "regu_var.hpp"
  • #include "storage_common.h"
  • #include "string_opfunc.h"
  • #include "subquery_cache.h"
  • #include "pl_signature.hpp"
  • #include "external_sort.h"
  • #include "heap_file.h"
  • #include "object_representation_sr.h"
  • #include "scan_manager.h"
  • #include "memory_cwrapper.h"

Namespaces

Type Name
namespace cubquery
namespace cubxasl
namespace memoize
namespace parallel_query_execute

Classes

Type Name
struct access_spec_node
struct analytic_stat
struct buildlist_proc_node
struct buildvalue_proc_node
struct cls_spec_node
struct connectby_proc_node
struct cte_proc_node
struct dblink_spec_node
struct delete_proc_node
struct fetch_proc_node
struct func_pred
struct func_stat
struct groupby_stat
struct hashjoin_proc_node
struct insert_proc_node
struct list_spec_node
struct merge_proc_node
struct mergelist_proc_node
struct method_spec_node
struct odku_info
struct orderby_stat
struct partition_spec_node
struct pred_expr_with_context
struct qproc_db_value_list
struct reguval_list_spec_node
struct selupd_list
struct set_spec_node
struct showstmt_spec_node
struct topn_tuple
struct topn_tuples
struct union_proc_node
struct update_assignment
struct update_proc_node
struct upddel_class_info
struct val_list_node
struct xasl_node
struct xasl_node_header
struct xasl_stat
struct xasl_stream

Public Types

Type Name
enum ACCESS_METHOD
enum ACCESS_SCHEMA_TYPE
enum ACCESS_SPEC_FLAG
typedef struct access_spec_node ACCESS_SPEC_TYPE
typedef cubquery::aggregate_hash_context AGGREGATE_HASH_CONTEXT
typedef cubxasl::aggregate_list_node AGGREGATE_TYPE
typedef cubxasl::analytic_eval_type ANALYTIC_EVAL_TYPE
typedef struct analytic_stat ANALYTIC_STATS
typedef struct buildlist_proc_node BUILDLIST_PROC_NODE
typedef struct buildvalue_proc_node BUILDVALUE_PROC_NODE
typedef struct cls_spec_node CLS_SPEC_TYPE
typedef struct connectby_proc_node CONNECTBY_PROC_NODE
typedef struct cte_proc_node CTE_PROC_NODE
typedef struct dblink_spec_node DBLINK_SPEC_TYPE
typedef struct delete_proc_node DELETE_PROC_NODE
typedef struct fetch_proc_node FETCH_PROC_NODE
typedef struct func_pred FUNC_PRED
typedef struct func_stat FUNC_STATS
typedef struct groupby_stat GROUPBY_STATS
typedef struct hashjoin_proc_node HASHJOIN_PROC_NODE
typedef union hybrid_node HYBRID_NODE
typedef struct insert_proc_node INSERT_PROC_NODE
typedef struct list_spec_node LIST_SPEC_TYPE
typedef struct mergelist_proc_node MERGELIST_PROC_NODE
typedef struct merge_proc_node MERGE_PROC_NODE
typedef struct method_spec_node METHOD_SPEC_TYPE
typedef struct odku_info ODKU_INFO
typedef struct orderby_stat ORDERBY_STATS
typedef struct partition_spec_node PARTITION_SPEC_TYPE
typedef cubxasl::pred_expr PRED_EXPR
typedef struct pred_expr_with_context PRED_EXPR_WITH_CONTEXT
enum PROC_TYPE
typedef struct qproc_db_value_list * QPROC_DB_VALUE_LIST
typedef struct reguval_list_spec_node REGUVAL_LIST_SPEC_TYPE
typedef struct selupd_list SELUPD_LIST
typedef struct set_spec_node SET_SPEC_TYPE
typedef struct showstmt_spec_node SHOWSTMT_SPEC_TYPE
enum TARGET_TYPE
typedef struct topn_tuple TOPN_TUPLE
typedef struct topn_tuples TOPN_TUPLES
typedef struct union_proc_node UNION_PROC_NODE
typedef struct update_assignment UPDATE_ASSIGNMENT
typedef struct update_proc_node UPDATE_PROC_NODE
typedef struct upddel_class_info UPDDEL_CLASS_INFO
typedef struct val_list_node VAL_LIST
typedef struct xasl_node XASL_NODE
typedef struct xasl_node_header XASL_NODE_HEADER
typedef struct xasl_stat XASL_STATS
enum XASL_STATUS
typedef struct xasl_stream XASL_STREAM
typedef struct xasl_unpack_info XASL_UNPACK_INFO
union hybrid_node

Macros

Type Name
define ACCESS_SPEC_CLS_OID (ptr) ((ptr)-&gt;s.cls\_node.cls\_oid)
define ACCESS_SPEC_CLS_REGU_LIST (ptr) ((ptr)-&gt;[**s.cls\_node.cls\_regu\_list**](broker__monitor_8c.md#function-timeout))
define ACCESS_SPEC_CLS_SPEC (ptr) ((ptr)-&gt;s.cls\_node)
define ACCESS_SPEC_CONNECT_BY_LIST_ID (ptr) ([**ACCESS\_SPEC\_XASL\_NODE**](xasl_8h.md#define-access_spec_xasl_node)(ptr)-&gt;proc.connect\_by.input\_list\_id)
define ACCESS_SPEC_DBLINK_LIST_ID (ptr) ([**ACCESS\_SPEC\_DBLINK\_XASL\_NODE**](xasl_8h.md#define-access_spec_dblink_xasl_node)(ptr)-&gt;list\_id)
define ACCESS_SPEC_DBLINK_SPEC (ptr) ((ptr)-&gt;s.dblink\_node)
define ACCESS_SPEC_DBLINK_XASL_NODE (ptr) ((ptr)-&gt;s.dblink\_node.xasl\_node)
define ACCESS_SPEC_FLAGS (ptr) ((ptr)-&gt;flags)
define ACCESS_SPEC_HFID (ptr) ((ptr)-&gt;s.cls\_node.hfid)
define ACCESS_SPEC_IS_FLAGED (spec, f) (([**ACCESS\_SPEC\_FLAGS**](xasl_8h.md#define-access_spec_flags)(spec) & ([**int**](broker__monitor_8c.md#function-timeout)) (f)) != 0)
define ACCESS_SPEC_JSON_TABLE_M_NODE_COUNT (ptr) ((ptr)-&gt;s.json\_table\_node.m\_node\_count)
define ACCESS_SPEC_JSON_TABLE_REGU_VAR (ptr) ((ptr)-&gt;s.json\_table\_node.m\_json\_reguvar)
define ACCESS_SPEC_JSON_TABLE_ROOT_NODE (ptr) ((ptr)-&gt;s.json\_table\_node.m\_root\_node)
define ACCESS_SPEC_JSON_TABLE_SPEC (ptr) ((ptr)-&gt;[**s.json\_table\_node**](access__json__table_8hpp.md#typedef-json_table_node))
define ACCESS_SPEC_LIST_ID (ptr) ([**ACCESS\_SPEC\_XASL\_NODE**](xasl_8h.md#define-access_spec_xasl_node)(ptr)-&gt;list\_id)
define ACCESS_SPEC_LIST_REGU_LIST (ptr) ((ptr)-&gt;[**s.list\_node.list\_regu\_list**](broker__monitor_8c.md#function-timeout))
define ACCESS_SPEC_LIST_SPEC (ptr) ((ptr)-&gt;s.list\_node)
define ACCESS_SPEC_METHOD_LIST_ID (ptr) ([**ACCESS\_SPEC\_METHOD\_XASL\_NODE**](xasl_8h.md#define-access_spec_method_xasl_node)(ptr)-&gt;list\_id)
define ACCESS_SPEC_METHOD_REGU_LIST (ptr) ((ptr)-&gt;s.method\_node.method\_regu\_list)
define ACCESS_SPEC_METHOD_SIG_ARRAY (ptr) ((ptr)-&gt;s.method\_node.sig\_array)
define ACCESS_SPEC_METHOD_SPEC (ptr) ((ptr)-&gt;s.method\_node)
define ACCESS_SPEC_METHOD_XASL_NODE (ptr) ((ptr)-&gt;s.method\_node.xasl\_node)
define ACCESS_SPEC_RLIST_SPEC (ptr) ((ptr)-&gt;s.reguval\_list\_node)
define ACCESS_SPEC_RLIST_VALPTR_LIST (ptr) ((ptr)-&gt;s.reguval\_list\_node.valptr\_list)
define ACCESS_SPEC_SET_FLAG (spec, f) ([**ACCESS\_SPEC\_FLAGS**](xasl_8h.md#define-access_spec_flags)(spec) \|= ([**int**](broker__monitor_8c.md#function-timeout)) (f))
define ACCESS_SPEC_SET_PTR (ptr) ((ptr)-&gt;s.set\_node.set\_ptr)
define ACCESS_SPEC_SET_REGU_LIST (ptr) ((ptr)-&gt;s.set\_node.set\_regu\_list)
define ACCESS_SPEC_SET_SPEC (ptr) ((ptr)-&gt;s.set\_node)
define ACCESS_SPEC_SHOWSTMT_SPEC (ptr) ((ptr)-&gt;s.showstmt\_node)
define ACCESS_SPEC_UNSET_FLAG (spec, f) ([**ACCESS\_SPEC\_FLAGS**](xasl_8h.md#define-access_spec_flags)(spec) &= ([**int**](broker__monitor_8c.md#function-timeout)) ~(f))
define ACCESS_SPEC_XASL_NODE (ptr) ((ptr)-&gt;s.list\_node.xasl\_node)
define CHECK_REGU_VARIABLE_XASL_STATUS (r) ((r)-&gt;xasl != [**NULL**](freelistheap_8h.md#define-null) ? ((r)-&gt;xasl)-&gt;status : XASL\_SUCCESS)
define EXECUTE_REGU_VARIABLE_XASL (thread_p, r, v)
define GET_XASL_HEADER_CLASS_OID_LIST (header) (([**OID**](dbtype__def_8h.md#typedef-oid) \*) (([**char**](broker__monitor_8c.md#function-timeout) \*) (header) + [**sizeof**](broker__monitor_8c.md#function-timeout)([**OID**](dbtype__def_8h.md#typedef-oid)) + [**sizeof**](broker__monitor_8c.md#function-timeout)([**int**](broker__monitor_8c.md#function-timeout))))
define GET_XASL_HEADER_CREATOR_OID (header) (([**OID**](dbtype__def_8h.md#typedef-oid) \*) header)
define GET_XASL_HEADER_DBVAL_CNT (header) /* multi line expression */
define GET_XASL_HEADER_N_OID_LIST (header) (\*(([**int**](broker__monitor_8c.md#function-timeout) \*) (([**char**](broker__monitor_8c.md#function-timeout) \*) (header) + [**sizeof**](broker__monitor_8c.md#function-timeout)([**OID**](dbtype__def_8h.md#typedef-oid)))))
define GET_XASL_HEADER_REPR_ID_LIST (header) /* multi line expression */
define GET_XASL_STREAM_BODY_DATA (stream) (([**char**](broker__monitor_8c.md#function-timeout) \*) [**XASL\_STREAM\_BODY\_PTR**](xasl_8h.md#define-xasl_stream_body_ptr)(stream) + [**sizeof**](broker__monitor_8c.md#function-timeout)([**int**](broker__monitor_8c.md#function-timeout)))
define GET_XASL_STREAM_BODY_SIZE (stream) (\*(([**int**](broker__monitor_8c.md#function-timeout) \*) [**XASL\_STREAM\_BODY\_PTR**](xasl_8h.md#define-xasl_stream_body_ptr)(stream)))
define GET_XASL_STREAM_HEADER_DATA (stream) (([**char**](broker__monitor_8c.md#function-timeout) \*) [**XASL\_STREAM\_HEADER\_PTR**](xasl_8h.md#define-xasl_stream_header_ptr)(stream) + [**sizeof**](broker__monitor_8c.md#function-timeout)([**int**](broker__monitor_8c.md#function-timeout)))
define GET_XASL_STREAM_HEADER_SIZE (stream) (\*(([**int**](broker__monitor_8c.md#function-timeout) \*) [**XASL\_STREAM\_HEADER\_PTR**](xasl_8h.md#define-xasl_stream_header_ptr)(stream)))
define INIT_XASL_NODE_HEADER (X) /* multi line expression */
define IS_ANY_INDEX_ACCESS (access_) /* multi line expression */
define IS_DBLINK_CURSOR_REWIND_XASL (x) [**XASL\_IS\_FLAGED**](xasl_8h.md#define-xasl_is_flaged) (([**x**](broker__monitor_8c.md#function-timeout)), [**XASL\_DBLINK\_CURSOR\_REWIND**](xasl_8h.md#define-xasl_dblink_cursor_rewind))
define IS_XASL_INITIAL_STATUS (s) ((s) &lt;= XASL\_CLEARED)
define OR_PACK_XASL_ID (PTR, X) /* multi line expression */
define OR_PACK_XASL_NODE_HEADER (PTR, X) /* multi line expression */
define OR_UNPACK_XASL_ID (PTR, X) /* multi line expression */
define OR_UNPACK_XASL_NODE_HEADER (PTR, X) /* multi line expression */
define OR_XASL_ID_SIZE ([**OR\_SHA1\_SIZE**](object__representation__constants_8h.md#define-or_sha1_size) + [**OR\_CACHE\_TIME\_SIZE**](cache__time_8h.md#define-or_cache_time_size))
define PCOL_FIRST_TUPLE_OFFSET [**PCOL\_PARENTPOS\_TUPLE\_OFFSET**](xasl_8h.md#define-pcol_parentpos_tuple_offset)
define PCOL_INDEX_STRING_TUPLE_OFFSET 4
define PCOL_ISCYCLE_TUPLE_OFFSET 1
define PCOL_ISLEAF_TUPLE_OFFSET 2
define PCOL_LEVEL_TUPLE_OFFSET 3
define PCOL_PARENTPOS_TUPLE_OFFSET 5
define QPROC_IS_INTERPOLATION_FUNC (func_p) /* multi line expression */
define SET_XASL_HEADER_CLASS_OID_LIST (header, list, n) /* multi line expression */
define SET_XASL_HEADER_CREATOR_OID (header, oid) (\*(([**OID**](dbtype__def_8h.md#typedef-oid) \*) header) = \*(oid))
define SET_XASL_HEADER_DBVAL_CNT (header, cnt) /* multi line expression */
define SET_XASL_HEADER_N_OID_LIST (header, n) (\*(([**int**](broker__monitor_8c.md#function-timeout) \*) (([**char**](broker__monitor_8c.md#function-timeout) \*) (header) + [**sizeof**](broker__monitor_8c.md#function-timeout)([**OID**](dbtype__def_8h.md#typedef-oid)))) = (n))
define SET_XASL_HEADER_REPR_ID_LIST (header, list, n) /* multi line expression */
define SET_XASL_STREAM_BODY_DATA (stream, data, size) /* multi line expression */
define SET_XASL_STREAM_BODY_SIZE (stream, size) (\*(([**int**](broker__monitor_8c.md#function-timeout) \*) [**XASL\_STREAM\_BODY\_PTR**](xasl_8h.md#define-xasl_stream_body_ptr)(stream)) = (size))
define SET_XASL_STREAM_HEADER_DATA (stream, data, size) /* multi line expression */
define SET_XASL_STREAM_HEADER_SIZE (stream, size) (\*(([**int**](broker__monitor_8c.md#function-timeout) \*) [**XASL\_STREAM\_HEADER\_PTR**](xasl_8h.md#define-xasl_stream_header_ptr)(stream)) = (size))
define UNPACK_SCALE 3
define XASL_ANALYTIC_SKIP_SORT (0x1 &lt;&lt; 21) /\* analytic skip sort [**optimization**](broker__monitor_8c.md#function-timeout) \*/
define XASL_ANALYTIC_USES_LIMIT_OPT (0x1 &lt;&lt; 20) /\* analytic [**uses**](broker__monitor_8c.md#function-timeout) limit [**optimization**](broker__monitor_8c.md#function-timeout) \*/
define XASL_CLASS_NO_TCARD -1
define XASL_CLEAR_FLAG (x, f) ([**x**](broker__monitor_8c.md#function-timeout))-&gt;[**flag**](classflag.md) &= ([**int**](broker__monitor_8c.md#function-timeout)) ~(f)
define XASL_DBLINK_CURSOR_REWIND (0x1 &lt;&lt; 22) /\* [**correlated**](broker__monitor_8c.md#function-timeout) [**DBLink**](broker__monitor_8c.md#function-timeout) [**subquery:**](broker__monitor_8c.md#function-timeout) [**rewind**](broker__monitor_8c.md#function-timeout) [**CCI**](broker__monitor_8c.md#function-timeout) cursor [**instead**](broker__monitor_8c.md#function-timeout) [**of**](broker__monitor_8c.md#function-timeout) [**re**](broker__monitor_8c.md#function-timeout)-[**issuing**](broker__monitor_8c.md#function-timeout) [**cci\_execute**](broker__monitor_8c.md#function-timeout) [**per**](broker__monitor_8c.md#function-timeout) outer [**row**](broker__monitor_8c.md#function-timeout) \*/
define XASL_DECACHE_CLONE (0x1 &lt;&lt; 12) /\* decache [**clone**](broker__monitor_8c.md#function-timeout) \*/
define XASL_G_GRBYNUM_FLAG_LIMIT_GT_LT 0x10
define XASL_G_GRBYNUM_FLAG_LIMIT_LT 0x08
define XASL_G_GRBYNUM_FLAG_SCAN_CHECK 0x02
define XASL_G_GRBYNUM_FLAG_SCAN_CONTINUE 0x01
define XASL_G_GRBYNUM_FLAG_SCAN_STOP 0x04
define XASL_HAS_CONNECT_BY (0x1 &lt;&lt; 6) /\* [**has**](broker__monitor_8c.md#function-timeout) [**CONNECT**](broker__monitor_8c.md#function-timeout) [**BY**](broker__monitor_8c.md#function-timeout) [**clause**](broker__monitor_8c.md#function-timeout) \*/
define XASL_HAS_NOCYCLE (0x1 &lt;&lt; 5) /\* [**NOCYCLE**](broker__monitor_8c.md#function-timeout) [**is**](broker__monitor_8c.md#function-timeout) [**specified**](broker__monitor_8c.md#function-timeout) \*/
define XASL_ID_COPY (X1, X2) /* multi line expression */
define XASL_ID_EQ (X1, X2) /* multi line expression */
define XASL_ID_IS_NULL (X) ((([**XASL\_ID**](storage__common_8h.md#typedef-xasl_id) \*) ([**X**](broker__monitor_8c.md#function-timeout)) != [**NULL**](freelistheap_8h.md#define-null)) && ([**X**](broker__monitor_8c.md#function-timeout))-&gt;time\_stored.sec == 0)
define XASL_ID_SET_NULL (X) /* multi line expression */
define XASL_IGNORE_CYCLES (0x1 &lt;&lt; 8) /\* [**is**](broker__monitor_8c.md#function-timeout) [**for**](dynamic__load_8c.md#function-for) [**LEVEL**](broker__monitor_8c.md#function-timeout) [**usage**](generate__timezone_8cpp.md#function-usage) in connect [**by**](broker__monitor_8c.md#function-timeout) clause... [**sometimes**](broker__monitor_8c.md#function-timeout) [**cycles**](broker__monitor_8c.md#function-timeout) [**may**](broker__monitor_8c.md#function-timeout) [**be**](broker__monitor_8c.md#function-timeout) [**ignored**](broker__monitor_8c.md#function-timeout) \*/
define XASL_INCLUDES_TDE_CLASS (0x1 &lt;&lt; 16) /\* [**is**](broker__monitor_8c.md#function-timeout) [**any**](broker__monitor_8c.md#function-timeout) [**tde**](util__cs_8c.md#function-tde) [**class**](broker__monitor_8c.md#function-timeout) [**related**](broker__monitor_8c.md#function-timeout) \*/
define XASL_INSTNUM_FLAG_EVAL_DEFER 0x10
define XASL_INSTNUM_FLAG_SCAN_CHECK 0x02
define XASL_INSTNUM_FLAG_SCAN_CONTINUE 0x01
define XASL_INSTNUM_FLAG_SCAN_LAST_STOP 0x08
define XASL_INSTNUM_FLAG_SCAN_STOP 0x04
define XASL_INSTNUM_FLAG_SCAN_STOP_AT_ANALYTIC 0x20
define XASL_IS_FLAGED (x, f) ((([**x**](broker__monitor_8c.md#function-timeout))-&gt;[**flag**](classflag.md) & ([**int**](broker__monitor_8c.md#function-timeout)) (f)) != 0)
define XASL_IS_MERGE_QUERY (0x1 &lt;&lt; 10) /\* query [**belongs**](broker__monitor_8c.md#function-timeout) to [**a**](broker__monitor_8c.md#function-timeout) merge statement \*/
define XASL_LINK_TO_REGU_VARIABLE 0x1 /\* [**is**](broker__monitor_8c.md#function-timeout) [**linked**](broker__monitor_8c.md#function-timeout) to [**regu**](broker__monitor_8c.md#function-timeout) variable ? \*/
define XASL_MULTI_UPDATE_AGG (0x1 &lt;&lt; 7) /\* [**is**](broker__monitor_8c.md#function-timeout) [**for**](dynamic__load_8c.md#function-for) [**multi**](broker__monitor_8c.md#function-timeout)-update with [**aggregate**](broker__monitor_8c.md#function-timeout) \*/
define XASL_NEED_SINGLE_TUPLE_SCAN (0x1 &lt;&lt; 15) /\* [**for**](dynamic__load_8c.md#function-for) exists operation \*/
define XASL_NODE_HEADER_SIZE [**OR\_INT\_SIZE**](object__representation__constants_8h.md#define-or_int_size) + [**OR\_INT\_SIZE**](object__representation__constants_8h.md#define-or_int_size) /\* xasl\_flag + [**id**](thread__worker__pool__impl_8hpp.md#enum-id) \*/
define XASL_NO_FIXED_SCAN (0x1 &lt;&lt; 14) /\* [**disable**](broker__monitor_8c.md#function-timeout) fixed scan [**for**](dynamic__load_8c.md#function-for) [**this**](broker__monitor_8c.md#function-timeout) proc \*/
define XASL_NO_PARALLEL_SUBQUERY (0x1 &lt;&lt; 19) /\* [**disable**](broker__monitor_8c.md#function-timeout) parallel subquery \*/
define XASL_OBJFETCH_IGNORE_CLASSOID (0x1 &lt;&lt; 9) /\* fetch proc [**should**](broker__monitor_8c.md#function-timeout) ignore [**class**](broker__monitor_8c.md#function-timeout) oid \*/
define XASL_ORDBYNUM_FLAG_SCAN_CHECK 0x02
define XASL_ORDBYNUM_FLAG_SCAN_CONTINUE 0x01
define XASL_ORDBYNUM_FLAG_SCAN_STOP 0x04
define XASL_RETURN_GENERATED_KEYS (0x1 &lt;&lt; 13) /\* [**return**](broker__monitor_8c.md#function-timeout) [**generated**](broker__monitor_8c.md#function-timeout) keys \*/
define XASL_SAMPLING_SCAN (0x1 &lt;&lt; 17) /\* [**is**](broker__monitor_8c.md#function-timeout) sampling scan \*/
define XASL_SERIAL_OID_TCARD -2
define XASL_SET_FLAG (x, f) ([**x**](broker__monitor_8c.md#function-timeout))-&gt;[**flag**](classflag.md) \|= ([**int**](broker__monitor_8c.md#function-timeout)) (f)
define XASL_SKIP_ORDERBY_LIST (0x1 &lt;&lt; 1) /\* skip [**sorting**](broker__monitor_8c.md#function-timeout) [**for**](dynamic__load_8c.md#function-for) orderby\_list ? \*/
define XASL_STREAM_BODY_PTR (stream) ([**GET\_XASL\_STREAM\_HEADER\_DATA**](xasl_8h.md#define-get_xasl_stream_header_data)(stream) + [**GET\_XASL\_STREAM\_HEADER\_SIZE**](xasl_8h.md#define-get_xasl_stream_header_size)(stream))
define XASL_STREAM_HEADER 8
define XASL_STREAM_HEADER_PTR (stream) (([**char**](broker__monitor_8c.md#function-timeout) \*) (stream))
define XASL_TOP_MOST_XASL (0x1 &lt;&lt; 3) /\* [**this**](broker__monitor_8c.md#function-timeout) [**is**](broker__monitor_8c.md#function-timeout) [**a**](broker__monitor_8c.md#function-timeout) top [**most**](broker__monitor_8c.md#function-timeout) [**XASL**](broker__monitor_8c.md#function-timeout) \*/
define XASL_TO_BE_CACHED (0x1 &lt;&lt; 4) /\* [**the**](broker__monitor_8c.md#function-timeout) result [**will**](broker__monitor_8c.md#function-timeout) [**be**](broker__monitor_8c.md#function-timeout) [**cached**](broker__monitor_8c.md#function-timeout) \*/
define XASL_USES_MRO (0x1 &lt;&lt; 11) /\* query [**uses**](broker__monitor_8c.md#function-timeout) [**multi**](broker__monitor_8c.md#function-timeout) range [**optimization**](broker__monitor_8c.md#function-timeout) \*/
define XASL_USES_SQ_CACHE (0x1 &lt;&lt; 18) /\* subquery [**uses**](broker__monitor_8c.md#function-timeout) result cache \*/
define XASL_WAIT_MSECS_NOCHANGE -2
define XASL_ZERO_CORR_LEVEL (0x1 &lt;&lt; 2) /\* [**is**](broker__monitor_8c.md#function-timeout) [**zero**](broker__monitor_8c.md#function-timeout)-level [**uncorrelated**](broker__monitor_8c.md#function-timeout) subquery ? \*/

Public Types Documentation

enum ACCESS_METHOD

enum ACCESS_METHOD {
    ACCESS_METHOD_SEQUENTIAL,
    ACCESS_METHOD_INDEX,
    ACCESS_METHOD_JSON_TABLE,
    ACCESS_METHOD_SCHEMA,
    ACCESS_METHOD_SEQUENTIAL_RECORD_INFO,
    ACCESS_METHOD_SEQUENTIAL_PAGE_SCAN,
    ACCESS_METHOD_INDEX_KEY_INFO,
    ACCESS_METHOD_INDEX_NODE_INFO,
    ACCESS_METHOD_SEQUENTIAL_SAMPLING_SCAN
};

enum ACCESS_SCHEMA_TYPE

enum ACCESS_SCHEMA_TYPE {
    NO_SCHEMA,
    INDEX_SCHEMA,
    COLUMNS_SCHEMA,
    FULL_COLUMNS_SCHEMA
};

enum ACCESS_SPEC_FLAG

enum ACCESS_SPEC_FLAG {
    ACCESS_SPEC_FLAG_NONE = 0,
    ACCESS_SPEC_FLAG_FOR_UPDATE = 0x1,
    ACCESS_SPEC_FLAG_NO_PARALLEL_HEAP_SCAN = 0x1 << 1,
    ACCESS_SPEC_FLAG_NUM_PARALLEL_THREADS = 0x1 << 2,
    ACCESS_SPEC_FLAG_MERGEABLE_LIST = 0x1 << 3,
    ACCESS_SPEC_FLAG_BUILDVALUE_OPT = 0x1 << 4,
    ACCESS_SPEC_FLAG_ONLY_MIN_MAX_SCAN = 0x1 << 5,
    ACCESS_SPEC_FLAG_FORCE_FIXED_SCAN = 0x1 << 6
};

typedef ACCESS_SPEC_TYPE

typedef struct access_spec_node ACCESS_SPEC_TYPE;

typedef AGGREGATE_HASH_CONTEXT

using AGGREGATE_HASH_CONTEXT =  cubquery::aggregate_hash_context;

typedef AGGREGATE_TYPE

using AGGREGATE_TYPE =  cubxasl::aggregate_list_node;

typedef ANALYTIC_EVAL_TYPE

using ANALYTIC_EVAL_TYPE =  cubxasl::analytic_eval_type;

typedef ANALYTIC_STATS

typedef struct analytic_stat ANALYTIC_STATS;

typedef BUILDLIST_PROC_NODE

typedef struct buildlist_proc_node BUILDLIST_PROC_NODE;

typedef BUILDVALUE_PROC_NODE

typedef struct buildvalue_proc_node BUILDVALUE_PROC_NODE;

typedef CLS_SPEC_TYPE

typedef struct cls_spec_node CLS_SPEC_TYPE;

typedef CONNECTBY_PROC_NODE

typedef struct connectby_proc_node CONNECTBY_PROC_NODE;

typedef CTE_PROC_NODE

typedef struct cte_proc_node CTE_PROC_NODE;

typedef struct dblink_spec_node DBLINK_SPEC_TYPE;

typedef DELETE_PROC_NODE

typedef struct delete_proc_node DELETE_PROC_NODE;

typedef FETCH_PROC_NODE

typedef struct fetch_proc_node FETCH_PROC_NODE;

typedef FUNC_PRED

typedef struct func_pred FUNC_PRED;

typedef FUNC_STATS

typedef struct func_stat FUNC_STATS;

typedef GROUPBY_STATS

typedef struct groupby_stat GROUPBY_STATS;

typedef HASHJOIN_PROC_NODE

typedef struct hashjoin_proc_node HASHJOIN_PROC_NODE;

typedef HYBRID_NODE

typedef union hybrid_node HYBRID_NODE;

typedef INSERT_PROC_NODE

typedef struct insert_proc_node INSERT_PROC_NODE;

typedef LIST_SPEC_TYPE

typedef struct list_spec_node LIST_SPEC_TYPE;

typedef MERGELIST_PROC_NODE

typedef struct mergelist_proc_node MERGELIST_PROC_NODE;

typedef MERGE_PROC_NODE

typedef struct merge_proc_node MERGE_PROC_NODE;

typedef METHOD_SPEC_TYPE

typedef struct method_spec_node METHOD_SPEC_TYPE;

typedef ODKU_INFO

typedef struct odku_info ODKU_INFO;

typedef ORDERBY_STATS

typedef struct orderby_stat ORDERBY_STATS;

typedef PARTITION_SPEC_TYPE

typedef struct partition_spec_node PARTITION_SPEC_TYPE;

typedef PRED_EXPR

using PRED_EXPR =  cubxasl::pred_expr;

typedef PRED_EXPR_WITH_CONTEXT

typedef struct pred_expr_with_context PRED_EXPR_WITH_CONTEXT;

enum PROC_TYPE

enum PROC_TYPE {
    UNION_PROC,
    DIFFERENCE_PROC,
    INTERSECTION_PROC,
    OBJFETCH_PROC,
    BUILDLIST_PROC,
    BUILDVALUE_PROC,
    SCAN_PROC,
    MERGELIST_PROC,
    HASHJOIN_PROC,
    UPDATE_PROC,
    DELETE_PROC,
    INSERT_PROC,
    CONNECTBY_PROC,
    DO_PROC,
    MERGE_PROC,
    BUILD_SCHEMA_PROC,
    CTE_PROC
};

typedef QPROC_DB_VALUE_LIST

typedef struct qproc_db_value_list* QPROC_DB_VALUE_LIST;

typedef REGUVAL_LIST_SPEC_TYPE

typedef struct reguval_list_spec_node REGUVAL_LIST_SPEC_TYPE;

typedef SELUPD_LIST

typedef struct selupd_list SELUPD_LIST;

typedef SET_SPEC_TYPE

typedef struct set_spec_node SET_SPEC_TYPE;

typedef SHOWSTMT_SPEC_TYPE

typedef struct showstmt_spec_node SHOWSTMT_SPEC_TYPE;

enum TARGET_TYPE

enum TARGET_TYPE {
    TARGET_CLASS = 1,
    TARGET_CLASS_ATTR,
    TARGET_LIST,
    TARGET_SET,
    TARGET_JSON_TABLE,
    TARGET_METHOD,
    TARGET_REGUVAL_LIST,
    TARGET_SHOWSTMT,
    TARGET_DBLINK
};

typedef TOPN_TUPLE

typedef struct topn_tuple TOPN_TUPLE;

typedef TOPN_TUPLES

typedef struct topn_tuples TOPN_TUPLES;

typedef UNION_PROC_NODE

typedef struct union_proc_node UNION_PROC_NODE;

typedef UPDATE_ASSIGNMENT

typedef struct update_assignment UPDATE_ASSIGNMENT;

typedef UPDATE_PROC_NODE

typedef struct update_proc_node UPDATE_PROC_NODE;

typedef UPDDEL_CLASS_INFO

typedef struct upddel_class_info UPDDEL_CLASS_INFO;

typedef VAL_LIST

typedef struct val_list_node VAL_LIST;

typedef XASL_NODE

typedef struct xasl_node XASL_NODE;

typedef XASL_NODE_HEADER

typedef struct xasl_node_header XASL_NODE_HEADER;

typedef XASL_STATS

typedef struct xasl_stat XASL_STATS;

enum XASL_STATUS

enum XASL_STATUS {
    XASL_BUILD,
    XASL_INITIALIZED,
    XASL_CLEARED,
    XASL_SUCCESS,
    XASL_FAILURE
};

typedef XASL_STREAM

typedef struct xasl_stream XASL_STREAM;

typedef XASL_UNPACK_INFO

typedef struct xasl_unpack_info XASL_UNPACK_INFO;

union hybrid_node



Macro Definition Documentation

define ACCESS_SPEC_CLS_OID

#define ACCESS_SPEC_CLS_OID (
    ptr
) `((ptr)->s.cls_node.cls_oid)`

define ACCESS_SPEC_CLS_REGU_LIST

#define ACCESS_SPEC_CLS_REGU_LIST (
    ptr
) `((ptr)-> s.cls_node.cls_regu_list )`

define ACCESS_SPEC_CLS_SPEC

#define ACCESS_SPEC_CLS_SPEC (
    ptr
) `((ptr)->s.cls_node)`

define ACCESS_SPEC_CONNECT_BY_LIST_ID

#define ACCESS_SPEC_CONNECT_BY_LIST_ID (
    ptr
) `( ACCESS_SPEC_XASL_NODE (ptr)->proc.connect_by.input_list_id)`

#define ACCESS_SPEC_DBLINK_LIST_ID (
    ptr
) `( ACCESS_SPEC_DBLINK_XASL_NODE (ptr)->list_id)`

#define ACCESS_SPEC_DBLINK_SPEC (
    ptr
) `((ptr)->s.dblink_node)`

#define ACCESS_SPEC_DBLINK_XASL_NODE (
    ptr
) `((ptr)->s.dblink_node.xasl_node)`

define ACCESS_SPEC_FLAGS

#define ACCESS_SPEC_FLAGS (
    ptr
) `((ptr)->flags)`

define ACCESS_SPEC_HFID

#define ACCESS_SPEC_HFID (
    ptr
) `((ptr)->s.cls_node.hfid)`

define ACCESS_SPEC_IS_FLAGED

#define ACCESS_SPEC_IS_FLAGED (
    spec,
    f
) `(( ACCESS_SPEC_FLAGS (spec) & ( int ) (f)) != 0)`

define ACCESS_SPEC_JSON_TABLE_M_NODE_COUNT

#define ACCESS_SPEC_JSON_TABLE_M_NODE_COUNT (
    ptr
) `((ptr)->s.json_table_node.m_node_count)`

define ACCESS_SPEC_JSON_TABLE_REGU_VAR

#define ACCESS_SPEC_JSON_TABLE_REGU_VAR (
    ptr
) `((ptr)->s.json_table_node.m_json_reguvar)`

define ACCESS_SPEC_JSON_TABLE_ROOT_NODE

#define ACCESS_SPEC_JSON_TABLE_ROOT_NODE (
    ptr
) `((ptr)->s.json_table_node.m_root_node)`

define ACCESS_SPEC_JSON_TABLE_SPEC

#define ACCESS_SPEC_JSON_TABLE_SPEC (
    ptr
) `((ptr)-> s.json_table_node )`

define ACCESS_SPEC_LIST_ID

#define ACCESS_SPEC_LIST_ID (
    ptr
) `( ACCESS_SPEC_XASL_NODE (ptr)->list_id)`

define ACCESS_SPEC_LIST_REGU_LIST

#define ACCESS_SPEC_LIST_REGU_LIST (
    ptr
) `((ptr)-> s.list_node.list_regu_list )`

define ACCESS_SPEC_LIST_SPEC

#define ACCESS_SPEC_LIST_SPEC (
    ptr
) `((ptr)->s.list_node)`

define ACCESS_SPEC_METHOD_LIST_ID

#define ACCESS_SPEC_METHOD_LIST_ID (
    ptr
) `( ACCESS_SPEC_METHOD_XASL_NODE (ptr)->list_id)`

define ACCESS_SPEC_METHOD_REGU_LIST

#define ACCESS_SPEC_METHOD_REGU_LIST (
    ptr
) `((ptr)->s.method_node.method_regu_list)`

define ACCESS_SPEC_METHOD_SIG_ARRAY

#define ACCESS_SPEC_METHOD_SIG_ARRAY (
    ptr
) `((ptr)->s.method_node.sig_array)`

define ACCESS_SPEC_METHOD_SPEC

#define ACCESS_SPEC_METHOD_SPEC (
    ptr
) `((ptr)->s.method_node)`

define ACCESS_SPEC_METHOD_XASL_NODE

#define ACCESS_SPEC_METHOD_XASL_NODE (
    ptr
) `((ptr)->s.method_node.xasl_node)`

define ACCESS_SPEC_RLIST_SPEC

#define ACCESS_SPEC_RLIST_SPEC (
    ptr
) `((ptr)->s.reguval_list_node)`

define ACCESS_SPEC_RLIST_VALPTR_LIST

#define ACCESS_SPEC_RLIST_VALPTR_LIST (
    ptr
) `((ptr)->s.reguval_list_node.valptr_list)`

define ACCESS_SPEC_SET_FLAG

#define ACCESS_SPEC_SET_FLAG (
    spec,
    f
) `( ACCESS_SPEC_FLAGS (spec) |= ( int ) (f))`

define ACCESS_SPEC_SET_PTR

#define ACCESS_SPEC_SET_PTR (
    ptr
) `((ptr)->s.set_node.set_ptr)`

define ACCESS_SPEC_SET_REGU_LIST

#define ACCESS_SPEC_SET_REGU_LIST (
    ptr
) `((ptr)->s.set_node.set_regu_list)`

define ACCESS_SPEC_SET_SPEC

#define ACCESS_SPEC_SET_SPEC (
    ptr
) `((ptr)->s.set_node)`

define ACCESS_SPEC_SHOWSTMT_SPEC

#define ACCESS_SPEC_SHOWSTMT_SPEC (
    ptr
) `((ptr)->s.showstmt_node)`

define ACCESS_SPEC_UNSET_FLAG

#define ACCESS_SPEC_UNSET_FLAG (
    spec,
    f
) `( ACCESS_SPEC_FLAGS (spec) &= ( int ) ~(f))`

define ACCESS_SPEC_XASL_NODE

#define ACCESS_SPEC_XASL_NODE (
    ptr
) `((ptr)->s.list_node.xasl_node)`

define CHECK_REGU_VARIABLE_XASL_STATUS

#define CHECK_REGU_VARIABLE_XASL_STATUS (
    r
) `((r)->xasl != NULL ? ((r)->xasl)->status : XASL_SUCCESS )`

define EXECUTE_REGU_VARIABLE_XASL

#define EXECUTE_REGU_VARIABLE_XASL (
    thread_p,
    r,
    v
) 

define GET_XASL_HEADER_CLASS_OID_LIST

#define GET_XASL_HEADER_CLASS_OID_LIST (
    header
) `(( OID *) (( char *) (header) + sizeof ( OID ) + sizeof ( int )))`

define GET_XASL_HEADER_CREATOR_OID

#define GET_XASL_HEADER_CREATOR_OID (
    header
) `(( OID *) header)`

define GET_XASL_HEADER_DBVAL_CNT

#define GET_XASL_HEADER_DBVAL_CNT (
    header
) `(*(( int *) (( char *) (header) + sizeof ( OID ) + sizeof ( int ) + \ GET_XASL_HEADER_N_OID_LIST (header) * sizeof ( OID ) + \ GET_XASL_HEADER_N_OID_LIST (header) * sizeof ( int ))))`

define GET_XASL_HEADER_N_OID_LIST

#define GET_XASL_HEADER_N_OID_LIST (
    header
) `(*(( int *) (( char *) (header) + sizeof ( OID ))))`

define GET_XASL_HEADER_REPR_ID_LIST

#define GET_XASL_HEADER_REPR_ID_LIST (
    header
) `(( int *) (( char *) (header) + sizeof ( OID ) + sizeof ( int ) + \ GET_XASL_HEADER_N_OID_LIST (header) * sizeof ( OID )))`

define GET_XASL_STREAM_BODY_DATA

#define GET_XASL_STREAM_BODY_DATA (
    stream
) `(( char *) XASL_STREAM_BODY_PTR (stream) + sizeof ( int ))`

define GET_XASL_STREAM_BODY_SIZE

#define GET_XASL_STREAM_BODY_SIZE (
    stream
) `(*(( int *) XASL_STREAM_BODY_PTR (stream)))`

define GET_XASL_STREAM_HEADER_DATA

#define GET_XASL_STREAM_HEADER_DATA (
    stream
) `(( char *) XASL_STREAM_HEADER_PTR (stream) + sizeof ( int ))`

define GET_XASL_STREAM_HEADER_SIZE

#define GET_XASL_STREAM_HEADER_SIZE (
    stream
) `(*(( int *) XASL_STREAM_HEADER_PTR (stream)))`

define INIT_XASL_NODE_HEADER

#define INIT_XASL_NODE_HEADER (
    X
) `/* multi line expression */`

define IS_ANY_INDEX_ACCESS

#define IS_ANY_INDEX_ACCESS (
    access_
) `/* multi line expression */`

#define IS_DBLINK_CURSOR_REWIND_XASL (
    x
) `XASL_IS_FLAGED (( x ), XASL_DBLINK_CURSOR_REWIND )`

define IS_XASL_INITIAL_STATUS

#define IS_XASL_INITIAL_STATUS (
    s
) `((s) <= XASL_CLEARED )`

define OR_PACK_XASL_ID

#define OR_PACK_XASL_ID (
    PTR,
    X
) `/* multi line expression */`

define OR_PACK_XASL_NODE_HEADER

#define OR_PACK_XASL_NODE_HEADER (
    PTR,
    X
) `/* multi line expression */`

define OR_UNPACK_XASL_ID

#define OR_UNPACK_XASL_ID (
    PTR,
    X
) `/* multi line expression */`

define OR_UNPACK_XASL_NODE_HEADER

#define OR_UNPACK_XASL_NODE_HEADER (
    PTR,
    X
) `/* multi line expression */`

define OR_XASL_ID_SIZE

#define OR_XASL_ID_SIZE `( OR_SHA1_SIZE + OR_CACHE_TIME_SIZE )`

define PCOL_FIRST_TUPLE_OFFSET

#define PCOL_FIRST_TUPLE_OFFSET `PCOL_PARENTPOS_TUPLE_OFFSET`

define PCOL_INDEX_STRING_TUPLE_OFFSET

#define PCOL_INDEX_STRING_TUPLE_OFFSET `4`

define PCOL_ISCYCLE_TUPLE_OFFSET

#define PCOL_ISCYCLE_TUPLE_OFFSET `1`

define PCOL_ISLEAF_TUPLE_OFFSET

#define PCOL_ISLEAF_TUPLE_OFFSET `2`

define PCOL_LEVEL_TUPLE_OFFSET

#define PCOL_LEVEL_TUPLE_OFFSET `3`

define PCOL_PARENTPOS_TUPLE_OFFSET

#define PCOL_PARENTPOS_TUPLE_OFFSET `5`

define QPROC_IS_INTERPOLATION_FUNC

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

define SET_XASL_HEADER_CLASS_OID_LIST

#define SET_XASL_HEADER_CLASS_OID_LIST (
    header,
    list,
    n
) `/* multi line expression */`

define SET_XASL_HEADER_CREATOR_OID

#define SET_XASL_HEADER_CREATOR_OID (
    header,
    oid
) `(*(( OID *) header) = *(oid))`

define SET_XASL_HEADER_DBVAL_CNT

#define SET_XASL_HEADER_DBVAL_CNT (
    header,
    cnt
) `(*(( int *) (( char *) (header) + sizeof ( OID ) + sizeof ( int ) + \ GET_XASL_HEADER_N_OID_LIST (header) * sizeof ( OID ) + \ GET_XASL_HEADER_N_OID_LIST (header) * sizeof ( int ))) = (cnt))`

define SET_XASL_HEADER_N_OID_LIST

#define SET_XASL_HEADER_N_OID_LIST (
    header,
    n
) `(*(( int *) (( char *) (header) + sizeof ( OID ))) = (n))`

define SET_XASL_HEADER_REPR_ID_LIST

#define SET_XASL_HEADER_REPR_ID_LIST (
    header,
    list,
    n
) `/* multi line expression */`

define SET_XASL_STREAM_BODY_DATA

#define SET_XASL_STREAM_BODY_DATA (
    stream,
    data,
    size
) `/* multi line expression */`

define SET_XASL_STREAM_BODY_SIZE

#define SET_XASL_STREAM_BODY_SIZE (
    stream,
    size
) `(*(( int *) XASL_STREAM_BODY_PTR (stream)) = (size))`

define SET_XASL_STREAM_HEADER_DATA

#define SET_XASL_STREAM_HEADER_DATA (
    stream,
    data,
    size
) `/* multi line expression */`

define SET_XASL_STREAM_HEADER_SIZE

#define SET_XASL_STREAM_HEADER_SIZE (
    stream,
    size
) `(*(( int *) XASL_STREAM_HEADER_PTR (stream)) = (size))`

define UNPACK_SCALE

#define UNPACK_SCALE `3`

define XASL_ANALYTIC_SKIP_SORT

#define XASL_ANALYTIC_SKIP_SORT `(0x1 << 21)    /* analytic skip sort optimization */`

define XASL_ANALYTIC_USES_LIMIT_OPT

#define XASL_ANALYTIC_USES_LIMIT_OPT `(0x1 << 20)   /* analytic uses limit optimization */`

define XASL_CLASS_NO_TCARD

#define XASL_CLASS_NO_TCARD `-1`

define XASL_CLEAR_FLAG

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

#define XASL_DBLINK_CURSOR_REWIND `(0x1 << 22)  /* correlated  DBLink  subquery:  rewind  CCI cursor instead  of  re - issuing  cci_execute  per outer row */`

define XASL_DECACHE_CLONE

#define XASL_DECACHE_CLONE `(0x1 << 12) /* decache clone */`

define XASL_G_GRBYNUM_FLAG_LIMIT_GT_LT

#define XASL_G_GRBYNUM_FLAG_LIMIT_GT_LT `0x10`

define XASL_G_GRBYNUM_FLAG_LIMIT_LT

#define XASL_G_GRBYNUM_FLAG_LIMIT_LT `0x08`

define XASL_G_GRBYNUM_FLAG_SCAN_CHECK

#define XASL_G_GRBYNUM_FLAG_SCAN_CHECK `0x02`

define XASL_G_GRBYNUM_FLAG_SCAN_CONTINUE

#define XASL_G_GRBYNUM_FLAG_SCAN_CONTINUE `0x01`

define XASL_G_GRBYNUM_FLAG_SCAN_STOP

#define XASL_G_GRBYNUM_FLAG_SCAN_STOP `0x04`

define XASL_HAS_CONNECT_BY

#define XASL_HAS_CONNECT_BY `(0x1 << 6) /* has  CONNECT  BY  clause */`

define XASL_HAS_NOCYCLE

#define XASL_HAS_NOCYCLE `(0x1 << 5)    /* NOCYCLE  is  specified */`

define XASL_ID_COPY

#define XASL_ID_COPY (
    X1,
    X2
) `/* multi line expression */`

define XASL_ID_EQ

#define XASL_ID_EQ (
    X1,
    X2
) `/* multi line expression */`

define XASL_ID_IS_NULL

#define XASL_ID_IS_NULL (
    X
) `((( XASL_ID *) ( X ) != NULL ) && ( X )->time_stored.sec == 0)`

define XASL_ID_SET_NULL

#define XASL_ID_SET_NULL (
    X
) `/* multi line expression */`

define XASL_IGNORE_CYCLES

#define XASL_IGNORE_CYCLES `(0x1 << 8)  /* is  for  LEVEL  usage in connect by clause... sometimes  cycles  may  be  ignored */`

define XASL_INCLUDES_TDE_CLASS

#define XASL_INCLUDES_TDE_CLASS `(0x1 << 16)    /* is  any  tde  class  related */`

define XASL_INSTNUM_FLAG_EVAL_DEFER

#define XASL_INSTNUM_FLAG_EVAL_DEFER `0x10`

define XASL_INSTNUM_FLAG_SCAN_CHECK

#define XASL_INSTNUM_FLAG_SCAN_CHECK `0x02`

define XASL_INSTNUM_FLAG_SCAN_CONTINUE

#define XASL_INSTNUM_FLAG_SCAN_CONTINUE `0x01`

define XASL_INSTNUM_FLAG_SCAN_LAST_STOP

#define XASL_INSTNUM_FLAG_SCAN_LAST_STOP `0x08`

define XASL_INSTNUM_FLAG_SCAN_STOP

#define XASL_INSTNUM_FLAG_SCAN_STOP `0x04`

define XASL_INSTNUM_FLAG_SCAN_STOP_AT_ANALYTIC

#define XASL_INSTNUM_FLAG_SCAN_STOP_AT_ANALYTIC `0x20`

define XASL_IS_FLAGED

#define XASL_IS_FLAGED (
    x,
    f
) `((( x )-> flag & ( int ) (f)) != 0)`

define XASL_IS_MERGE_QUERY

#define XASL_IS_MERGE_QUERY `(0x1 << 10)    /* query belongs to a merge statement */`

#define XASL_LINK_TO_REGU_VARIABLE `0x1 /* is  linked to regu variable ? */`

define XASL_MULTI_UPDATE_AGG

#define XASL_MULTI_UPDATE_AGG `(0x1 << 7)   /* is  for  multi -update with aggregate */`

define XASL_NEED_SINGLE_TUPLE_SCAN

#define XASL_NEED_SINGLE_TUPLE_SCAN `(0x1 << 15)    /* for exists operation */`

define XASL_NODE_HEADER_SIZE

#define XASL_NODE_HEADER_SIZE `OR_INT_SIZE + OR_INT_SIZE /* xasl_flag + id */`

define XASL_NO_FIXED_SCAN

#define XASL_NO_FIXED_SCAN `(0x1 << 14) /* disable fixed scan for  this proc */`

define XASL_NO_PARALLEL_SUBQUERY

#define XASL_NO_PARALLEL_SUBQUERY `(0x1 << 19)  /* disable parallel subquery */`

define XASL_OBJFETCH_IGNORE_CLASSOID

#define XASL_OBJFETCH_IGNORE_CLASSOID `(0x1 << 9)   /* fetch proc should ignore class oid */`

define XASL_ORDBYNUM_FLAG_SCAN_CHECK

#define XASL_ORDBYNUM_FLAG_SCAN_CHECK `0x02`

define XASL_ORDBYNUM_FLAG_SCAN_CONTINUE

#define XASL_ORDBYNUM_FLAG_SCAN_CONTINUE `0x01`

define XASL_ORDBYNUM_FLAG_SCAN_STOP

#define XASL_ORDBYNUM_FLAG_SCAN_STOP `0x04`

define XASL_RETURN_GENERATED_KEYS

#define XASL_RETURN_GENERATED_KEYS `(0x1 << 13) /* return  generated keys */`

define XASL_SAMPLING_SCAN

#define XASL_SAMPLING_SCAN `(0x1 << 17) /* is sampling scan */`

define XASL_SERIAL_OID_TCARD

#define XASL_SERIAL_OID_TCARD `-2`

define XASL_SET_FLAG

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

define XASL_SKIP_ORDERBY_LIST

#define XASL_SKIP_ORDERBY_LIST `(0x1 << 1)  /* skip sorting  for orderby_list ? */`

define XASL_STREAM_BODY_PTR

#define XASL_STREAM_BODY_PTR (
    stream
) `( GET_XASL_STREAM_HEADER_DATA (stream) + GET_XASL_STREAM_HEADER_SIZE (stream))`

define XASL_STREAM_HEADER

#define XASL_STREAM_HEADER `8`

define XASL_STREAM_HEADER_PTR

#define XASL_STREAM_HEADER_PTR (
    stream
) `(( char *) (stream))`

define XASL_TOP_MOST_XASL

#define XASL_TOP_MOST_XASL `(0x1 << 3)  /* this  is  a top most  XASL */`

define XASL_TO_BE_CACHED

#define XASL_TO_BE_CACHED `(0x1 << 4)   /* the result will  be  cached */`

define XASL_USES_MRO

#define XASL_USES_MRO `(0x1 << 11)  /* query uses  multi range optimization */`

define XASL_USES_SQ_CACHE

#define XASL_USES_SQ_CACHE `(0x1 << 18) /* subquery uses result cache */`

define XASL_WAIT_MSECS_NOCHANGE

#define XASL_WAIT_MSECS_NOCHANGE `-2`

define XASL_ZERO_CORR_LEVEL

#define XASL_ZERO_CORR_LEVEL `(0x1 << 2)    /* is  zero -level uncorrelated subquery ? */`


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