CUBRID Engine  latest
parse_tree.h File Reference
#include <setjmp.h>
#include <assert.h>
#include "class_object.h"
#include "compile_context.h"
#include "config.h"
#include "cursor.h"
#include "json_table_def.h"
#include "message_catalog.h"
#include "string_opfunc.h"
#include "system_parameter.h"
Include dependency graph for parse_tree.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  must_be_filtering_info
 
struct  semantic_chk_info
 
struct  nested_view_version_info
 
struct  view_cache_info
 
struct  parser_hint
 
struct  pt_alter_info
 
struct  pt_alter_user_info
 
struct  pt_alter_trigger_info
 
struct  pt_attach_info
 
struct  pt_attr_def_info
 
struct  pt_attr_ordering_info
 
struct  pt_auth_cmd_info
 
struct  pt_commit_work_info
 
struct  pt_create_entity_info
 
struct  pt_index_info
 
struct  pt_create_user_info
 
struct  pt_create_trigger_info
 
struct  pt_cte_info
 
struct  pt_serial_info
 
struct  pt_data_default_info
 
struct  pt_auto_increment_info
 
struct  pt_partition_info
 
struct  pt_parts_info
 
struct  pt_data_type_info
 
struct  pt_delete_info
 
struct  pt_dot_info
 
struct  pt_drop_info
 
struct  pt_drop_user_info
 
struct  pt_drop_trigger_info
 
struct  pt_drop_variable_info
 
struct  pt_drop_session_var_info
 
struct  pt_spec_info
 
struct  pt_evaluate_info
 
struct  pt_event_object_info
 
struct  pt_event_spec_info
 
struct  pt_event_target_info
 
struct  pt_execute_trigger_info
 
struct  pt_expr_info
 
struct  pt_file_path_info
 
struct  pt_function_info
 
struct  pt_get_opt_lvl_info
 
struct  pt_get_trigger_info
 
struct  pt_get_xaction_info
 
struct  pt_grant_info
 
struct  pt_host_var_info
 
struct  pt_node_list_info
 
struct  pt_insert_info
 
struct  pt_isolation_lvl_info
 
struct  pt_method_call_info
 
struct  pt_method_def_info
 
struct  pt_reserved_name
 
struct  pt_name_info
 
struct  pt_named_arg_info
 
struct  pt_remove_trigger_info
 
struct  pt_rename_info
 
struct  pt_rename_trigger_info
 
struct  pt_resolution_info
 
struct  pt_revoke_info
 
struct  pt_rollback_work_info
 
struct  pt_union_info
 
struct  pt_savepoint_info
 
struct  pt_scope_info
 
struct  pt_select_info
 
struct  pt_query_info
 
struct  pt_set_opt_lvl_info
 
struct  pt_set_sys_params_info
 
struct  pt_set_xaction_info
 
struct  pt_set_trigger_info
 
struct  pt_showstmt_info
 
struct  pt_killstmt_info
 
struct  pt_sort_spec_info
 
struct  pt_timeout_info
 
struct  pt_trigger_action_info
 
struct  pt_trigger_spec_list_info
 
struct  pt_update_info
 
struct  pt_update_stats_info
 
struct  pt_get_stats_info
 
struct  pt_table_option_info
 
struct  pt_merge_info
 
struct  pt_set_names_info
 
struct  pt_set_timezone_info
 
struct  pt_monetary_value
 
struct  pt_enum_element_value
 
union  pt_data_value
 
struct  pt_value_info
 
struct  PT_ZZ_ERROR_MSG_INFO
 
struct  pt_foreign_key_info
 
struct  pt_constraint_info
 
struct  pt_pointer_info
 
struct  pt_stored_proc_info
 
struct  pt_prepare_info
 
struct  pt_execute_info
 
struct  pt_stored_proc_param_info
 
struct  pt_truncate_info
 
struct  pt_do_info
 
struct  pt_set_session_variable_info
 
struct  pt_check_option_info
 
struct  pt_tuple_value_info
 
struct  pt_trace_info
 
struct  pt_with_clause_info
 
struct  pt_insert_value_info
 
struct  pt_json_table_column_info
 
struct  pt_json_table_node_info
 
struct  pt_json_table_info
 
union  pt_statement_info
 
struct  pt_agg_check_info
 
struct  pt_agg_rewrite_info
 
struct  pt_agg_find_info
 
struct  pt_agg_name_info
 
struct  pt_filter_index_info
 
struct  pt_non_groupby_col_info
 
struct  pt_flat_spec_info
 
struct  parser_varchar
 
struct  parser_node
 
struct  execution_state_values
 
struct  keyword_record
 
struct  pt_plan_trace_info
 
struct  parser_context
 
struct  pt_assignments_helper
 
struct  pt_coll_infer
 

Macros

#define MAX_PRINT_ERROR_CONTEXT_LENGTH   64
 
#define pt_cat_error(parser, node, setNo, msgNo, ...)   pt_frob_error(parser, node, msgcat_message(MSGCAT_CATALOG_CUBRID, setNo, msgNo), ##__VA_ARGS__)
 
#define PT_ERROR(parser, node, msg)   pt_frob_error(parser, node, msg)
 
#define PT_ERRORc(parser, node, msg)   pt_frob_error( parser, node, "%s", msg)
 
#define PT_ERRORf(parser, node, msg, arg1)   pt_frob_error(parser, node, msg, arg1)
 
#define PT_ERRORf2(parser, node, msg, arg1, arg2)   pt_frob_error(parser, node, msg, arg1, arg2)
 
#define PT_ERRORf3(parser, node, msg, arg1, arg2, arg3)   pt_frob_error(parser, node, msg, arg1, arg2, arg3)
 
#define PT_ERRORf4(parser, node, msg, arg1, arg2, arg3, arg4)   pt_frob_error(parser, node, msg, arg1, arg2, arg3, arg4)
 
#define PT_ERRORf5(parser, node, msg, arg1, arg2, arg3, arg4, arg5)   pt_frob_error(parser, node, msg, arg1, arg2, arg3, arg4, arg5)
 
#define PT_ERRORm(parser, node, setNo, msgNo)   pt_cat_error(parser, node, setNo, msgNo)
 
#define PT_ERRORmf(parser, node, setNo, msgNo, arg1)   pt_cat_error(parser, node, setNo, msgNo, arg1)
 
#define PT_ERRORmf2(parser, node, setNo, msgNo, arg1, arg2)   pt_cat_error(parser, node, setNo, msgNo, arg1, arg2)
 
#define PT_ERRORmf3(parser, node, setNo, msgNo, arg1, arg2, arg3)   pt_cat_error(parser, node, setNo, msgNo, arg1, arg2, arg3)
 
#define PT_ERRORmf4(parser, node, setNo, msgNo, arg1, arg2, arg3, arg4)   pt_cat_error(parser, node, setNo, msgNo, arg1, arg2, arg3, arg4)
 
#define PT_ERRORmf5(parser, node, setNo, msgNo, arg1, arg2, arg3, arg4, arg5)   pt_cat_error(parser, node, setNo, msgNo, arg1, arg2, arg3, arg4, arg5)
 
#define pt_cat_warning(parser, node, setNo, msgNo, ...)   pt_frob_warning(parser, node, msgcat_message(MSGCAT_CATALOG_CUBRID, setNo, msgNo), ##__VA_ARGS__)
 
#define PT_WARNING(parser, node, msg)   pt_frob_warning(parser, node, msg)
 
#define PT_WARNINGm(parser, node, setNo, msgNo)   pt_cat_warning(parser, node, setNo, msgNo)
 
#define PT_WARNINGc(parser, node, msg)   pt_frob_warning(parser, node, msg)
 
#define PT_WARNINGf(parser, node, msg, arg1)   pt_cat_warning(parser, node, msg, arg1)
 
#define PT_WARNINGf2(parser, node, msg, arg1, arg2)   pt_cat_warning(parser, node, msg, arg1, arg2)
 
#define PT_WARNINGf3(parser, node, msg, arg1, arg2, arg3)   pt_cat_warning(parser, node, msg, arg1, arg2, arg3)
 
#define PT_WARNINGmf(parser, node, setNo, msgNo, arg1)   pt_cat_warning(parser, node, setNo, msgNo, arg1)
 
#define PT_WARNINGmf2(parser, node, setNo, msgNo, arg1, arg2)   pt_cat_warning(parser, node, setNo, msgNo, arg1, arg2)
 
#define PT_WARNINGmf3(parser, node, setNo, msgNo, arg1, arg2, arg3)   pt_cat_warning(parser, node, setNo, msgNo, arg1, arg2, arg3)
 
#define PT_SET_JMP_ENV(parser)
 
#define PT_CLEAR_JMP_ENV(parser)
 
#define PT_INTERNAL_ERROR(parser, what)   pt_internal_error((parser), __FILE__, __LINE__, (what))
 
#define PT_IS_QUERY_NODE_TYPE(x)
 
#define PT_IS_CLASSOID_NAME(x)   ( (x)->info.name.meta_class == PT_CLASSOID_ATTR)
 
#define PT_IS_NULL_NODE(e)
 
#define PT_IS_NUMERIC_TYPE(t)
 
#define PT_IS_DISCRETE_NUMBER_TYPE(t)
 
#define PT_IS_COUNTER_TYPE(t)   PT_IS_DISCRETE_NUMBER_TYPE(t)
 
#define PT_IS_COLLECTION_TYPE(t)
 
#define PT_IS_STRING_TYPE(t)
 
#define PT_IS_NATIONAL_CHAR_STRING_TYPE(t)
 
#define PT_IS_SIMPLE_CHAR_STRING_TYPE(t)
 
#define PT_IS_CHAR_STRING_TYPE(t)
 
#define PT_IS_BIT_STRING_TYPE(t)
 
#define PT_IS_COMPLEX_TYPE(t)
 
#define PT_IS_DATE_TIME_WITH_TZ_TYPE(t)
 
#define PT_IS_DATE_TIME_TYPE(t)
 
#define PT_HAS_DATE_PART(t)
 
#define PT_HAS_TIME_PART(t)
 
#define PT_IS_LTZ_TYPE(t)   ((t) == PT_TYPE_TIMESTAMPLTZ || (t) == PT_TYPE_DATETIMELTZ)
 
#define PT_IS_PRIMITIVE_TYPE(t)   ( ((t) != PT_TYPE_OBJECT) && ((t) != PT_TYPE_NONE))
 
#define PT_IS_PARAMETERIZED_TYPE(t)
 
#define PT_IS_LOB_TYPE(t)
 
#define PT_HAS_COLLATION(t)
 
#define PT_VALUE_GET_BYTES(node)
 
#define pt_is_select(n)   PT_IS_SELECT(n)
 
#define pt_is_union(n)   PT_IS_UNION(n)
 
#define pt_is_intersection(n)   PT_IS_INTERSECTION(n)
 
#define pt_is_difference(n)   PT_IS_DIFFERENCE(n)
 
#define pt_is_query(n)   PT_IS_QUERY(n)
 
#define pt_is_correlated_subquery(n)   PT_IS_CORRELATED_SUBQUERY(n)
 
#define pt_is_dot_node(n)   PT_IS_DOT_NODE(n)
 
#define pt_is_expr_node(n)   PT_IS_EXPR_NODE(n)
 
#define pt_is_function(n)   PT_IS_FUNCTION(n)
 
#define pt_is_multi_col_term(n)   PT_IS_MULTI_COL_TERM(n)
 
#define pt_is_name_node(n)   PT_IS_NAME_NODE(n)
 
#define pt_is_oid_name(n)   PT_IS_OID_NAME(n)
 
#define pt_is_value_node(n)   PT_IS_VALUE_NODE(n)
 
#define pt_is_set_type(n)   PT_IS_SET_TYPE(n)
 
#define pt_is_hostvar(n)   PT_IS_HOSTVAR(n)
 
#define pt_is_input_hostvar(n)   PT_IS_INPUT_HOSTVAR(n)
 
#define pt_is_output_hostvar(n)   PT_IS_OUTPUT_HOSTVAR(n)
 
#define pt_is_const(n)   PT_IS_CONST(n)
 
#define pt_is_parameter(n)   PT_IS_PARAMETER(n)
 
#define pt_is_input_parameter(n)   PT_IS_INPUT_PARAMETER(n)
 
#define pt_is_const_not_hostvar(n)   PT_IS_CONST_NOT_HOSTVAR(n)
 
#define pt_is_const_input_hostvar(n)   PT_IS_CONST_INPUT_HOSTVAR(n)
 
#define pt_is_cast_const_input_hostvar(n)   PT_IS_CAST_CONST_INPUT_HOSTVAR(n)
 
#define pt_is_instnum(n)   PT_IS_INSTNUM(n)
 
#define pt_is_orderbynum(n)   PT_IS_ORDERBYNUM(n)
 
#define pt_is_distinct(n)   PT_IS_DISTINCT(n)
 
#define pt_is_meta(n)   PT_IS_META(n)
 
#define pt_is_update_object(n)   PT_IS_UPDATE_OBJECT(n)
 
#define pt_is_unary(op)   PT_IS_UNARY(op)
 
#define PT_IS_SELECT(n)   ( (n) && ((n)->node_type == PT_SELECT) )
 
#define PT_IS_UNION(n)   ( (n) && ((n)->node_type == PT_UNION) )
 
#define PT_IS_INTERSECTION(n)   ( (n) && ((n)->node_type == PT_INTERSECTION) )
 
#define PT_IS_DIFFERENCE(n)   ( (n) && ((n)->node_type == PT_DIFFERENCE) )
 
#define PT_IS_QUERY(n)   ( (n) && (PT_IS_QUERY_NODE_TYPE((n)->node_type)) )
 
#define PT_IS_CORRELATED_SUBQUERY(n)   ( PT_IS_QUERY((n)) && ((n)->info.query.correlation_level > 0) )
 
#define PT_IS_DOT_NODE(n)   ( (n) && ((n)->node_type == PT_DOT_) )
 
#define PT_IS_EXPR_NODE(n)   ( (n) && ((n)->node_type == PT_EXPR) )
 
#define PT_IS_ASSIGN_NODE(n)   ( (n) && ((n)->node_type == PT_EXPR && (n)->info.expr.op == PT_ASSIGN) )
 
#define PT_IS_FUNCTION(n)   ( (n) && ((n)->node_type == PT_FUNCTION) )
 
#define PT_IS_MULTI_COL_TERM(n)
 
#define PT_IS_NAME_NODE(n)   ( (n) && ((n)->node_type == PT_NAME) )
 
#define PT_IS_OID_NAME(n)
 
#define PT_IS_VALUE_NODE(n)   ( (n) && ((n)->node_type == PT_VALUE) )
 
#define PT_IS_INSERT_VALUE_NODE(n)   ( (n) && ((n)->node_type == PT_INSERT_VALUE) )
 
#define PT_IS_SET_TYPE(n)
 
#define PT_IS_HOSTVAR(n)   ( (n) && ((n)->node_type == PT_HOST_VAR) )
 
#define PT_IS_INPUT_HOSTVAR(n)
 
#define PT_IS_OUTPUT_HOSTVAR(n)
 
#define PT_IS_PARAMETER(n)
 
#define PT_IS_INPUT_PARAMETER(n)
 
#define PT_IS_CONST(n)
 
#define PT_IS_CONST_NOT_HOSTVAR(n)
 
#define PT_IS_CONST_INPUT_HOSTVAR(n)
 
#define PT_IS_CAST_CONST_INPUT_HOSTVAR(n)
 
#define PT_IS_INSTNUM(n)
 
#define PT_IS_ORDERBYNUM(n)   ( (n) && ((n)->node_type == PT_EXPR && ((n)->info.expr.op == PT_ORDERBY_NUM)) )
 
#define PT_IS_DISTINCT(n)   ( (n) && PT_IS_QUERY_NODE_TYPE((n)->node_type) && (n)->info.query.all_distinct != PT_ALL )
 
#define PT_IS_META(n)
 
#define PT_IS_HINT_NODE(n)   ( (n) && ((n)->node_type == PT_NAME && (n)->info.name.meta_class == PT_HINT_NAME) )
 
#define PT_IS_UPDATE_OBJECT(n)   ( (n) && (n)->node_type == PT_UPDATE && (n)->info.update.spec == NULL )
 
#define PT_IS_UNARY(op)
 
#define PT_IS_N_COLUMN_UPDATE_EXPR(n)
 
#define PT_DOES_FUNCTION_HAVE_DIFFERENT_ARGS(op)
 
#define PT_REQUIRES_HIERARCHICAL_QUERY(op)
 
#define PT_CHECK_HQ_OP_EXCEPT_PRIOR(op)
 
#define PT_IS_NUMBERING_AFTER_EXECUTION(op)
 
#define PT_IS_SERIAL(op)   ( (op) == PT_CURRENT_VALUE || (op) == PT_NEXT_VALUE )
 
#define PT_IS_EXPR_NODE_WITH_OPERATOR(n, op_type)   ( (PT_IS_EXPR_NODE (n)) && ((n)->info.expr.op == (op_type)) )
 
#define PT_IS_EXPR_WITH_PRIOR_ARG(x)
 
#define PT_NODE_DATA_TYPE(n)   ( (n) ? (n)->data_type : NULL )
 
#define PT_IS_SORT_SPEC_NODE(n)   ( (n) && ((n)->node_type == PT_SORT_SPEC) )
 
#define PT_IS_VALUE_QUERY(n)   ((n)->flag.is_value_query == 1)
 
#define PT_SET_VALUE_QUERY(n)   ((n)->flag.is_value_query = 1)
 
#define PT_IS_ORDER_DEPENDENT(n)
 
#define PT_IS_ANALYTIC_NODE(n)
 
#define PT_IS_POINTER_REF_NODE(n)
 
#define PT_IS_VACUUM_NODE(n)   ( (n) && (n)->node_type == PT_VACUUM )
 
#define PT_SET_ORDER_DEPENDENT_FLAG(n, f)
 
#define CLEAR_HOST_VARIABLES(parser_)
 
#define SET_HOST_VARIABLES_IF_INTERNAL_STATEMENT(parser_)
 
#define RESET_HOST_VARIABLES_IF_INTERNAL_STATEMENT(parser_)
 
#define IS_UPDATE_OBJ(node)   (node->node_type == PT_UPDATE && node->info.update.object_parameter)
 
#define PT_NODE_INIT_OUTERLINK(n)
 
#define PT_NODE_COPY_NUMBER_OUTERLINK(t, s)
 
#define PT_NODE_MOVE_NUMBER_OUTERLINK(t, s)
 
#define PT_NODE_PRINT_TO_ALIAS(p, n, c)
 
#define PT_NODE_PRINT_VALUE_TO_TEXT(p, n)
 
#define CAST_POINTER_TO_NODE(p)
 
#define PT_EMPTY   INT_MAX
 
#define MAX_NUM_PLAN_TRACE   100
 
#define PT_GET_COLLATION_MODIFIER(p)
 
#define PT_SET_NODE_COLL_MODIFIER(p, coll)
 
#define PT_IS_SPEC_FLAG_SET(spec_, flags_)   (((spec_)->info.spec.flag & (flags_)) != 0)
 
#define PT_SPEC_SPECIAL_INDEX_SCAN(spec_)
 
#define PT_SPEC_GET_RESERVED_NAME_TYPE(spec_)
 
#define PT_SHOULD_BIND_RESERVED_NAME(spec_)   (PT_SPEC_GET_RESERVED_NAME_TYPE (spec_) != RESERVED_NAME_INVALID)
 
#define PT_SPEC_IS_DERIVED(spec_)   ((spec_)->info.spec.derived_table != NULL)
 
#define PT_SPEC_IS_CTE(spec_)   ((spec_)->info.spec.cte_pointer != NULL)
 
#define PT_SPEC_IS_ENTITY(spec_)   ((spec_)->info.spec.entity_name != NULL)
 
#define PT_IS_FALSE_WHERE_VALUE(node)
 
#define PT_IS_SPEC_REAL_TABLE(spec_)   PT_SPEC_IS_ENTITY(spec_)
 
#define PARTITIONED_SUB_CLASS_TAG   "__p__"
 
#define PT_EXPR_INFO_CNF_DONE   1 /* CNF conversion has done? */
 
#define PT_EXPR_INFO_EMPTY_RANGE   2 /* empty RANGE spec? */
 
#define PT_EXPR_INFO_INSTNUM_C   4 /* compatible with inst_num() */
 
#define PT_EXPR_INFO_INSTNUM_NC   8 /* not compatible with inst_num() */
 
#define PT_EXPR_INFO_GROUPBYNUM_C   16 /* compatible with groupby_num() */
 
#define PT_EXPR_INFO_GROUPBYNUM_NC   32 /* not compatible with groupby_num() */
 
#define PT_EXPR_INFO_ORDERBYNUM_C   PT_EXPR_INFO_INSTNUM_C /* compatible with orderby_num() */
 
#define PT_EXPR_INFO_ORDERBYNUM_NC   PT_EXPR_INFO_INSTNUM_NC /* not compatible with orderby_num() */
 
#define PT_EXPR_INFO_TRANSITIVE   64 /* always true transitive join term ? */
 
#define PT_EXPR_INFO_LEFT_OUTER   128 /* Oracle's left outer join operator */
 
#define PT_EXPR_INFO_RIGHT_OUTER   256 /* Oracle's right outer join operator */
 
#define PT_EXPR_INFO_COPYPUSH
 
#define PT_EXPR_INFO_FULL_RANGE   1024 /* non-null full RANGE term ? */
 
#define PT_EXPR_INFO_CAST_NOFAIL
 
#define PT_EXPR_INFO_CAST_SHOULD_FOLD   4096 /* flag which controls if a cast expr should be folded */
 
#define PT_EXPR_INFO_FUNCTION_INDEX   8192 /* function index expression flag */
 
#define PT_EXPR_INFO_CAST_COLL_MODIFIER   16384 /* CAST is for COLLATION modifier */
 
#define PT_EXPR_INFO_GROUPBYNUM_LIMIT
 
#define PT_EXPR_INFO_DO_NOT_AUTOPARAM   65536 /* don't auto parameterize expr at qo_do_auto_parameterize() */
 
#define PT_EXPR_INFO_CAST_WRAP   131072 /* 0x20000, CAST is wrapped by compiling */
 
#define PT_EXPR_INFO_IS_FLAGED(e, f)   ((e)->info.expr.flag & (int) (f))
 
#define PT_EXPR_INFO_SET_FLAG(e, f)   (e)->info.expr.flag |= (int) (f)
 
#define PT_EXPR_INFO_CLEAR_FLAG(e, f)   (e)->info.expr.flag &= (int) ~(f)
 
#define PT_GET_RESERVED_NAME_TYPE(reserved_id)
 
#define PT_GET_RESERVED_NAME_FIRST_AND_LAST(type, first, last)
 
#define PT_CHECK_RESERVED_NAME_BIND(spec_, reserved_id)
 
#define NAME_FROM_PT_DOT   1
 
#define NAME_FROM_CLASSNAME_DOT_STAR   2 /* classname.* */
 
#define NAME_FROM_STAR   3 /* * */
 
#define NAME_IN_PATH_EXPR   4
 
#define PT_NAME_INFO_DOT_SPEC   1 /* x, y of x.y.z */
 
#define PT_NAME_INFO_DOT_NAME   2 /* z of x.y.z */
 
#define PT_NAME_INFO_STAR   4 /* * */
 
#define PT_NAME_INFO_DOT_STAR   8 /* classname.* */
 
#define PT_NAME_INFO_CONSTANT   16
 
#define PT_NAME_INFO_EXTERNAL   32 /* in case of TEXT type at attr definition or attr.object at attr description */
 
#define PT_NAME_INFO_DESC   64 /* DESC on an index column name */
 
#define PT_NAME_INFO_FILL_DEFAULT   128 /* whether default_value should be filled in */
 
#define PT_NAME_INFO_GENERATED_OID
 
#define PT_NAME_ALLOW_REUSABLE_OID   512 /* ignore the REUSABLE_OID restrictions for this name */
 
#define PT_NAME_GENERATED_DERIVED_SPEC   1024 /* attribute generated from derived spec */
 
#define PT_NAME_FOR_UPDATE   2048 /* Table name in FOR UPDATE clause */
 
#define PT_NAME_DEFAULTF_ACCEPTS   4096 /* name of table/column that default function accepts: real table's, cte's */
 
#define PT_NAME_INFO_IS_FLAGED(e, f)   ((e)->info.name.flag & (short) (f))
 
#define PT_NAME_INFO_SET_FLAG(e, f)   (e)->info.name.flag |= (short) (f)
 
#define PT_NAME_INFO_CLEAR_FLAG(e, f)   (e)->info.name.flag &= (short) ~(f)
 
#define PT_IDX_HINT_ORDER(hint_node)
 
#define PT_SELECT_INFO_ANSI_JOIN   0x01 /* has ANSI join? */
 
#define PT_SELECT_INFO_ORACLE_OUTER   0x02 /* has Oracle's outer join operator? */
 
#define PT_SELECT_INFO_DUMMY   0x04 /* is dummy (i.e., 'SELECT * FROM x') ? */
 
#define PT_SELECT_INFO_HAS_AGG   0x08 /* has any type of aggregation? */
 
#define PT_SELECT_INFO_HAS_ANALYTIC   0x10 /* has analytic functions */
 
#define PT_SELECT_INFO_MULTI_UPDATE_AGG   0x20 /* is query for multi-table update using aggregate */
 
#define PT_SELECT_INFO_IDX_SCHEMA   0x40 /* is show index query */
 
#define PT_SELECT_INFO_COLS_SCHEMA   0x80 /* is show columns query */
 
#define PT_SELECT_FULL_INFO_COLS_SCHEMA   0x0100 /* is show columns query */
 
#define PT_SELECT_INFO_IS_MERGE_QUERY   0x0200 /* is a query of a merge stmt */
 
#define PT_SELECT_INFO_LIST_PUSHER
 
#define PT_SELECT_INFO_NO_STRICT_OID_CHECK
 
#define PT_SELECT_INFO_IS_UPD_DEL_QUERY   0x1000 /* set if select was built for an UPDATE or DELETE statement */
 
#define PT_SELECT_INFO_FOR_UPDATE   0x2000 /* FOR UPDATE clause is active */
 
#define PT_SELECT_INFO_DISABLE_LOOSE_SCAN   0x4000 /* loose scan not possible on query */
 
#define PT_SELECT_INFO_MVCC_LOCK_NEEDED   0x8000 /* lock returned rows */
 
#define PT_SELECT_INFO_READ_ONLY   0x010000 /* read-only system generated queries like show statement */
 
#define PT_SELECT_INFO_IS_FLAGED(s, f)   ((s)->info.query.q.select.flag & (f))
 
#define PT_SELECT_INFO_SET_FLAG(s, f)   (s)->info.query.q.select.flag |= (f)
 
#define PT_SELECT_INFO_CLEAR_FLAG(s, f)   (s)->info.query.q.select.flag &= ~(f)
 
#define PT_MERGE_INFO_HAS_UNIQUE   1 /* has unique constraints */
 
#define PT_MERGE_INFO_SERVER_OP   2 /* server side operation */
 
#define PT_MERGE_INFO_INSERT_ONLY   4 /* merge condition always false */
 
#define MAX_KEYWORD_SIZE   (20 + 1 + 3)
 

Typedefs

typedef enum pt_node_type PT_NODE_TYPE
 
typedef enum pt_type_enum PT_TYPE_ENUM
 
typedef struct parser_varchar PARSER_VARCHAR
 
typedef struct parser_context PARSER_CONTEXT
 
typedef struct parser_node PT_NODE
 
typedef struct pt_alter_info PT_ALTER_INFO
 
typedef struct pt_alter_user_info PT_ALTER_USER_INFO
 
typedef struct pt_alter_trigger_info PT_ALTER_TRIGGER_INFO
 
typedef struct pt_attach_info PT_ATTACH_INFO
 
typedef struct pt_attach_info PT_PREPARE_TO_COMMIT_INFO
 
typedef struct pt_attr_def_info PT_ATTR_DEF_INFO
 
typedef struct pt_attr_ordering_info PT_ATTR_ORDERING_INFO
 
typedef struct pt_auth_cmd_info PT_AUTH_CMD_INFO
 
typedef struct pt_commit_work_info PT_COMMIT_WORK_INFO
 
typedef struct pt_create_entity_info PT_CREATE_ENTITY_INFO
 
typedef struct pt_index_info PT_INDEX_INFO
 
typedef struct pt_create_user_info PT_CREATE_USER_INFO
 
typedef struct pt_create_trigger_info PT_CREATE_TRIGGER_INFO
 
typedef struct pt_cte_info PT_CTE_INFO
 
typedef struct pt_serial_info PT_SERIAL_INFO
 
typedef struct pt_data_default_info PT_DATA_DEFAULT_INFO
 
typedef struct pt_auto_increment_info PT_AUTO_INCREMENT_INFO
 
typedef struct pt_partition_info PT_PARTITION_INFO
 
typedef struct pt_parts_info PT_PARTS_INFO
 
typedef struct pt_data_type_info PT_DATA_TYPE_INFO
 
typedef struct pt_delete_info PT_DELETE_INFO
 
typedef struct pt_dot_info PT_DOT_INFO
 
typedef struct pt_drop_info PT_DROP_INFO
 
typedef struct pt_drop_user_info PT_DROP_USER_INFO
 
typedef struct pt_drop_trigger_info PT_DROP_TRIGGER_INFO
 
typedef struct pt_drop_variable_info PT_DROP_VARIABLE_INFO
 
typedef struct pt_drop_session_var_info PT_DROP_SESSION_VAR_INFO
 
typedef struct pt_spec_info PT_SPEC_INFO
 
typedef struct pt_evaluate_info PT_EVALUATE_INFO
 
typedef struct pt_event_object_info PT_EVENT_OBJECT_INFO
 
typedef struct pt_event_spec_info PT_EVENT_SPEC_INFO
 
typedef struct pt_event_target_info PT_EVENT_TARGET_INFO
 
typedef struct pt_execute_trigger_info PT_EXECUTE_TRIGGER_INFO
 
typedef struct pt_expr_info PT_EXPR_INFO
 
typedef struct pt_file_path_info PT_FILE_PATH_INFO
 
typedef struct pt_function_info PT_FUNCTION_INFO
 
typedef struct pt_get_opt_lvl_info PT_GET_OPT_LVL_INFO
 
typedef struct pt_get_trigger_info PT_GET_TRIGGER_INFO
 
typedef struct pt_get_xaction_info PT_GET_XACTION_INFO
 
typedef struct pt_grant_info PT_GRANT_INFO
 
typedef struct pt_host_var_info PT_HOST_VAR_INFO
 
typedef struct pt_insert_info PT_INSERT_INFO
 
typedef struct pt_isolation_lvl_info PT_ISOLATION_LVL_INFO
 
typedef struct pt_merge_info PT_MERGE_INFO
 
typedef struct pt_method_call_info PT_METHOD_CALL_INFO
 
typedef struct pt_method_def_info PT_METHOD_DEF_INFO
 
typedef struct pt_name_info PT_NAME_INFO
 
typedef struct pt_named_arg_info PT_NAMED_ARG_INFO
 
typedef struct pt_remove_trigger_info PT_REMOVE_TRIGGER_INFO
 
typedef struct pt_rename_info PT_RENAME_INFO
 
typedef struct pt_rename_trigger_info PT_RENAME_TRIGGER_INFO
 
typedef struct pt_resolution_info PT_RESOLUTION_INFO
 
typedef struct pt_revoke_info PT_REVOKE_INFO
 
typedef struct pt_rollback_work_info PT_ROLLBACK_WORK_INFO
 
typedef struct pt_union_info PT_UNION_INFO
 
typedef struct pt_savepoint_info PT_SAVEPOINT_INFO
 
typedef struct pt_scope_info PT_SCOPE_INFO
 
typedef struct pt_select_info PT_SELECT_INFO
 
typedef struct pt_query_info PT_QUERY_INFO
 
typedef struct pt_set_opt_lvl_info PT_SET_OPT_LVL_INFO
 
typedef struct pt_set_sys_params_info PT_SET_SYS_PARAMS_INFO
 
typedef struct pt_set_xaction_info PT_SET_XACTION_INFO
 
typedef struct pt_set_trigger_info PT_SET_TRIGGER_INFO
 
typedef struct pt_showstmt_info PT_SHOWSTMT_INFO
 
typedef struct pt_killstmt_info PT_KILLSTMT_INFO
 
typedef struct pt_sort_spec_info PT_SORT_SPEC_INFO
 
typedef struct pt_timeout_info PT_TIMEOUT_INFO
 
typedef struct pt_trigger_action_info PT_TRIGGER_ACTION_INFO
 
typedef struct pt_trigger_spec_list_info PT_TRIGGER_SPEC_LIST_INFO
 
typedef struct pt_update_info PT_UPDATE_INFO
 
typedef struct pt_update_stats_info PT_UPDATE_STATS_INFO
 
typedef struct pt_get_stats_info PT_GET_STATS_INFO
 
typedef struct pt_set_session_variable_info PT_SET_SESSION_VARIABLE_INFO
 
typedef struct pt_monetary_value PT_MONETARY
 
typedef struct pt_enum_element_value PT_ENUM_ELEMENT
 
typedef union pt_data_value PT_DATA_VALUE
 
typedef struct pt_value_info PT_VALUE_INFO
 
typedef struct PT_ZZ_ERROR_MSG_INFO PT_ZZ_ERROR_MSG_INFO
 
typedef struct pt_foreign_key_info PT_FOREIGN_KEY_INFO
 
typedef struct pt_constraint_info PT_CONSTRAINT_INFO
 
typedef struct pt_pointer_info PT_POINTER_INFO
 
typedef struct pt_stored_proc_info PT_STORED_PROC_INFO
 
typedef struct pt_prepare_info PT_PREPARE_INFO
 
typedef struct pt_execute_info PT_EXECUTE_INFO
 
typedef struct pt_stored_proc_param_info PT_STORED_PROC_PARAM_INFO
 
typedef struct pt_truncate_info PT_TRUNCATE_INFO
 
typedef struct pt_do_info PT_DO_INFO
 
typedef union pt_statement_info PT_STATEMENT_INFO
 
typedef struct pt_node_list_info PT_NODE_LIST_INFO
 
typedef struct pt_table_option_info PT_TABLE_OPTION_INFO
 
typedef struct pt_check_option_info PT_CHECK_OPTION_INFO
 
typedef struct pt_agg_check_info PT_AGG_CHECK_INFO
 
typedef struct pt_agg_rewrite_info PT_AGG_REWRITE_INFO
 
typedef struct pt_agg_find_info PT_AGG_FIND_INFO
 
typedef struct pt_agg_name_info PT_AGG_NAME_INFO
 
typedef struct pt_filter_index_info PT_FILTER_INDEX_INFO
 
typedef struct pt_non_groupby_col_info PT_NON_GROUPBY_COL_INFO
 
typedef struct pt_host_vars PT_HOST_VARS
 
typedef struct cursor_id PT_CURSOR_ID
 
typedef struct qfile_list_id PT_LIST_ID
 
typedef struct nested_view_version_info NESTED_VIEW_VERSION_INFO
 
typedef struct view_cache_info VIEW_CACHE_INFO
 
typedef struct semantic_chk_info SEMANTIC_CHK_INFO
 
typedef struct parser_hint PT_HINT
 
typedef struct pt_set_names_info PT_SET_NAMES_INFO
 
typedef struct pt_trace_info PT_TRACE_INFO
 
typedef struct pt_tuple_value_info PT_TUPLE_VALUE_INFO
 
typedef struct pt_with_clause_info PT_WITH_CLAUSE_INFO
 
typedef struct pt_insert_value_info PT_INSERT_VALUE_INFO
 
typedef struct pt_set_timezone_info PT_SET_TIMEZONE_INFO
 
typedef struct pt_flat_spec_info PT_FLAT_SPEC_INFO
 
typedef struct pt_json_table_info PT_JSON_TABLE_INFO
 
typedef struct pt_json_table_node_info PT_JSON_TABLE_NODE_INFO
 
typedef struct pt_json_table_column_info PT_JSON_TABLE_COLUMN_INFO
 
typedef PT_NODE *(* PT_NODE_WALK_FUNCTION) (PARSER_CONTEXT *p, PT_NODE *tree, void *arg, int *continue_walk)
 
typedef PARSER_VARCHAR *(* PT_PRINT_VALUE_FUNC) (PARSER_CONTEXT *parser, const PT_NODE *val)
 
typedef void(* PARSER_GENERIC_VOID_FUNCTION) ()
 
typedef struct must_be_filtering_info MUST_BE_FILTERING_INFO
 
typedef struct pt_reserved_name PT_RESERVED_NAME
 
typedef enum pt_time_zones PT_TIMEZONE
 
typedef long PT_TIME
 
typedef long PT_UTIME
 
typedef DB_TIMESTAMPTZ PT_TIMESTAMPTZ
 
typedef long PT_DATE
 
typedef DB_DATETIME PT_DATETIME
 
typedef DB_DATETIMETZ PT_DATETIMETZ
 
typedef enum pt_currency_types PT_CURRENCY
 
typedef enum pt_pointer_type PT_POINTER_TYPE
 
typedef struct execution_state_values EXECUTION_STATE_VALUES
 
typedef struct keyword_record KEYWORD_RECORD
 
typedef struct pt_plan_trace_info PT_PLAN_TRACE_INFO
 
typedef int(* PT_CASECMP_FUN) (const char *s1, const char *s2)
 
typedef int(* PT_INT_FUNCTION) (PARSER_CONTEXT *c)
 
typedef struct pt_assignments_helper PT_ASSIGNMENTS_HELPER
 
typedef enum pt_coll_coerc_lev PT_COLL_COERC_LEV
 
typedef struct pt_coll_infer PT_COLL_INFER
 

Enumerations

enum  { PT_STOP_WALK = 0, PT_CONTINUE_WALK, PT_LEAF_WALK, PT_LIST_WALK }
 
enum  { PT_USER_SELECT = 0, PT_MERGE_SELECT }
 
enum  pt_custom_print {
  PT_SUPPRESS_RESOLVED = 0x1, PT_SUPPRESS_META_ATTR_CLASS = (0x1 << 1), PT_SUPPRESS_INTO = (0x1 << 2), PT_SUPPRESS_SELECTOR = (0x1 << 3),
  PT_SUPPRESS_SELECT_LIST = (0x1 << 4), PT_SUPPRESS_QUOTES = (0x1 << 5), PT_PRINT_ALIAS = (0x1 << 6), PT_PAD_BYTE = (0x1 << 7),
  PT_CONVERT_RANGE = (0x1 << 8), PT_PRINT_DB_VALUE = (0x1 << 9), PT_SUPPRESS_INDEX = (0x1 << 10), PT_SUPPRESS_ORDERING = (0x1 << 11),
  PT_PRINT_QUOTES = (0x1 << 12), PT_FORCE_ORIGINAL_TABLE_NAME = (0x1 << 13), PT_SUPPRESS_CHARSET_PRINT = (0x1 << 14), PT_PRINT_DIFFERENT_SYSTEM_PARAMETERS = (0x1 << 15),
  PT_SHORT_PRINT = (0x1 << 16), PT_SUPPRESS_BIGINT_CAST = (0x1 << 17), PT_CHARSET_COLLATE_FULL = (0x1 << 18), PT_CHARSET_COLLATE_USER_ONLY = (0x1 << 19),
  PT_PRINT_USER = (0x1 << 20), PT_PRINT_ORIGINAL_BEFORE_CONST_FOLDING = (0x1 << 21)
}
 
enum  pt_node_type {
  PT_NODE_NONE = CUBRID_STMT_NONE, PT_ALTER = CUBRID_STMT_ALTER_CLASS, PT_ALTER_INDEX = CUBRID_STMT_ALTER_INDEX, PT_ALTER_USER = CUBRID_STMT_ALTER_USER,
  PT_ALTER_SERIAL = CUBRID_STMT_ALTER_SERIAL, PT_COMMIT_WORK = CUBRID_STMT_COMMIT_WORK, PT_CREATE_ENTITY = CUBRID_STMT_CREATE_CLASS, PT_CREATE_INDEX = CUBRID_STMT_CREATE_INDEX,
  PT_CREATE_USER = CUBRID_STMT_CREATE_USER, PT_CREATE_TRIGGER = CUBRID_STMT_CREATE_TRIGGER, PT_CREATE_SERIAL = CUBRID_STMT_CREATE_SERIAL, PT_DROP = CUBRID_STMT_DROP_CLASS,
  PT_DROP_INDEX = CUBRID_STMT_DROP_INDEX, PT_DROP_USER = CUBRID_STMT_DROP_USER, PT_DROP_VARIABLE = CUBRID_STMT_DROP_LABEL, PT_DROP_TRIGGER = CUBRID_STMT_DROP_TRIGGER,
  PT_DROP_SERIAL = CUBRID_STMT_DROP_SERIAL, PT_EVALUATE = CUBRID_STMT_EVALUATE, PT_RENAME = CUBRID_STMT_RENAME_CLASS, PT_ROLLBACK_WORK = CUBRID_STMT_ROLLBACK_WORK,
  PT_GRANT = CUBRID_STMT_GRANT, PT_REVOKE = CUBRID_STMT_REVOKE, PT_UPDATE_STATS = CUBRID_STMT_UPDATE_STATS, PT_GET_STATS = CUBRID_STMT_GET_STATS,
  PT_INSERT = CUBRID_STMT_INSERT, PT_SELECT = CUBRID_STMT_SELECT, PT_UPDATE = CUBRID_STMT_UPDATE, PT_DELETE = CUBRID_STMT_DELETE,
  PT_METHOD_CALL = CUBRID_STMT_CALL, PT_GET_XACTION = CUBRID_STMT_GET_ISO_LVL, PT_GET_OPT_LVL = CUBRID_STMT_GET_OPT_LVL, PT_SET_OPT_LVL = CUBRID_STMT_SET_OPT_LVL,
  PT_SET_SYS_PARAMS = CUBRID_STMT_SET_SYS_PARAMS, PT_SCOPE = CUBRID_STMT_SCOPE, PT_SET_TRIGGER = CUBRID_STMT_SET_TRIGGER, PT_GET_TRIGGER = CUBRID_STMT_GET_TRIGGER,
  PT_SAVEPOINT = CUBRID_STMT_SAVEPOINT, PT_PREPARE_TO_COMMIT = CUBRID_STMT_PREPARE, PT_2PC_ATTACH = CUBRID_STMT_ATTACH, PT_REMOVE_TRIGGER = CUBRID_STMT_REMOVE_TRIGGER,
  PT_RENAME_TRIGGER = CUBRID_STMT_RENAME_TRIGGER, PT_CREATE_STORED_PROCEDURE = CUBRID_STMT_CREATE_STORED_PROCEDURE, PT_ALTER_STORED_PROCEDURE = CUBRID_STMT_ALTER_STORED_PROCEDURE, PT_DROP_STORED_PROCEDURE = CUBRID_STMT_DROP_STORED_PROCEDURE,
  PT_PREPARE_STATEMENT = CUBRID_STMT_PREPARE_STATEMENT, PT_EXECUTE_PREPARE = CUBRID_STMT_EXECUTE_PREPARE, PT_DEALLOCATE_PREPARE = CUBRID_STMT_DEALLOCATE_PREPARE, PT_TRUNCATE = CUBRID_STMT_TRUNCATE,
  PT_DO = CUBRID_STMT_DO, PT_SET_SESSION_VARIABLES = CUBRID_STMT_SET_SESSION_VARIABLES, PT_DROP_SESSION_VARIABLES = CUBRID_STMT_DROP_SESSION_VARIABLES, PT_MERGE = CUBRID_STMT_MERGE,
  PT_SET_NAMES = CUBRID_STMT_SET_NAMES, PT_SET_TIMEZONE = CUBRID_STMT_SET_TIMEZONE, PT_DIFFERENCE = CUBRID_MAX_STMT_TYPE, PT_INTERSECTION,
  PT_UNION, PT_ZZ_ERROR_MSG, PT_ALTER_TRIGGER, PT_ATTR_DEF,
  PT_AUTH_CMD, PT_AUTO_INCREMENT, PT_CHECK_OPTION, PT_CONSTRAINT,
  PT_CTE, PT_DATA_DEFAULT, PT_DATA_TYPE, PT_DOT_,
  PT_EVENT_OBJECT, PT_EVENT_SPEC, PT_EVENT_TARGET, PT_EXECUTE_TRIGGER,
  PT_EXPR, PT_FILE_PATH, PT_FUNCTION, PT_HOST_VAR,
  PT_ISOLATION_LVL, PT_METHOD_DEF, PT_NAME, PT_PARTITION,
  PT_PARTS, PT_RESOLUTION, PT_SET_XACTION, PT_SORT_SPEC,
  PT_SP_PARAMETERS, PT_SPEC, PT_TIMEOUT, PT_TRIGGER_ACTION,
  PT_TRIGGER_SPEC_LIST, PT_VALUE, PT_NODE_POINTER, PT_NODE_LIST,
  PT_TABLE_OPTION, PT_ATTR_ORDERING, PT_TUPLE_VALUE, PT_QUERY_TRACE,
  PT_INSERT_VALUE, PT_NAMED_ARG, PT_SHOWSTMT, PT_KILL_STMT,
  PT_VACUUM, PT_WITH_CLAUSE, PT_JSON_TABLE, PT_JSON_TABLE_NODE,
  PT_JSON_TABLE_COLUMN, PT_NODE_NUMBER, PT_LAST_NODE_NUMBER = PT_NODE_NUMBER
}
 
enum  pt_type_enum {
  PT_TYPE_NONE = 1000, PT_TYPE_MIN = PT_TYPE_NONE, PT_TYPE_INTEGER, PT_TYPE_FLOAT,
  PT_TYPE_DOUBLE, PT_TYPE_SMALLINT, PT_TYPE_DATE, PT_TYPE_TIME,
  PT_TYPE_TIMESTAMP, PT_TYPE_DATETIME, PT_TYPE_MONETARY, PT_TYPE_NUMERIC,
  PT_TYPE_CHAR, PT_TYPE_VARCHAR, PT_TYPE_NCHAR, PT_TYPE_VARNCHAR,
  PT_TYPE_BIT, PT_TYPE_VARBIT, PT_TYPE_LOGICAL, PT_TYPE_MAYBE,
  PT_TYPE_JSON, PT_TYPE_NA, PT_TYPE_NULL, PT_TYPE_STAR,
  PT_TYPE_OBJECT, PT_TYPE_SET, PT_TYPE_MULTISET, PT_TYPE_SEQUENCE,
  PT_TYPE_MIDXKEY, PT_TYPE_COMPOUND, PT_TYPE_EXPR_SET, PT_TYPE_RESULTSET,
  PT_TYPE_BIGINT, PT_TYPE_BLOB, PT_TYPE_CLOB, PT_TYPE_ELO,
  PT_TYPE_ENUMERATION, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_DATETIMETZ,
  PT_TYPE_DATETIMELTZ, PT_TYPE_MAX
}
 
enum  PT_PRIV_TYPE {
  PT_NO_PRIV = 2000, PT_ADD_PRIV, PT_ALL_PRIV, PT_ALTER_PRIV,
  PT_DELETE_PRIV, PT_DROP_PRIV, PT_EXECUTE_PRIV, PT_INDEX_PRIV,
  PT_INSERT_PRIV, PT_REFERENCES_PRIV, PT_SELECT_PRIV, PT_UPDATE_PRIV
}
 
enum  PT_MISC_TYPE {
  PT_MISC_NONE = 0, PT_MISC_DUMMY = 3000, PT_ALL, PT_ONLY,
  PT_DISTINCT, PT_SHARED, PT_DEFAULT, PT_ASC,
  PT_DESC, PT_GRANT_OPTION, PT_NO_GRANT_OPTION, PT_CLASS,
  PT_VCLASS, PT_VID_ATTR, PT_OID_ATTR, PT_CLASSOID_ATTR,
  PT_TRIGGER_OID, PT_NORMAL, PT_META_CLASS, PT_META_ATTR,
  PT_PARAMETER, PT_HINT_NAME, PT_INDEX_NAME, PT_RESERVED,
  PT_IS_SUBQUERY, PT_IS_UNION_SUBQUERY, PT_IS_UNION_QUERY, PT_IS_SET_EXPR,
  PT_IS_CSELECT, PT_IS_WHACKED_SPEC, PT_IS_SUBINSERT, PT_IS_VALUE,
  PT_IS_DEFAULT_VALUE, PT_ATTRIBUTE, PT_METHOD, PT_FUNCTION_RENAME,
  PT_FILE_RENAME, PT_NO_ISOLATION_LEVEL, PT_SERIALIZABLE, PT_REPEATABLE_READ,
  PT_READ_COMMITTED, PT_ISOLATION_LEVEL, PT_LOCK_TIMEOUT, PT_HOST_IN,
  PT_HOST_OUT, PT_HOST_OUT_DESCR, PT_ACTIVE, PT_INACTIVE,
  PT_BEFORE, PT_AFTER, PT_DEFERRED, PT_REJECT,
  PT_INVALIDATE_XACTION, PT_PRINT, PT_EXPRESSION, PT_TRIGGER_TRACE,
  PT_TRIGGER_DEPTH, PT_IS_CALL_STMT, PT_IS_MTHD_EXPR, PT_IS_CLASS_MTHD,
  PT_IS_INST_MTHD, PT_METHOD_ENTITY, PT_IS_SELECTOR_SPEC, PT_PATH_INNER,
  PT_PATH_OUTER, PT_PATH_OUTER_WEASEL, PT_LOCAL, PT_CASCADED,
  PT_CURRENT, PT_CHAR_STRING, PT_NCHAR_STRING, PT_BIT_STRING,
  PT_HEX_STRING, PT_MATCH_REGULAR, PT_MATCH_FULL, PT_MATCH_PARTIAL,
  PT_RULE_CASCADE, PT_RULE_RESTRICT, PT_RULE_SET_NULL, PT_RULE_SET_DEFAULT,
  PT_RULE_NO_ACTION, PT_LEADING, PT_TRAILING, PT_BOTH,
  PT_NOPUT, PT_INPUT, PT_OUTPUT, PT_INPUTOUTPUT,
  PT_MILLISECOND, PT_SECOND, PT_MINUTE, PT_HOUR,
  PT_DAY, PT_WEEK, PT_MONTH, PT_QUARTER,
  PT_YEAR, PT_SECOND_MILLISECOND, PT_MINUTE_MILLISECOND, PT_MINUTE_SECOND,
  PT_HOUR_MILLISECOND, PT_HOUR_SECOND, PT_HOUR_MINUTE, PT_DAY_MILLISECOND,
  PT_DAY_SECOND, PT_DAY_MINUTE, PT_DAY_HOUR, PT_YEAR_MONTH,
  PT_SIMPLE_CASE, PT_SEARCHED_CASE, PT_OPT_LVL, PT_OPT_COST,
  PT_SUBSTR_ORG, PT_SUBSTR, PT_EQ_TORDER, PT_SP_PROCEDURE,
  PT_SP_FUNCTION, PT_SP_IN, PT_SP_OUT, PT_SP_INOUT,
  PT_LOB_INTERNAL, PT_LOB_EXTERNAL, PT_FROM_LAST, PT_IGNORE_NULLS,
  PT_NULLS_DEFAULT, PT_NULLS_FIRST, PT_NULLS_LAST, PT_CONSTRAINT_NAME,
  PT_TRACE_ON, PT_TRACE_OFF, PT_TRACE_FORMAT_TEXT, PT_TRACE_FORMAT_JSON,
  PT_IS_SHOWSTMT, PT_IS_CTE_REC_SUBQUERY, PT_IS_CTE_NON_REC_SUBQUERY, PT_DERIVED_JSON_TABLE
}
 
enum  PT_JOIN_TYPE {
  PT_JOIN_NONE = 0x00, PT_JOIN_CROSS = 0x01, PT_JOIN_NATURAL = 0x02, PT_JOIN_INNER = 0x04,
  PT_JOIN_LEFT_OUTER = 0x08, PT_JOIN_RIGHT_OUTER = 0x10, PT_JOIN_FULL_OUTER = 0x20, PT_JOIN_UNION = 0x40
}
 
enum  PT_HINT_ENUM {
  PT_HINT_NONE = 0x00, PT_HINT_ORDERED = 0x01, PT_HINT_NO_INDEX_SS = 0x02, PT_HINT_INDEX_SS = 0x04,
  PT_HINT_SELECT_BTREE_NODE_INFO = 0x08, PT_HINT_USE_NL = 0x10, PT_HINT_USE_IDX = 0x20, PT_HINT_USE_MERGE = 0x40,
  PT_HINT_USE_HASH = 0x80, PT_HINT_RECOMPILE = 0x0100, PT_HINT_LK_TIMEOUT = 0x0200, PT_HINT_NO_LOGGING = 0x0400,
  PT_HINT_NO_HASH_LIST_SCAN = 0x0800, PT_HINT_QUERY_CACHE = 0x1000, PT_HINT_REEXECUTE = 0x2000, PT_HINT_JDBC_CACHE = 0x4000,
  PT_HINT_USE_SBR = 0x8000, PT_HINT_USE_IDX_DESC = 0x10000, PT_HINT_NO_COVERING_IDX = 0x20000, PT_HINT_INSERT_MODE = 0x40000,
  PT_HINT_NO_IDX_DESC = 0x80000, PT_HINT_NO_MULTI_RANGE_OPT = 0x100000, PT_HINT_USE_UPDATE_IDX = 0x200000, PT_HINT_USE_INSERT_IDX = 0x400000,
  PT_HINT_NO_SORT_LIMIT = 0x800000, PT_HINT_NO_HASH_AGGREGATE = 0x1000000, PT_HINT_SKIP_UPDATE_NULL = 0x2000000, PT_HINT_NO_INDEX_LS = 0x4000000,
  PT_HINT_INDEX_LS = 0x8000000, PT_HINT_QUERY_NO_CACHE = 0x10000000, PT_HINT_SELECT_RECORD_INFO = 0x20000000, PT_HINT_SELECT_PAGE_INFO = 0x40000000,
  PT_HINT_SELECT_KEY_INFO = 0x80000000
}
 
enum  PT_ERROR_CODE {
  PT_NO_ERROR = 4000, PT_USAGE, PT_NODE_TABLE_OVERFLOW, PT_NAMES_TABLE_OVERFLOW,
  PT_CANT_OPEN_FILE, PT_STACK_OVERFLOW, PT_STACK_UNDERFLOW, PT_PARSE_ERROR,
  PT_ILLEGAL_TYPE_IN_FUNC, PT_NO_ARG_IN_FUNC
}
 
enum  PT_ALTER_CODE {
  PT_ADD_QUERY = 5000, PT_DROP_QUERY, PT_MODIFY_QUERY, PT_RESET_QUERY,
  PT_ADD_ATTR_MTHD, PT_DROP_ATTR_MTHD, PT_MODIFY_ATTR_MTHD, PT_RENAME_ATTR_MTHD,
  PT_MODIFY_DEFAULT, PT_ADD_SUPCLASS, PT_DROP_SUPCLASS, PT_DROP_RESOLUTION,
  PT_RENAME_RESOLUTION, PT_DROP_CONSTRAINT, PT_APPLY_PARTITION, PT_DROP_PARTITION,
  PT_REMOVE_PARTITION, PT_ADD_PARTITION, PT_ADD_HASHPARTITION, PT_REORG_PARTITION,
  PT_COALESCE_PARTITION, PT_ANALYZE_PARTITION, PT_PROMOTE_PARTITION, PT_RENAME_ENTITY,
  PT_ALTER_DEFAULT, PT_DROP_INDEX_CLAUSE, PT_DROP_PRIMARY_CLAUSE, PT_DROP_FK_CLAUSE,
  PT_CHANGE_ATTR, PT_CHANGE_AUTO_INCREMENT, PT_CHANGE_OWNER, PT_CHANGE_COLLATION,
  PT_REBUILD_INDEX, PT_ADD_INDEX_CLAUSE, PT_CHANGE_TABLE_COMMENT, PT_CHANGE_COLUMN_COMMENT,
  PT_CHANGE_INDEX_COMMENT, PT_CHANGE_INDEX_STATUS
}
 
enum  PT_EVENT_TYPE {
  PT_EV_INSERT = 6000, PT_EV_STMT_INSERT, PT_EV_DELETE, PT_EV_STMT_DELETE,
  PT_EV_UPDATE, PT_EV_STMT_UPDATE, PT_EV_ALTER, PT_EV_DROP,
  PT_EV_COMMIT, PT_EV_ROLLBACK, PT_EV_ABORT, PT_EV_TIMEOUT
}
 
enum  PT_CONSTRAINT_TYPE {
  PT_CONSTRAIN_UNKNOWN = 7000, PT_CONSTRAIN_PRIMARY_KEY, PT_CONSTRAIN_FOREIGN_KEY, PT_CONSTRAIN_NULL,
  PT_CONSTRAIN_NOT_NULL, PT_CONSTRAIN_UNIQUE, PT_CONSTRAIN_CHECK
}
 
enum  PT_PARTITION_TYPE { PT_PARTITION_HASH = 0, PT_PARTITION_RANGE, PT_PARTITION_LIST }
 
enum  PT_TABLE_OPTION_TYPE {
  PT_TABLE_OPTION_NONE = 0, PT_TABLE_OPTION_REUSE_OID = 9000, PT_TABLE_OPTION_AUTO_INCREMENT, PT_TABLE_OPTION_CHARSET,
  PT_TABLE_OPTION_COLLATION, PT_TABLE_OPTION_COMMENT, PT_TABLE_OPTION_ENCRYPT, PT_TABLE_OPTION_DONT_REUSE_OID
}
 
enum  PT_OP_TYPE {
  PT_AND = 400, PT_OR, PT_NOT, PT_BETWEEN,
  PT_NOT_BETWEEN, PT_LIKE, PT_NOT_LIKE, PT_IS_IN,
  PT_IS_NOT_IN, PT_IS_NULL, PT_IS_NOT_NULL, PT_IS,
  PT_IS_NOT, PT_EXISTS, PT_EQ_SOME, PT_NE_SOME,
  PT_GE_SOME, PT_GT_SOME, PT_LT_SOME, PT_LE_SOME,
  PT_EQ_ALL, PT_NE_ALL, PT_GE_ALL, PT_GT_ALL,
  PT_LT_ALL, PT_LE_ALL, PT_EQ, PT_NE,
  PT_GE, PT_GT, PT_LT, PT_LE,
  PT_NULLSAFE_EQ, PT_GT_INF, PT_LT_INF, PT_SETEQ,
  PT_SETNEQ, PT_SUPERSETEQ, PT_SUPERSET, PT_SUBSET,
  PT_SUBSETEQ, PT_PLUS, PT_MINUS, PT_TIMES,
  PT_DIVIDE, PT_UNARY_MINUS, PT_PRIOR, PT_QPRIOR,
  PT_CONNECT_BY_ROOT, PT_BIT_NOT, PT_BIT_XOR, PT_BIT_AND,
  PT_BIT_OR, PT_BIT_COUNT, PT_BITSHIFT_LEFT, PT_BITSHIFT_RIGHT,
  PT_DIV, PT_MOD, PT_IF, PT_IFNULL,
  PT_ISNULL, PT_XOR, PT_ASSIGN, PT_BETWEEN_AND,
  PT_BETWEEN_GE_LE, PT_BETWEEN_GE_LT, PT_BETWEEN_GT_LE, PT_BETWEEN_GT_LT,
  PT_BETWEEN_EQ_NA, PT_BETWEEN_INF_LE, PT_BETWEEN_INF_LT, PT_BETWEEN_GE_INF,
  PT_BETWEEN_GT_INF, PT_RANGE, PT_MODULUS, PT_RAND,
  PT_DRAND, PT_POSITION, PT_SUBSTRING, PT_OCTET_LENGTH,
  PT_BIT_LENGTH, PT_SUBSTRING_INDEX, PT_MD5, PT_SPACE,
  PT_CHAR_LENGTH, PT_LOWER, PT_UPPER, PT_TRIM,
  PT_LTRIM, PT_RTRIM, PT_LPAD, PT_RPAD,
  PT_REPLACE, PT_TRANSLATE, PT_REPEAT, PT_ADD_MONTHS,
  PT_LAST_DAY, PT_MONTHS_BETWEEN, PT_SYS_DATE, PT_TO_CHAR,
  PT_TO_DATE, PT_TO_NUMBER, PT_SYS_TIME, PT_SYS_TIMESTAMP,
  PT_CURRENT_TIMESTAMP, PT_SYS_DATETIME, PT_CURRENT_DATETIME, PT_CURRENT_TIME,
  PT_CURRENT_DATE, PT_UTC_TIME, PT_UTC_DATE, PT_TO_TIME,
  PT_TO_TIMESTAMP, PT_TO_DATETIME, PT_CURRENT_VALUE, PT_NEXT_VALUE,
  PT_INST_NUM, PT_ROWNUM, PT_ORDERBY_NUM, PT_CONNECT_BY_ISCYCLE,
  PT_CONNECT_BY_ISLEAF, PT_LEVEL, PT_SYS_CONNECT_BY_PATH, PT_EXTRACT,
  PT_LIKE_ESCAPE, PT_CAST, PT_CASE, PT_CURRENT_USER,
  PT_LOCAL_TRANSACTION_ID, PT_FLOOR, PT_CEIL, PT_SIGN,
  PT_POWER, PT_ROUND, PT_ABS, PT_TRUNC,
  PT_CHR, PT_INSTR, PT_LEAST, PT_GREATEST,
  PT_PATH_EXPR_SET, PT_ENCRYPT, PT_DECRYPT, PT_STRCAT,
  PT_NULLIF, PT_COALESCE, PT_NVL, PT_NVL2,
  PT_DECODE, PT_RANDOM, PT_DRANDOM, PT_INCR,
  PT_DECR, PT_LOG, PT_EXP, PT_SQRT,
  PT_CONCAT, PT_CONCAT_WS, PT_FIELD, PT_LEFT,
  PT_RIGHT, PT_LOCATE, PT_MID, PT_STRCMP,
  PT_REVERSE, PT_ACOS, PT_ASIN, PT_ATAN,
  PT_ATAN2, PT_COS, PT_SIN, PT_COT,
  PT_TAN, PT_DEGREES, PT_RADIANS, PT_PI,
  PT_FORMAT, PT_DISK_SIZE, PT_LN, PT_LOG2,
  PT_LOG10, PT_TIME_FORMAT, PT_TIMESTAMP, PT_UNIX_TIMESTAMP,
  PT_FROM_UNIXTIME, PT_SCHEMA, PT_DATABASE, PT_VERSION,
  PT_ADDDATE, PT_DATE_ADD, PT_SUBDATE, PT_DATE_SUB,
  PT_DATE_FORMAT, PT_DATEF, PT_TIMEF, PT_YEARF,
  PT_MONTHF, PT_DAYF, PT_HOURF, PT_MINUTEF,
  PT_SECONDF, PT_DAYOFMONTH, PT_WEEKDAY, PT_DAYOFWEEK,
  PT_DAYOFYEAR, PT_QUARTERF, PT_TODAYS, PT_FROMDAYS,
  PT_TIMETOSEC, PT_SECTOTIME, PT_MAKEDATE, PT_MAKETIME,
  PT_WEEKF, PT_USER, PT_ROW_COUNT, PT_LAST_INSERT_ID,
  PT_DATEDIFF, PT_TIMEDIFF, PT_STR_TO_DATE, PT_DEFAULTF,
  PT_LIST_DBS, PT_OID_OF_DUPLICATE_KEY, PT_LIKE_LOWER_BOUND, PT_LIKE_UPPER_BOUND,
  PT_BIT_TO_BLOB, PT_BLOB_FROM_FILE, PT_BLOB_LENGTH, PT_BLOB_TO_BIT,
  PT_CHAR_TO_BLOB, PT_CHAR_TO_CLOB, PT_CLOB_FROM_FILE, PT_CLOB_LENGTH,
  PT_CLOB_TO_CHAR, PT_TYPEOF, PT_FUNCTION_HOLDER, PT_INDEX_CARDINALITY,
  PT_DEFINE_VARIABLE, PT_EVALUATE_VARIABLE, PT_EXEC_STATS, PT_ADDTIME,
  PT_BIN, PT_FINDINSET, PT_HEX, PT_ASCII,
  PT_CONV, PT_RLIKE, PT_NOT_RLIKE, PT_RLIKE_BINARY,
  PT_NOT_RLIKE_BINARY, PT_TO_ENUMERATION_VALUE, PT_INET_ATON, PT_INET_NTOA,
  PT_CHARSET, PT_COERCIBILITY, PT_COLLATION, PT_WIDTH_BUCKET,
  PT_TRACE_STATS, PT_INDEX_PREFIX, PT_AES_ENCRYPT, PT_AES_DECRYPT,
  PT_SHA_ONE, PT_SHA_TWO, PT_TO_BASE64, PT_FROM_BASE64,
  PT_SLEEP, PT_SYS_GUID, PT_DBTIMEZONE, PT_SESSIONTIMEZONE,
  PT_TZ_OFFSET, PT_NEW_TIME, PT_FROM_TZ, PT_TO_DATETIME_TZ,
  PT_TO_TIMESTAMP_TZ, PT_UTC_TIMESTAMP, PT_CRC32, PT_SCHEMA_DEF,
  PT_CONV_TZ, PT_LAST_OPCODE
}
 
enum  PT_INCLUDE_OID_TYPE { PT_NO_OID_INCLUDED, PT_INCLUDE_OID, PT_INCLUDE_OID_TRUSTME }
 
enum  PT_COMP_TO_BETWEEN_OP_CODE_TYPE { PT_RANGE_MERGE, PT_RANGE_INTERSECTION, PT_REDUCE_COMP_PAIR_TERMS }
 
enum  PT_ERROR_TYPE { PT_SYNTAX, PT_SEMANTIC, PT_EXECUTION }
 
enum  PT_INCLUDE_OR_EXCLUDE_HIDDEN_COLUMNS { EXCLUDE_HIDDEN_COLUMNS, INCLUDE_HIDDEN_COLUMNS }
 
enum  PT_SPEC_FLAG {
  PT_SPEC_FLAG_NONE = 0x0, PT_SPEC_FLAG_UPDATE = 0x01, PT_SPEC_FLAG_DELETE = 0x02, PT_SPEC_FLAG_HAS_UNIQUE = 0x04,
  PT_SPEC_FLAG_FROM_VCLASS = 0x08, PT_SPEC_FLAG_CONTAINS_OID = 0x10, PT_SPEC_FLAG_FOR_UPDATE_CLAUSE = 0x20, PT_SPEC_FLAG_RECORD_INFO_SCAN = 0x40,
  PT_SPEC_FLAG_PAGE_INFO_SCAN = 0x80, PT_SPEC_FLAG_KEY_INFO_SCAN = 0x100, PT_SPEC_FLAG_BTREE_NODE_INFO_SCAN = 0x200, PT_SPEC_FLAG_MVCC_COND_REEV = 0x400,
  PT_SPEC_FLAG_MVCC_ASSIGN_REEV = 0x800, PT_SPEC_FLAG_DOESNT_HAVE_UNIQUE = 0x1000
}
 
enum  PT_CONNECT_BY_CHECK_CYCLES { CONNECT_BY_CYCLES_ERROR = 0, CONNECT_BY_CYCLES_NONE, CONNECT_BY_CYCLES_IGNORE, CONNECT_BY_CYCLES_NONE_IGNORE }
 
enum  SERVER_INSERT_ALLOWED { SERVER_INSERT_NOT_CHECKED = 0, SERVER_INSERT_IS_ALLOWED = 1, SERVER_INSERT_IS_NOT_ALLOWED = -1 }
 
enum  PT_CREATE_SELECT_ACTION { PT_CREATE_SELECT_NO_ACTION, PT_CREATE_SELECT_REPLACE, PT_CREATE_SELECT_IGNORE }
 
enum  PT_RESERVED_NAME_TYPE {
  RESERVED_NAME_INVALID = -1, RESERVED_NAME_RECORD_INFO = 0, RESERVED_NAME_PAGE_INFO, RESERVED_NAME_KEY_INFO,
  RESERVED_NAME_BTREE_NODE_INFO
}
 
enum  PT_RESERVED_NAME_ID {
  RESERVED_T_PAGEID = 0, RESERVED_T_SLOTID, RESERVED_T_VOLUMEID, RESERVED_T_OFFSET,
  RESERVED_T_LENGTH, RESERVED_T_REC_TYPE, RESERVED_T_REPRID, RESERVED_T_CHN,
  RESERVED_T_MVCC_INSID, RESERVED_T_MVCC_DELID, RESERVED_T_MVCC_FLAGS, RESERVED_T_MVCC_PREV_VERSION_LSA,
  RESERVED_P_CLASS_OID, RESERVED_P_PREV_PAGEID, RESERVED_P_NEXT_PAGEID, RESERVED_P_NUM_SLOTS,
  RESERVED_P_NUM_RECORDS, RESERVED_P_ANCHOR_TYPE, RESERVED_P_ALIGNMENT, RESERVED_P_TOTAL_FREE,
  RESERVED_P_CONT_FREE, RESERVED_P_OFFSET_TO_FREE_AREA, RESERVED_P_IS_SAVING, RESERVED_P_UPDATE_BEST,
  RESERVED_KEY_VOLUMEID, RESERVED_KEY_PAGEID, RESERVED_KEY_SLOTID, RESERVED_KEY_KEY,
  RESERVED_KEY_OID_COUNT, RESERVED_KEY_FIRST_OID, RESERVED_KEY_OVERFLOW_KEY, RESERVED_KEY_OVERFLOW_OIDS,
  RESERVED_BT_NODE_VOLUMEID, RESERVED_BT_NODE_PAGEID, RESERVED_BT_NODE_TYPE, RESERVED_BT_NODE_KEY_COUNT,
  RESERVED_BT_NODE_FIRST_KEY, RESERVED_BT_NODE_LAST_KEY, RESERVED_ATTR_COUNT, RESERVED_FIRST_RECORD_INFO = RESERVED_T_PAGEID,
  RESERVED_FIRST_MVCC_INFO = RESERVED_T_MVCC_INSID, RESERVED_LAST_RECORD_INFO = RESERVED_T_MVCC_PREV_VERSION_LSA, RESERVED_FIRST_PAGE_INFO = RESERVED_P_CLASS_OID, RESERVED_LAST_PAGE_INFO = RESERVED_P_UPDATE_BEST,
  RESERVED_FIRST_KEY_INFO = RESERVED_KEY_VOLUMEID, RESERVED_LAST_KEY_INFO = RESERVED_KEY_OVERFLOW_OIDS, RESERVED_FIRST_BT_NODE_INFO = RESERVED_BT_NODE_VOLUMEID, RESERVED_LAST_BT_NODE_INFO = RESERVED_BT_NODE_LAST_KEY
}
 
enum  {
  PT_IDX_HINT_FORCE = 1, PT_IDX_HINT_USE = 0, PT_IDX_HINT_IGNORE = -1, PT_IDX_HINT_ALL_EXCEPT = -2,
  PT_IDX_HINT_CLASS_NONE = -3, PT_IDX_HINT_NONE = -4
}
 
enum  pt_time_zones { PT_TIMEZONE_EASTERN, PT_TIMEZONE_CENTRAL, PT_TIMEZONE_MOUNTAIN, PT_TIMEZONE_PACIFIC }
 
enum  pt_currency_types {
  PT_CURRENCY_DOLLAR, PT_CURRENCY_YEN, PT_CURRENCY_BRITISH_POUND, PT_CURRENCY_WON,
  PT_CURRENCY_TL, PT_CURRENCY_CAMBODIAN_RIEL, PT_CURRENCY_CHINESE_RENMINBI, PT_CURRENCY_INDIAN_RUPEE,
  PT_CURRENCY_RUSSIAN_RUBLE, PT_CURRENCY_AUSTRALIAN_DOLLAR, PT_CURRENCY_CANADIAN_DOLLAR, PT_CURRENCY_BRASILIAN_REAL,
  PT_CURRENCY_ROMANIAN_LEU, PT_CURRENCY_EURO, PT_CURRENCY_SWISS_FRANC, PT_CURRENCY_DANISH_KRONE,
  PT_CURRENCY_NORWEGIAN_KRONE, PT_CURRENCY_BULGARIAN_LEV, PT_CURRENCY_VIETNAMESE_DONG, PT_CURRENCY_CZECH_KORUNA,
  PT_CURRENCY_POLISH_ZLOTY, PT_CURRENCY_SWEDISH_KRONA, PT_CURRENCY_CROATIAN_KUNA, PT_CURRENCY_SERBIAN_DINAR,
  PT_CURRENCY_NULL
}
 
enum  pt_pointer_type { PT_POINTER_NORMAL = 0, PT_POINTER_REF = 1 }
 
enum  pt_coll_coerc_lev {
  PT_COLLATION_L0_COERC = 0, PT_COLLATION_L1_COERC, PT_COLLATION_L1_ISO_BIN_COERC, PT_COLLATION_L1_BIN_COERC,
  PT_COLLATION_L2_COERC, PT_COLLATION_L2_BINARY_COERC, PT_COLLATION_L2_BIN_COERC, PT_COLLATION_L3_COERC,
  PT_COLLATION_L4_COERC, PT_COLLATION_L4_BINARY_COERC, PT_COLLATION_L4_BIN_COERC, PT_COLLATION_L5_COERC,
  PT_COLLATION_L6_COERC, PT_COLLATION_NOT_APPLICABLE = PT_COLLATION_L6_COERC, PT_COLLATION_NOT_COERC = PT_COLLATION_L0_COERC, PT_COLLATION_FULLY_COERC = PT_COLLATION_L5_COERC
}
 

Functions

void pt_init_node (PT_NODE *node, PT_NODE_TYPE node_type)
 
void * parser_allocate_string_buffer (const PARSER_CONTEXT *parser, const int length, const int align)
 
bool pt_is_json_value_type (PT_TYPE_ENUM type)
 
bool pt_is_json_doc_type (PT_TYPE_ENUM type)
 

Variables

PT_RESERVED_NAME pt_Reserved_name_table []
 
PARSER_CONTEXTparent_parser
 

Macro Definition Documentation

#define CLEAR_HOST_VARIABLES (   parser_)
Value:
do { DB_VALUE *hv; int i; \
for (i = 0, hv = parser_->host_variables; \
i < (parser_->host_var_count + parser_->auto_param_count); i++, hv++) \
free_and_init(parser_->host_variables); \
free_and_init(parser_->host_var_expected_domains);} while (0)
#define free_and_init(ptr)
Definition: memory_alloc.h:147
int i
Definition: dynamic_load.c:954
for(p=libs;*p;p++)
Definition: dynamic_load.c:968
int db_value_clear(DB_VALUE *value)
Definition: db_macro.c:1588

Definition at line 520 of file parse_tree.h.

#define IS_UPDATE_OBJ (   node)    (node->node_type == PT_UPDATE && node->info.update.object_parameter)

Definition at line 548 of file parse_tree.h.

Referenced by pt_print_update().

#define MAX_KEYWORD_SIZE   (20 + 1 + 3)

Definition at line 3502 of file parse_tree.h.

Referenced by pt_find_keyword().

#define MAX_NUM_PLAN_TRACE   100

Definition at line 617 of file parse_tree.h.

Referenced by qo_top_plan_print_json(), and qo_top_plan_print_text().

#define MAX_PRINT_ERROR_CONTEXT_LENGTH   64

Definition at line 47 of file parse_tree.h.

Referenced by pt_record_error().

#define NAME_FROM_CLASSNAME_DOT_STAR   2 /* classname.* */

Definition at line 2537 of file parse_tree.h.

#define NAME_FROM_PT_DOT   1

Definition at line 2536 of file parse_tree.h.

#define NAME_FROM_STAR   3 /* * */

Definition at line 2538 of file parse_tree.h.

#define NAME_IN_PATH_EXPR   4

Definition at line 2539 of file parse_tree.h.

#define pt_cat_warning (   parser,
  node,
  setNo,
  msgNo,
  ... 
)    pt_frob_warning(parser, node, msgcat_message(MSGCAT_CATALOG_CUBRID, setNo, msgNo), ##__VA_ARGS__)

Definition at line 72 of file parse_tree.h.

#define PT_CHECK_HQ_OP_EXCEPT_PRIOR (   op)
#define PT_CHECK_RESERVED_NAME_BIND (   spec_,
  reserved_id 
)
Value:
== PT_GET_RESERVED_NAME_TYPE (reserved_id))
#define PT_GET_RESERVED_NAME_TYPE(reserved_id)
Definition: parse_tree.h:2477
#define PT_SPEC_GET_RESERVED_NAME_TYPE(spec_)
Definition: parse_tree.h:661

Definition at line 2528 of file parse_tree.h.

Referenced by pt_bind_reserved_name().

#define PT_CLEAR_JMP_ENV (   parser)
Value:
do { \
(parser)->jmp_env_active = 0; \
} while(0)
SP_PARSER_CTX * parser

Definition at line 107 of file parse_tree.h.

Referenced by meth_translate(), mq_translate(), parser_parse_file(), parser_parse_string_with_escapes(), and pt_compile().

#define PT_DOES_FUNCTION_HAVE_DIFFERENT_ARGS (   op)
Value:
((op) == PT_MODULUS || (op) == PT_SUBSTRING || \
(op) == PT_LPAD || (op) == PT_RPAD || (op) == PT_ADD_MONTHS || \
(op) == PT_TO_CHAR || (op) == PT_TO_NUMBER || \
(op) == PT_POWER || (op) == PT_ROUND || \
(op) == PT_TRUNC || (op) == PT_INSTR || \
(op) == PT_LEAST || (op) == PT_GREATEST || \
(op) == PT_FIELD || \
(op) == PT_REPEAT || (op) == PT_SUBSTRING_INDEX || \
(op) == PT_MAKEDATE || (op) == PT_MAKETIME || (op) == PT_IF || \
(op) == PT_STR_TO_DATE)

Definition at line 427 of file parse_tree.h.

Referenced by pt_eval_expr_type().

#define PT_EMPTY   INT_MAX

Definition at line 616 of file parse_tree.h.

Referenced by pt_bind_names().

#define PT_ERRORf (   parser,
  node,
  msg,
  arg1 
)    pt_frob_error(parser, node, msg, arg1)
#define PT_ERRORf2 (   parser,
  node,
  msg,
  arg1,
  arg2 
)    pt_frob_error(parser, node, msg, arg1, arg2)

Definition at line 58 of file parse_tree.h.

#define PT_ERRORf3 (   parser,
  node,
  msg,
  arg1,
  arg2,
  arg3 
)    pt_frob_error(parser, node, msg, arg1, arg2, arg3)

Definition at line 59 of file parse_tree.h.

#define PT_ERRORf4 (   parser,
  node,
  msg,
  arg1,
  arg2,
  arg3,
  arg4 
)    pt_frob_error(parser, node, msg, arg1, arg2, arg3, arg4)

Definition at line 60 of file parse_tree.h.

#define PT_ERRORf5 (   parser,
  node,
  msg,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)    pt_frob_error(parser, node, msg, arg1, arg2, arg3, arg4, arg5)

Definition at line 61 of file parse_tree.h.

#define PT_ERRORm (   parser,
  node,
  setNo,
  msgNo 
)    pt_cat_error(parser, node, setNo, msgNo)

Definition at line 63 of file parse_tree.h.

Referenced by build_xasl_for_server_delete(), call_method(), check_default_on_update_clause(), check_for_cons(), check_timeout_value(), compile_partition_expression(), create_or_drop_index_helper(), do_alter_one_clause_with_template(), do_insert_at_server(), do_prepare_delete(), do_prepare_insert_internal(), do_prepare_merge(), do_prepare_select(), do_prepare_update(), do_recreate_filter_index_constr(), do_select_internal(), do_set_xaction(), get_natural_join_attrs_from_pt_spec(), meth_translate_spec(), mq_check_vclass_for_insert(), mq_class_lambda(), mq_evaluate_expression(), mq_evaluate_expression_having_serial(), mq_invert_insert_select(), mq_rewrite_order_dependent_query(), mq_rewrite_upd_del_top_level_specs(), mq_substitute_subquery_in_statement(), mq_translate_delete(), mq_translate_insert(), mq_translate_update(), pt_append_assignment_references(), pt_bind_names(), pt_bind_names_post(), pt_check_alter(), pt_check_alter_partition(), pt_check_analytic_function(), pt_check_assignments(), pt_check_attribute_domain(), pt_check_auto_increment_table_option(), pt_check_cast_op(), pt_check_constraint(), pt_check_create_entity(), pt_check_create_index(), pt_check_create_user(), pt_check_create_view(), pt_check_data_default(), pt_check_default_vclass_query_spec(), pt_check_defaultf(), pt_check_drop(), pt_check_enum_data_type(), pt_check_expr_collation(), pt_check_filter_index_expr(), pt_check_filter_index_expr_pre(), pt_check_for_update_clause(), pt_check_for_update_subquery(), pt_check_function_index_expr(), pt_check_function_index_expr_pre(), pt_check_grammar_charset_collation(), pt_check_group_concat_order_by(), pt_check_into_clause(), pt_check_isolation_lvl(), pt_check_kill(), pt_check_method(), pt_check_odku_assignments(), pt_check_order_by(), pt_check_partitions(), pt_check_show_index(), pt_check_table_in_show_heap(), pt_check_union_type_compatibility_of_values_query(), pt_check_vclass_query_spec(), pt_check_where(), pt_check_with_info(), pt_check_xaction_list(), pt_coerce_range_expr_arguments(), pt_create_delete_stmt(), pt_db_value_initialize(), pt_dbval_to_value(), pt_eval_expr_type(), pt_eval_type_pre(), pt_evaluate_db_value_expr(), pt_evaluate_tree_internal(), pt_expand_analytic_node(), pt_find_attr_in_class_list(), pt_fix_buildlist_aggregate_cume_dist_percent_rank(), pt_fix_enumeration_comparison(), pt_fix_interpolation_aggregate_function_order_by(), pt_function_name_is_spec_attr(), pt_function_to_regu(), pt_gen_isnull_preds(), pt_get_collation_info_for_collection_type(), pt_get_collation_of_collection(), pt_get_compatible_info(), pt_init_pred_expr_context(), pt_is_function_index_expr(), pt_make_aptr_parent_node(), pt_make_flat_name_list(), pt_make_regu_subquery(), pt_make_table_info(), pt_no_attr_and_meta_attr_updates(), pt_node_to_enumeration_expr(), pt_partition_name(), pt_path_chain(), pt_pointer_stack_push(), pt_process_spec_for_update(), pt_resolve_cte_specs(), pt_resolve_default_external(), pt_resolve_default_value(), pt_resolve_natural_join_internal(), pt_resolve_object(), pt_resolve_showstmt_args_unnamed(), pt_resolve_sort_spec_expr(), pt_resolve_star_reserved_names(), pt_resolve_vclass_args(), pt_rewrite_derived_for_upd_del(), pt_rewrite_to_auto_param(), pt_semantic_check_local(), pt_set_host_variables(), pt_set_reserved_name_key_type(), pt_to_analytic_final_node(), pt_to_buildlist_proc(), pt_to_buildschema_proc(), pt_to_buildvalue_proc(), pt_to_compatible_cast(), pt_to_constraint_pred(), pt_to_false_subquery(), pt_to_func_pred(), pt_to_insert_xasl(), pt_to_odku_info(), pt_to_outlist(), pt_to_position_regu_variable_list(), pt_to_pred_expr_local_with_arg(), pt_to_regu_variable(), pt_type_cast_vclass_query_spec_column(), pt_value_links_add(), pt_values_query_to_compatible_cast(), pt_where_type(), pt_wrap_collection_with_cast_op(), qo_plan_compute_iscan_sort_list(), qo_reduce_equality_terms(), qo_reduce_order_by(), qo_reduce_order_by_for(), qo_rewrite_one_like_term(), set_iso_level(), update_at_server(), and update_check_for_constraints().

#define PT_ERRORmf (   parser,
  node,
  setNo,
  msgNo,
  arg1 
)    pt_cat_error(parser, node, setNo, msgNo, arg1)

Definition at line 64 of file parse_tree.h.

Referenced by create_or_drop_index_helper(), do_alter_serial(), do_create_serial(), do_drop_serial(), do_drop_variable(), do_evaluate_insert_values(), do_execute_select(), do_recreate_filter_index_constr(), do_replace_names_for_insert_values_pre(), do_select_internal(), do_set_pruning_type(), mq_check_delete(), mq_check_non_updatable_vclass_oid(), mq_class_lambda(), mq_evaluate_check_option(), mq_fetch_one_real_class_get_cache(), mq_fetch_subqueries(), mq_fetch_subqueries_for_update_local(), mq_invert_insert_select(), mq_replace_virtual_oid_with_real_oid(), mq_set_types(), mq_substitute_select_in_statement(), mq_virtual_queries(), pt_add_lock_class(), pt_assignment_class_compatible(), pt_bind_name_or_path_in_scope(), pt_bind_names(), pt_bind_names_post(), pt_check_access_status(), pt_check_alter(), pt_check_alter_partition(), pt_check_analytic_function(), pt_check_attribute_domain(), pt_check_class_eq(), pt_check_create_entity(), pt_check_create_index(), pt_check_create_view(), pt_check_cume_dist_percent_rank_order_by(), pt_check_cyclic_reference_in_view_spec(), pt_check_data_default(), pt_check_drop(), pt_check_expr_collation(), pt_check_filter_index_expr(), pt_check_filter_index_expr_pre(), pt_check_function_collation(), pt_check_grammar_charset_collation(), pt_check_grant_revoke(), pt_check_group_concat_order_by(), pt_check_method(), pt_check_order_by(), pt_check_partitions(), pt_check_path_eq(), pt_check_range_partition_strict_increasing(), pt_check_recursive_expr_collation(), pt_check_show_index(), pt_check_single_valued_node(), pt_check_sub_insert(), pt_check_table_in_show_heap(), pt_check_union_type_compatibility_of_values_query(), pt_check_unique_attr(), pt_check_unique_exposed(), pt_check_unique_names(), pt_check_user_exists(), pt_check_vclass_query_spec(), pt_check_with_info(), pt_class_pre_fetch(), pt_db_value_initialize(), pt_dbval_to_value(), pt_eval_function_type_old(), pt_eval_opt_type(), pt_eval_path_expr(), pt_evaluate_db_value_expr(), pt_evaluate_tree_internal(), pt_expr_disallow_op_pre(), pt_find_users_class(), pt_flat_spec_pre(), pt_get_one_tuple_from_list_id(), pt_get_resolution(), pt_is_function_index_expr(), pt_make_flat_name_list(), pt_make_regu_numbering(), pt_resolve_correlation(), pt_resolve_cte_specs(), pt_resolve_group_having_alias_pt_name(), pt_resolve_method_type(), pt_resolve_names(), pt_resolve_object(), pt_resolve_partition_spec(), pt_resolve_showstmt_args_named(), pt_resolve_showstmt_args_unnamed(), pt_resolve_sort_spec_expr(), pt_resolve_using_index(), pt_semantic_check_local(), pt_set_attr_list_types(), pt_set_table_to_db(), pt_to_regu_variable(), pt_to_sort_list(), pt_undef_names_pre(), pt_value_links_add(), pt_value_to_db(), and qo_reduce_order_by().

#define PT_ERRORmf2 (   parser,
  node,
  setNo,
  msgNo,
  arg1,
  arg2 
)    pt_cat_error(parser, node, setNo, msgNo, arg1, arg2)

Definition at line 65 of file parse_tree.h.

Referenced by check_arg_valid(), check_default_on_update_clause(), object_printer::describe_class(), do_add_attribute_from_select_column(), do_alter_one_clause_with_template(), do_cast_host_variables_to_expected_domain(), get_att_default_from_def(), map_iso_levels(), mq_check_authorization_path_entities(), mq_check_using_index(), mq_fetch_expression_for_real_class_update(), mq_fetch_subqueries_for_update_local(), mq_path_spec_lambda(), mq_translate_tree(), pt_apply_union_select_list_collation(), pt_bind_names(), pt_check_alter(), pt_check_cast_op(), pt_check_create_entity(), pt_check_cume_dist_percent_rank_order_by(), pt_check_drop(), pt_check_enum_data_type(), pt_check_expr_collation(), pt_check_into_clause(), pt_check_mutable_attributes(), pt_check_order_by(), pt_check_partition_values(), pt_check_set_count_set(), pt_check_truncate(), pt_check_union_compatibility(), pt_check_union_type_compatibility_of_values_query(), pt_check_unique_attr(), pt_check_user_owns_class(), pt_check_vclass_query_spec(), pt_check_vclass_union_spec(), pt_coerce_expression_argument(), pt_coerce_insert_values(), pt_coerce_value_internal(), pt_eval_expr_type(), pt_eval_function_type_old(), pt_eval_path_expr(), pt_evaluate_db_value_expr(), pt_get_common_type_for_union(), pt_get_compatible_info(), pt_get_resolution(), pt_get_select_list(), pt_get_values_query_compatible_info(), pt_help_show_create_table(), pt_make_regu_hostvar(), pt_no_double_insert_assignments(), pt_no_double_updates(), pt_node_to_enumeration_expr(), pt_semantic_check_local(), pt_set_host_variables(), pt_value_to_db(), qo_reduce_equality_terms(), and validate_attribute_domain().

#define PT_ERRORmf3 (   parser,
  node,
  setNo,
  msgNo,
  arg1,
  arg2,
  arg3 
)    pt_cat_error(parser, node, setNo, msgNo, arg1, arg2, arg3)
#define PT_ERRORmf4 (   parser,
  node,
  setNo,
  msgNo,
  arg1,
  arg2,
  arg3,
  arg4 
)    pt_cat_error(parser, node, setNo, msgNo, arg1, arg2, arg3, arg4)
#define PT_ERRORmf5 (   parser,
  node,
  setNo,
  msgNo,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)    pt_cat_error(parser, node, setNo, msgNo, arg1, arg2, arg3, arg4, arg5)

Definition at line 68 of file parse_tree.h.

Referenced by pt_eval_function_type_old().

#define PT_EXPR_INFO_CAST_COLL_MODIFIER   16384 /* CAST is for COLLATION modifier */
#define PT_EXPR_INFO_CAST_NOFAIL
Value:
2048 /* flag for non failing cast operation; at runtime will return null DB_VALUE
* instead of failing */

Definition at line 2225 of file parse_tree.h.

Referenced by pt_coerce_expression_argument(), pt_eval_expr_type(), pt_evaluate_db_value_expr(), pt_to_regu_variable(), and pt_wrap_collection_with_cast_op().

#define PT_EXPR_INFO_CAST_SHOULD_FOLD   4096 /* flag which controls if a cast expr should be folded */
#define PT_EXPR_INFO_CAST_WRAP   131072 /* 0x20000, CAST is wrapped by compiling */

Definition at line 2236 of file parse_tree.h.

Referenced by pt_to_regu_variable(), and pt_wrap_with_cast_op().

#define PT_EXPR_INFO_CLEAR_FLAG (   e,
 
)    (e)->info.expr.flag &= (int) ~(f)
#define PT_EXPR_INFO_CNF_DONE   1 /* CNF conversion has done? */

Definition at line 2207 of file parse_tree.h.

Referenced by pt_cnf(), and pt_do_cnf().

#define PT_EXPR_INFO_COPYPUSH
Value:
512 /* term which is copy-pushed into the derived subquery ? is removed at the last
* rewrite stage of query optimizer */

Definition at line 2220 of file parse_tree.h.

Referenced by mq_copypush_sargable_terms_helper(), and qo_optimize_queries_post().

#define PT_EXPR_INFO_DO_NOT_AUTOPARAM   65536 /* don't auto parameterize expr at qo_do_auto_parameterize() */

Definition at line 2235 of file parse_tree.h.

Referenced by qo_do_auto_parameterize(), and qo_reduce_equality_terms().

#define PT_EXPR_INFO_EMPTY_RANGE   2 /* empty RANGE spec? */

Definition at line 2208 of file parse_tree.h.

Referenced by qo_apply_range_intersection_helper(), and qo_merge_range_helper().

#define PT_EXPR_INFO_FULL_RANGE   1024 /* non-null full RANGE term ? */

Definition at line 2223 of file parse_tree.h.

Referenced by qo_range_selectivity().

#define PT_EXPR_INFO_FUNCTION_INDEX   8192 /* function index expression flag */
#define PT_EXPR_INFO_GROUPBYNUM_C   16 /* compatible with groupby_num() */

Definition at line 2211 of file parse_tree.h.

Referenced by pt_groupbynum_compatibility().

#define PT_EXPR_INFO_GROUPBYNUM_LIMIT
Value:
32768 /* flag that marks if the expression resulted from a GROUP BY ... LIMIT
* statement */

Definition at line 2233 of file parse_tree.h.

Referenced by pt_limit_to_numbering_expr(), and pt_to_buildlist_proc().

#define PT_EXPR_INFO_GROUPBYNUM_NC   32 /* not compatible with groupby_num() */

Definition at line 2212 of file parse_tree.h.

Referenced by pt_groupbynum_compatibility().

#define PT_EXPR_INFO_INSTNUM_C   4 /* compatible with inst_num() */

Definition at line 2209 of file parse_tree.h.

Referenced by pt_instnum_compatibility(), and qo_reduce_order_by().

#define PT_EXPR_INFO_INSTNUM_NC   8 /* not compatible with inst_num() */

Definition at line 2210 of file parse_tree.h.

Referenced by pt_instnum_compatibility(), and pt_semantic_check_local().

#define PT_EXPR_INFO_LEFT_OUTER   128 /* Oracle's left outer join operator */

Definition at line 2218 of file parse_tree.h.

Referenced by pt_bind_names().

#define PT_EXPR_INFO_ORDERBYNUM_C   PT_EXPR_INFO_INSTNUM_C /* compatible with orderby_num() */

Definition at line 2213 of file parse_tree.h.

Referenced by qo_reduce_order_by(), and qo_reduce_order_by_for().

#define PT_EXPR_INFO_ORDERBYNUM_NC   PT_EXPR_INFO_INSTNUM_NC /* not compatible with orderby_num() */

Definition at line 2215 of file parse_tree.h.

#define PT_EXPR_INFO_RIGHT_OUTER   256 /* Oracle's right outer join operator */

Definition at line 2219 of file parse_tree.h.

Referenced by pt_bind_names().

#define PT_EXPR_INFO_TRANSITIVE   64 /* always true transitive join term ? */

Definition at line 2217 of file parse_tree.h.

Referenced by qo_analyze_term(), qo_discover_edges(), and qo_reduce_equality_terms().

#define PT_GET_COLLATION_MODIFIER (   p)
Value:
(((p)->node_type == PT_EXPR) ? ((p)->info.expr.coll_modifier - 1) : \
(((p)->node_type == PT_VALUE) ? ((p)->info.value.coll_modifier - 1) : \
(((p)->node_type == PT_NAME) ? ((p)->info.name.coll_modifier - 1) : \
(((p)->node_type == PT_FUNCTION) ? ((p)->info.function.coll_modifier - 1) :\
(((p)->node_type == PT_DOT_) ? ((p)->info.dot.coll_modifier - 1) : (-1))))))
const char ** p
Definition: dynamic_load.c:945

Definition at line 619 of file parse_tree.h.

Referenced by pt_check_cast_op(), pt_check_expr_collation(), pt_eval_expr_type(), pt_get_collation_info(), pt_get_collation_info_for_collection_type(), pt_lambda_check_reduce_eq(), pt_print_expr(), pt_print_value(), pt_to_regu_variable(), and qo_collect_name_spec().

#define PT_GET_RESERVED_NAME_TYPE (   reserved_id)
Value:
(((reserved_id) >= RESERVED_FIRST_RECORD_INFO \
&& (reserved_id) <= RESERVED_LAST_RECORD_INFO) ? \
/* If reserved_id belongs to record info */ \
/* else */ \
(((reserved_id) >= RESERVED_FIRST_PAGE_INFO \
&& (reserved_id) <= RESERVED_LAST_PAGE_INFO) ? \
/* If reserved_id belongs to page_info */ \
/* else */ \
(((reserved_id) >= RESERVED_FIRST_KEY_INFO \
&& (reserved_id) <= RESERVED_LAST_KEY_INFO) ? \
/* If reserved_id belongs to key info */ \
/* else */ \
(((reserved_id) >= RESERVED_FIRST_BT_NODE_INFO \
&& (reserved_id) <= RESERVED_LAST_BT_NODE_INFO) ? \
/* If reserved_id belongs to b-tree node info */ \
/* else must be invalid */ \

Definition at line 2477 of file parse_tree.h.

#define PT_HAS_COLLATION (   t)
Value:

Definition at line 243 of file parse_tree.h.

Referenced by do_add_attribute(), func_type::is_type_with_collation(), pt_add_type_to_set(), pt_apply_union_select_list_collation(), pt_assignment_compatible(), pt_attr_check_default_cs_coll(), pt_cast_needs_wrap_for_collation(), pt_check_alter(), pt_check_and_replace_hostvar(), pt_check_cast_op(), pt_check_create_entity(), pt_check_create_index(), pt_check_expr_collation(), pt_check_function_collation(), pt_check_partition_values(), pt_check_recursive_expr_collation(), pt_coerce_node_collation(), pt_coerce_value_internal(), pt_db_value_initialize(), pt_eval_expr_type(), pt_eval_function_type_old(), pt_fix_arguments_collation_flag(), pt_get_collation_info(), pt_get_collation_of_collection(), pt_get_compatible_info_from_node(), pt_get_select_list_coll_compat(), pt_has_non_idx_sarg_coll_pre(), pt_is_compatible_without_cast(), pt_lambda_check_reduce_eq(), pt_make_cast_with_compatible_info(), pt_make_prim_data_type(), pt_node_to_enumeration_expr(), pt_print_attr_def(), pt_print_expr(), pt_print_value(), pt_to_compatible_cast(), pt_upd_domain_info(), pt_wrap_collection_with_cast_op(), pt_wrap_with_cast_op(), qo_collect_name_spec(), qo_find_like_rewrite_bound(), and func_type::Node::set_return_type().

#define PT_HAS_DATE_PART (   t)
#define PT_HAS_TIME_PART (   t)
#define PT_IDX_HINT_ORDER (   hint_node)
Value:
((hint_node->etc == (void *) PT_IDX_HINT_CLASS_NONE) ? 1 : \
(hint_node->etc == (void *) PT_IDX_HINT_IGNORE ? 2 : \
(hint_node->etc == (void *) PT_IDX_HINT_FORCE ? 3 : \
(hint_node->etc == (void *) PT_IDX_HINT_USE ? 4 : 0))))

Definition at line 2607 of file parse_tree.h.

Referenced by qo_rewrite_index_hints().

#define PT_INTERNAL_ERROR (   parser,
  what 
)    pt_internal_error((parser), __FILE__, __LINE__, (what))

Definition at line 112 of file parse_tree.h.

Referenced by build_graph_for_entity(), check_merge_trigger(), check_trigger(), copy_node_in_tree_pre(), do_create_odku_stmt(), do_delete(), do_get_prepared_statement_info(), do_prepare_delete(), do_prepare_update(), do_savepoint(), do_update(), get_att_default_from_def(), grok_classes(), meth_add_conj(), meth_gen_as_attr_list(), meth_get_method_params(), meth_grab_conj(), meth_make_unique_range_var(), meth_replace_call(), meth_replace_method_calls(), meth_replace_method_params(), meth_replace_referenced_attrs(), meth_translate_spec(), mq_bump_order_dep_corr_lvl_pre(), mq_class_lambda(), mq_conditionally_add_objects(), mq_derived_path(), mq_fetch_expression_for_real_class_update(), mq_fix_derived_in_union(), mq_generate_unique(), mq_insert_symbol(), mq_invert_assign(), mq_is_outer_join_spec(), mq_is_pushable_subquery(), mq_lambda_node_pre(), mq_lookup_symbol(), mq_make_derived_spec(), mq_push_arg2(), mq_push_dot_in_query(), mq_rewrite_aggregate_as_derived(), mq_rewrite_order_dependent_nodes(), mq_rewrite_order_dependent_query(), mq_rewrite_query_as_derived(), mq_rewrite_vclass_spec_as_derived(), mq_substitute_path(), mq_substitute_path_pre(), mq_substitute_select_in_statement(), mq_substitute_subquery_in_statement(), mq_translate_insert(), mq_translate_paths(), mq_update_attribute(), mq_update_order_by(), mq_virtual_queries(), parser_generate_xasl_post(), parser_generate_xasl_proc(), pt_add_type_to_set(), pt_agg_orderby_to_sort_list(), pt_append_omitted_on_update_expr_assignments(), pt_attribute_to_regu(), pt_bind_helper(), pt_bind_names(), pt_bind_names_post(), pt_bind_spec_attrs(), pt_build_analytic_eval_list(), pt_check_assignments(), pt_check_auto_increment_table_option(), pt_check_cast_op(), pt_check_defaultf(), pt_check_enum_data_type(), pt_check_method(), pt_check_odku_assignments(), pt_check_show_index(), pt_check_sub_insert(), pt_check_table_in_show_heap(), pt_compare_bounds_to_value(), pt_compile_trigger_stmt(), pt_create_param_for_value(), pt_dbval_to_value(), pt_eval_path_expr(), pt_eval_type(), pt_evaluate_tree_internal(), pt_expand_analytic_node(), pt_expr_to_sort_spec(), pt_fillin_type_size(), pt_filter_pseudo_specs(), pt_find_aggregate_names(), pt_find_attr_in_class_list(), pt_find_class_of_index(), pt_find_entity(), pt_find_lck_class_from_partition(), pt_find_omitted_default_expr(), pt_find_outer_entity_in_scopes(), pt_find_path_entity(), pt_fold_constants_post(), pt_gather_constraints(), pt_gen_isnull_preds(), pt_gen_simple_merge_plan(), pt_generate_simple_analytic_eval_type(), pt_get_attr_list_of_derived_table(), pt_get_attributes(), pt_get_object_data_type(), pt_get_resolution(), pt_insert_conjunct(), pt_insert_entity(), pt_insert_host_var(), pt_invert(), pt_is_correlation_name(), pt_is_on_list(), pt_lambda_with_arg(), pt_limit_to_numbering_expr(), pt_make_connect_by_proc(), pt_make_flat_name_list(), pt_make_method_call(), pt_make_pred_term_is(), pt_make_prim_data_type(), pt_make_regu_hostvar(), pt_make_regu_iscycle(), pt_make_regu_isleaf(), pt_make_regu_level(), pt_make_subclass_list(), pt_make_tuple_value_reference(), pt_mark_function_index_expression(), pt_mark_spec_list_for_delete(), pt_mark_spec_list_for_update(), pt_must_have_exposed_name(), pt_mvcc_prepare_upd_del_select(), pt_negate_expr(), pt_no_double_updates(), pt_object_to_data_type(), pt_ordbynum_to_key_limit_multiple_ranges(), pt_plan_cte(), pt_pointer_stack_pop(), pt_pop_symbol_info(), pt_process_spec_for_delete(), pt_process_spec_for_update(), pt_record_error(), pt_regu_to_dbvalue(), pt_remove_unusable_sort_specs(), pt_replace_referenced_attributes(), pt_resolve_analytic_references(), pt_resolve_correlation(), pt_resolve_cte_specs(), pt_resolve_hint(), pt_resolve_hint_args(), pt_resolve_object(), pt_resolve_partition_spec(), pt_resolve_sort_spec_expr(), pt_resolve_using_index(), pt_rewrite_derived_for_upd_del(), pt_rewrite_set_eq_set(), pt_select_list_to_one_col(), pt_set_attr_list_types(), pt_set_default_data_type(), pt_set_orderby_for_sort_limit_plan(), pt_sm_attribute_default_value_to_node(), pt_sort_list_from_metadomain(), pt_split_delete_stmt(), pt_substitute_analytic_references(), pt_to_aggregate_node(), pt_to_analytic_node(), pt_to_index_info(), pt_to_insert_xasl(), pt_to_list_key(), pt_to_merge_insert_query(), pt_to_merge_update_query(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_order_siblings_by(), pt_to_pred_expr_local_with_arg(), pt_to_pred_expr_with_arg(), pt_to_range_key(), pt_to_rangelist_key(), pt_to_regu_variable(), pt_to_single_key(), pt_to_sort_list(), pt_to_upd_del_query(), pt_to_update_xasl(), pt_where_type(), pt_where_type_keep_true(), pt_wrap_expr_w_exp_dom_cast(), qo_allocate_like_bound_for_index_scan(), qo_analyze_path_join(), qo_apply_range_intersection(), qo_find_like_rewrite_bound(), qo_reduce_comp_pair_terms(), qo_rewrite_like_for_index_scan(), qo_rewrite_one_like_term(), qo_rewrite_subqueries(), setof_mop_to_setof_vobj(), and update_object_by_oid().

#define PT_IS_ANALYTIC_NODE (   n)
Value:
( (n) && (n)->node_type == PT_FUNCTION && \
(n)->info.function.analytic.is_analytic )

Definition at line 489 of file parse_tree.h.

Referenced by pt_adjust_analytic_sort_specs(), pt_expand_analytic_node(), pt_initialize_analytic_info(), pt_set_analytic_node_etc(), pt_to_analytic_final_node(), pt_to_analytic_node(), and pt_to_buildlist_proc().

#define PT_IS_ASSIGN_NODE (   n)    ( (n) && ((n)->node_type == PT_EXPR && (n)->info.expr.op == PT_ASSIGN) )

Definition at line 308 of file parse_tree.h.

Referenced by pt_check_union_type_compatibility_of_values_query().

#define PT_IS_BIT_STRING_TYPE (   t)
#define pt_is_cast_const_input_hostvar (   n)    PT_IS_CAST_CONST_INPUT_HOSTVAR(n)

Definition at line 276 of file parse_tree.h.

#define PT_IS_CAST_CONST_INPUT_HOSTVAR (   n)
Value:
( (n) && \
(n)->node_type == PT_EXPR && \
(n)->info.expr.op == PT_CAST && \
PT_IS_CONST_INPUT_HOSTVAR((n)->info.expr.arg1) )
#define PT_IS_CONST_INPUT_HOSTVAR(n)
Definition: parse_tree.h:375

Definition at line 381 of file parse_tree.h.

Referenced by pt_get_query_limit_from_orderby_for().

#define PT_IS_CLASSOID_NAME (   x)    ( (x)->info.name.meta_class == PT_CLASSOID_ATTR)

Definition at line 119 of file parse_tree.h.

Referenced by pt_check_single_valued_node(), and qo_insert_segment().

#define PT_IS_COMPLEX_TYPE (   t)
#define pt_is_const_input_hostvar (   n)    PT_IS_CONST_INPUT_HOSTVAR(n)

Definition at line 275 of file parse_tree.h.

#define PT_IS_CONST_INPUT_HOSTVAR (   n)
Value:
( (n) && ((n)->node_type == PT_VALUE || \
((n)->node_type == PT_NAME && (n)->info.name.meta_class == PT_PARAMETER) || \
((n)->node_type == PT_HOST_VAR && (n)->info.host_var.var_type == PT_HOST_IN)) \
)

Definition at line 375 of file parse_tree.h.

Referenced by qo_construct_new_set(), and qo_is_reduceable_const().

#define PT_IS_CONST_NOT_HOSTVAR (   n)
Value:
( (n) && ((n)->node_type == PT_VALUE || \
((n)->node_type == PT_NAME && (n)->info.name.meta_class == PT_PARAMETER) ) \
)

Definition at line 370 of file parse_tree.h.

Referenced by pt_get_assignment_lists(), pt_get_next_assignment(), and qo_reduce_equality_terms().

#define pt_is_correlated_subquery (   n)    PT_IS_CORRELATED_SUBQUERY(n)

Definition at line 259 of file parse_tree.h.

#define PT_IS_CORRELATED_SUBQUERY (   n)    ( PT_IS_QUERY((n)) && ((n)->info.query.correlation_level > 0) )

Definition at line 299 of file parse_tree.h.

#define PT_IS_COUNTER_TYPE (   t)    PT_IS_DISCRETE_NUMBER_TYPE(t)

Definition at line 140 of file parse_tree.h.

#define PT_IS_DATE_TIME_WITH_TZ_TYPE (   t)
#define pt_is_difference (   n)    PT_IS_DIFFERENCE(n)

Definition at line 257 of file parse_tree.h.

#define PT_IS_DIFFERENCE (   n)    ( (n) && ((n)->node_type == PT_DIFFERENCE) )

Definition at line 293 of file parse_tree.h.

Referenced by pt_mark_union_leaf_nodes().

#define pt_is_distinct (   n)    PT_IS_DISTINCT(n)

Definition at line 279 of file parse_tree.h.

Referenced by mq_is_pushable_subquery(), and pt_check_for_update_clause().

#define PT_IS_DISTINCT (   n)    ( (n) && PT_IS_QUERY_NODE_TYPE((n)->node_type) && (n)->info.query.all_distinct != PT_ALL )

Definition at line 395 of file parse_tree.h.

#define pt_is_dot_node (   n)    PT_IS_DOT_NODE(n)

Definition at line 260 of file parse_tree.h.

Referenced by pt_check_and_replace_hostvar(), and pt_get_col_type().

#define PT_IS_DOT_NODE (   n)    ( (n) && ((n)->node_type == PT_DOT_) )
#define pt_is_expr_node (   n)    PT_IS_EXPR_NODE(n)
#define PT_IS_EXPR_NODE_WITH_OPERATOR (   n,
  op_type 
)    ( (PT_IS_EXPR_NODE (n)) && ((n)->info.expr.op == (op_type)) )
#define PT_IS_EXPR_WITH_PRIOR_ARG (   x)
Value:
#define PT_IS_EXPR_NODE(n)
Definition: parse_tree.h:305
#define PT_IS_EXPR_NODE_WITH_OPERATOR(n, op_type)
Definition: parse_tree.h:464

Definition at line 467 of file parse_tree.h.

Referenced by qo_apply_range_intersection(), qo_convert_to_range_helper(), qo_fold_is_and_not_null(), and qo_reduce_comp_pair_terms().

#define PT_IS_FALSE_WHERE_VALUE (   node)
Value:
(((node) != NULL && (node)->node_type == PT_VALUE \
&& ((node)->type_enum == PT_TYPE_NULL \
|| ((node)->type_enum == PT_TYPE_SET \
&& ((node)->info.value.data_value.set == NULL)))) ? true : false)
#define NULL
Definition: freelistheap.h:34

Definition at line 701 of file parse_tree.h.

Referenced by pt_false_where().

#define pt_is_function (   n)    PT_IS_FUNCTION(n)
#define pt_is_hostvar (   n)    PT_IS_HOSTVAR(n)

Definition at line 268 of file parse_tree.h.

#define PT_IS_HOSTVAR (   n)    ( (n) && ((n)->node_type == PT_HOST_VAR) )
#define pt_is_input_hostvar (   n)    PT_IS_INPUT_HOSTVAR(n)
#define PT_IS_INPUT_HOSTVAR (   n)
Value:
( (n) && ((n)->node_type == PT_HOST_VAR && \
(n)->info.host_var.var_type == PT_HOST_IN) \
)

Definition at line 345 of file parse_tree.h.

Referenced by pt_eval_expr_type().

#define pt_is_input_parameter (   n)    PT_IS_INPUT_PARAMETER(n)

Definition at line 273 of file parse_tree.h.

Referenced by pt_check_and_replace_hostvar(), and pt_get_collation_info().

#define PT_IS_INPUT_PARAMETER (   n)
Value:
( (n) && ((n)->node_type == PT_NAME && \
(n)->info.name.meta_class == PT_PARAMETER && \
(n)->info.name.resolved == NULL) )
#define NULL
Definition: freelistheap.h:34

Definition at line 359 of file parse_tree.h.

#define PT_IS_INSERT_VALUE_NODE (   n)    ( (n) && ((n)->node_type == PT_INSERT_VALUE) )
#define PT_IS_INSTNUM (   n)
Value:
( (n) && ((n)->node_type == PT_EXPR && \
((n)->info.expr.op == PT_INST_NUM || (n)->info.expr.op == PT_ROWNUM)) \
)

Definition at line 387 of file parse_tree.h.

Referenced by pt_is_inst_or_orderby_num_node(), and pt_to_analytic_final_node().

#define pt_is_intersection (   n)    PT_IS_INTERSECTION(n)

Definition at line 256 of file parse_tree.h.

#define PT_IS_INTERSECTION (   n)    ( (n) && ((n)->node_type == PT_INTERSECTION) )

Definition at line 290 of file parse_tree.h.

Referenced by pt_mark_union_leaf_nodes().

#define PT_IS_LOB_TYPE (   t)
#define PT_IS_LTZ_TYPE (   t)    ((t) == PT_TYPE_TIMESTAMPLTZ || (t) == PT_TYPE_DATETIMELTZ)
#define pt_is_meta (   n)    PT_IS_META(n)

Definition at line 280 of file parse_tree.h.

#define PT_IS_META (   n)
Value:
( ((n) ? ((n)->node_type == PT_NAME ? \
((n)->info.name.meta_class == PT_META_CLASS || \
(n)->info.name.meta_class == PT_META_ATTR || \
(n)->info.name.meta_class == PT_CLASSOID_ATTR || \
(n)->info.name.meta_class == PT_OID_ATTR) : \
((n)->node_type == PT_SPEC && ((n)->info.spec.meta_class == PT_META_CLASS))) \
: false) )

Definition at line 398 of file parse_tree.h.

#define pt_is_multi_col_term (   n)    PT_IS_MULTI_COL_TERM(n)

Definition at line 263 of file parse_tree.h.

Referenced by qo_analyze_term(), and qo_convert_to_range().

#define PT_IS_MULTI_COL_TERM (   n)
Value:
( (n) && \
PT_IS_FUNCTION((n)) && \
PT_IS_SET_TYPE ((n)) && \
(n)->info.function.function_type == F_SEQUENCE)
#define PT_IS_FUNCTION(n)
Definition: parse_tree.h:311
#define PT_IS_SET_TYPE(n)
Definition: parse_tree.h:336

Definition at line 314 of file parse_tree.h.

#define pt_is_name_node (   n)    PT_IS_NAME_NODE(n)

Definition at line 264 of file parse_tree.h.

Referenced by pt_check_hashable(), pt_get_col_type(), and pt_is_spec_node().

#define PT_IS_NUMBERING_AFTER_EXECUTION (   op)
Value:
( (op) == PT_INST_NUM || \
(op) == PT_ROWNUM || \
/*(int)(op) == (int)PT_GROUPBY_NUM || - TODO: this does not belong here. */ \
(op) == PT_ORDERBY_NUM )

Definition at line 455 of file parse_tree.h.

Referenced by pt_must_be_filtering(), and pt_numbering_set_continue_post().

#define pt_is_oid_name (   n)    PT_IS_OID_NAME(n)

Definition at line 265 of file parse_tree.h.

Referenced by pt_get_col_type().

#define PT_IS_OID_NAME (   n)
#define PT_IS_ORDER_DEPENDENT (   n)
Value:
( (n) ? \
(PT_IS_EXPR_NODE (n) ? (n)->info.expr.is_order_dependent \
: (PT_IS_FUNCTION(n) ? (n)->info.function.is_order_dependent \
: (PT_IS_QUERY(n) ? (n)->info.query.is_order_dependent : false))) \
: false)
#define PT_IS_QUERY(n)
Definition: parse_tree.h:296
#define PT_IS_EXPR_NODE(n)
Definition: parse_tree.h:305
#define PT_IS_FUNCTION(n)
Definition: parse_tree.h:311

Definition at line 482 of file parse_tree.h.

Referenced by mq_bump_order_dep_corr_lvl_pre(), mq_rewrite_order_dependent_nodes(), and mq_rewrite_order_dependent_query().

#define pt_is_orderbynum (   n)    PT_IS_ORDERBYNUM(n)

Definition at line 278 of file parse_tree.h.

Referenced by qo_do_auto_parameterize().

#define PT_IS_ORDERBYNUM (   n)    ( (n) && ((n)->node_type == PT_EXPR && ((n)->info.expr.op == PT_ORDERBY_NUM)) )

Definition at line 392 of file parse_tree.h.

Referenced by pt_is_inst_or_orderby_num_node(), and pt_to_analytic_final_node().

#define pt_is_output_hostvar (   n)    PT_IS_OUTPUT_HOSTVAR(n)

Definition at line 270 of file parse_tree.h.

Referenced by db_is_output_marker(), and pt_count_output_markers().

#define PT_IS_OUTPUT_HOSTVAR (   n)
Value:
( (n) && ((n)->node_type == PT_HOST_VAR && \
(n)->info.host_var.var_type == PT_HOST_OUT) \
)

Definition at line 350 of file parse_tree.h.

#define pt_is_parameter (   n)    PT_IS_PARAMETER(n)

Definition at line 272 of file parse_tree.h.

#define PT_IS_PARAMETER (   n)
Value:
( (n) && ((n)->node_type == PT_NAME && \
(n)->info.name.meta_class == PT_PARAMETER) )

Definition at line 355 of file parse_tree.h.

#define PT_IS_POINTER_REF_NODE (   n)
#define PT_IS_PRIMITIVE_TYPE (   t)    ( ((t) != PT_TYPE_OBJECT) && ((t) != PT_TYPE_NONE))

Definition at line 226 of file parse_tree.h.

Referenced by pt_are_equivalent_types(), and pt_get_equivalent_type().

#define pt_is_select (   n)    PT_IS_SELECT(n)

Definition at line 254 of file parse_tree.h.

Referenced by pt_to_compatible_cast().

#define PT_IS_SERIAL (   op)    ( (op) == PT_CURRENT_VALUE || (op) == PT_NEXT_VALUE )
#define PT_IS_SET_TYPE (   n)
Value:
( (n) && ((n)->type_enum == PT_TYPE_SET || \
(n)->type_enum == PT_TYPE_MULTISET || \
(n)->type_enum == PT_TYPE_SEQUENCE) \
)

Definition at line 336 of file parse_tree.h.

Referenced by qo_classify(), and qo_convert_to_range().

#define PT_IS_SIMPLE_CHAR_STRING_TYPE (   t)
#define PT_IS_SORT_SPEC_NODE (   n)    ( (n) && ((n)->node_type == PT_SORT_SPEC) )
#define PT_IS_SPEC_FLAG_SET (   spec_,
  flags_ 
)    (((spec_)->info.spec.flag & (flags_)) != 0)
#define PT_IS_SPEC_REAL_TABLE (   spec_)    PT_SPEC_IS_ENTITY(spec_)
#define pt_is_unary (   op)    PT_IS_UNARY(op)

Definition at line 282 of file parse_tree.h.

#define PT_IS_UNARY (   op)
Value:
( (op) == PT_NOT || \
(op) == PT_IS_NULL || \
(op) == PT_IS_NOT_NULL || \
(op) == PT_EXISTS || \
(op) == PT_PRIOR || \
(op) == PT_CONNECT_BY_ROOT || \
(op) == PT_QPRIOR || \
(op) == PT_UNARY_MINUS) )

Definition at line 412 of file parse_tree.h.

#define pt_is_union (   n)    PT_IS_UNION(n)

Definition at line 255 of file parse_tree.h.

#define PT_IS_UNION (   n)    ( (n) && ((n)->node_type == PT_UNION) )

Definition at line 287 of file parse_tree.h.

Referenced by pt_mark_union_leaf_nodes().

#define pt_is_update_object (   n)    PT_IS_UPDATE_OBJECT(n)

Definition at line 281 of file parse_tree.h.

#define PT_IS_UPDATE_OBJECT (   n)    ( (n) && (n)->node_type == PT_UPDATE && (n)->info.update.spec == NULL )

Definition at line 409 of file parse_tree.h.

#define PT_IS_VACUUM_NODE (   n)    ( (n) && (n)->node_type == PT_VACUUM )
#define pt_is_value_node (   n)    PT_IS_VALUE_NODE(n)

Definition at line 266 of file parse_tree.h.

Referenced by pt_get_col_type(), pt_get_select_list(), pt_to_rangelist_key(), and uci_static().

#define PT_MERGE_INFO_HAS_UNIQUE   1 /* has unique constraints */
#define PT_MERGE_INFO_INSERT_ONLY   4 /* merge condition always false */

Definition at line 2948 of file parse_tree.h.

Referenced by do_execute_merge(), do_prepare_merge(), and pt_to_merge_xasl().

#define PT_MERGE_INFO_SERVER_OP   2 /* server side operation */
#define PT_NAME_ALLOW_REUSABLE_OID   512 /* ignore the REUSABLE_OID restrictions for this name */

Definition at line 2568 of file parse_tree.h.

Referenced by pt_resolve_correlation(), and pt_semantic_check_local().

#define PT_NAME_DEFAULTF_ACCEPTS   4096 /* name of table/column that default function accepts: real table's, cte's */
#define PT_NAME_FOR_UPDATE   2048 /* Table name in FOR UPDATE clause */

Definition at line 2570 of file parse_tree.h.

Referenced by pt_resolve_correlation().

#define PT_NAME_GENERATED_DERIVED_SPEC   1024 /* attribute generated from derived spec */
#define PT_NAME_INFO_CLEAR_FLAG (   e,
 
)    (e)->info.name.flag &= (short) ~(f)

Definition at line 2576 of file parse_tree.h.

#define PT_NAME_INFO_CONSTANT   16
#define PT_NAME_INFO_DESC   64 /* DESC on an index column name */
#define PT_NAME_INFO_DOT_NAME   2 /* z of x.y.z */

Definition at line 2559 of file parse_tree.h.

Referenced by pt_get_node_title(), and pt_get_resolution().

#define PT_NAME_INFO_DOT_SPEC   1 /* x, y of x.y.z */

Definition at line 2558 of file parse_tree.h.

Referenced by pt_lambda_check_reduce_eq(), and pt_lambda_node().

#define PT_NAME_INFO_DOT_STAR   8 /* classname.* */

Definition at line 2561 of file parse_tree.h.

Referenced by pt_get_node_title(), and pt_resolve_star().

#define PT_NAME_INFO_EXTERNAL   32 /* in case of TEXT type at attr definition or attr.object at attr description */
#define PT_NAME_INFO_FILL_DEFAULT   128 /* whether default_value should be filled in */
#define PT_NAME_INFO_GENERATED_OID
Value:
256 /* set when a PT_NAME node that maps to an OID is generated internally for
* statement processing and execution */

Definition at line 2566 of file parse_tree.h.

Referenced by pt_dup_key_update_stmt(), pt_resolve_correlation(), and pt_semantic_check_local().

#define PT_NAME_INFO_STAR   4 /* * */

Definition at line 2560 of file parse_tree.h.

Referenced by pt_get_node_title(), and pt_resolve_star().

#define PT_NODE_COPY_NUMBER_OUTERLINK (   t,
 
)
Value:
do { \
if ((t) && (s)) { \
(t)->line_number = (s)->line_number; \
(t)->column_number = (s)->column_number; \
(t)->next = (s)->next; \
(t)->or_next = (s)->or_next; \
(t)->etc = (s)->etc; \
(t)->alias_print = (s)->alias_print; \
} \
} while (0)
if(extra_options)
Definition: dynamic_load.c:958

Definition at line 560 of file parse_tree.h.

Referenced by mq_translate_tree(), pt_expand_external_path(), pt_make_method_call(), and pt_resolve_correlation().

#define PT_NODE_DATA_TYPE (   n)    ( (n) ? (n)->data_type : NULL )

Definition at line 470 of file parse_tree.h.

Referenced by pt_coerce_expr_arguments().

#define PT_NODE_INIT_OUTERLINK (   n)
Value:
do { \
if ((n)) { \
(n)->next = NULL; \
(n)->or_next = NULL; \
(n)->etc = NULL; \
(n)->alias_print = NULL; \
} \
} while (0)
#define NULL
Definition: freelistheap.h:34
if(extra_options)
Definition: dynamic_load.c:958

Definition at line 550 of file parse_tree.h.

Referenced by pt_bind_names(), and pt_expand_external_path().

#define PT_NODE_PRINT_TO_ALIAS (   p,
  n,
 
)
Value:
do { \
unsigned int save_custom; \
if (!(p) || !(n) || (n->alias_print)) \
break; \
save_custom = (p)->custom_print; \
(p)->custom_print |= (c); \
if (((p)->custom_print & PT_SHORT_PRINT) != 0) \
{ \
(n)->alias_print = pt_short_print ((p), (n)); \
} \
{ \
(n)->alias_print = parser_print_tree ((p), (n)); \
} \
(p)->custom_print = save_custom; \
} while (0)
if(extra_options)
Definition: dynamic_load.c:958
char * pt_short_print(PARSER_CONTEXT *parser, const PT_NODE *node)
char * parser_print_tree(PARSER_CONTEXT *parser, const PT_NODE *node)
else
const char ** p
Definition: dynamic_load.c:945

Definition at line 578 of file parse_tree.h.

Referenced by do_prepare_delete(), do_prepare_insert_internal(), do_prepare_merge(), do_prepare_select(), do_prepare_update(), do_select_internal(), parser_generate_xasl_pre(), pt_fold_const_expr(), pt_fold_const_function(), pt_plan_query(), and pt_report_to_ersys_with_statement().

#define PT_NODE_PRINT_VALUE_TO_TEXT (   p,
 
)
Value:
do { \
if (!(p) || !(n) || (n)->node_type != PT_VALUE \
|| (n)->info.value.text) \
{ \
break; \
} \
(n)->info.value.text = parser_print_tree ((p), (n)); \
} while (0)
if(extra_options)
Definition: dynamic_load.c:958
char * parser_print_tree(PARSER_CONTEXT *parser, const PT_NODE *node)
const char ** p
Definition: dynamic_load.c:945

Definition at line 597 of file parse_tree.h.

Referenced by pt_coerce_node_collation(), pt_make_string_value(), pt_to_regu_variable(), qo_find_like_rewrite_bound(), and qo_rewrite_one_like_term().

#define PT_REQUIRES_HIERARCHICAL_QUERY (   op)
#define PT_SELECT_INFO_ANSI_JOIN   0x01 /* has ANSI join? */

Definition at line 2714 of file parse_tree.h.

Referenced by pt_bind_names().

#define PT_SELECT_INFO_CLEAR_FLAG (   s,
 
)    (s)->info.query.q.select.flag &= ~(f)

Definition at line 2739 of file parse_tree.h.

Referenced by mq_rewrite_aggregate_as_derived().

#define PT_SELECT_INFO_DISABLE_LOOSE_SCAN   0x4000 /* loose scan not possible on query */
#define PT_SELECT_INFO_DUMMY   0x04 /* is dummy (i.e., 'SELECT * FROM x') ? */

Definition at line 2716 of file parse_tree.h.

#define PT_SELECT_INFO_FOR_UPDATE   0x2000 /* FOR UPDATE clause is active */
#define PT_SELECT_INFO_HAS_AGG   0x08 /* has any type of aggregation? */
#define PT_SELECT_INFO_HAS_ANALYTIC   0x10 /* has analytic functions */

Definition at line 2718 of file parse_tree.h.

Referenced by pt_has_analytic().

#define PT_SELECT_INFO_IDX_SCHEMA   0x40 /* is show index query */
#define PT_SELECT_INFO_IS_MERGE_QUERY   0x0200 /* is a query of a merge stmt */
#define PT_SELECT_INFO_IS_UPD_DEL_QUERY   0x1000 /* set if select was built for an UPDATE or DELETE statement */

Definition at line 2729 of file parse_tree.h.

Referenced by pt_has_aggregate(), pt_print_select(), and pt_to_upd_del_query().

#define PT_SELECT_INFO_LIST_PUSHER
Value:
0x0400 /* dummy subquery that pushes a list file descriptor to be used at
* server as its own result */

Definition at line 2724 of file parse_tree.h.

Referenced by pt_to_buildlist_proc().

#define PT_SELECT_INFO_MULTI_UPDATE_AGG   0x20 /* is query for multi-table update using aggregate */
#define PT_SELECT_INFO_MVCC_LOCK_NEEDED   0x8000 /* lock returned rows */
#define PT_SELECT_INFO_NO_STRICT_OID_CHECK
Value:
0x0800 /* normally, only OIDs of updatable views are allowed in parse
* trees; however, for MERGE and UPDATE we sometimes want to
* allow OIDs of partially updatable views */

Definition at line 2726 of file parse_tree.h.

Referenced by mq_translate_helper(), pt_to_merge_update_query(), and pt_to_upd_del_query().

#define PT_SELECT_INFO_ORACLE_OUTER   0x02 /* has Oracle's outer join operator? */

Definition at line 2715 of file parse_tree.h.

Referenced by pt_bind_names().

#define PT_SELECT_INFO_READ_ONLY   0x010000 /* read-only system generated queries like show statement */
#define PT_SET_JMP_ENV (   parser)
Value:
do { \
if (setjmp((parser)->jmp_env) != 0) { \
pt_record_error((parser), (parser)->statement_number, \
(parser)->line, \
(parser)->column, \
NULL); \
(parser)->jmp_env_active = 0; \
if ((parser)->au_save) \
AU_ENABLE((parser)->au_save); \
return NULL; \
} \
else (parser)->jmp_env_active = 1; \
} while(0)
#define MSGCAT_SEMANTIC_OUT_OF_MEMORY
void pt_record_error(PARSER_CONTEXT *parser, int stmt_no, int line_no, int col_no, const char *msg, const char *context)
SP_PARSER_CTX * parser
#define NULL
Definition: freelistheap.h:34
if(extra_options)
Definition: dynamic_load.c:958
#define MSGCAT_CATALOG_CUBRID
#define AU_ENABLE(save)
Definition: authenticate.h:113
#define MSGCAT_SET_PARSER_SEMANTIC
else
char * msgcat_message(int cat_id, int set_id, int msg_id)

Definition at line 89 of file parse_tree.h.

Referenced by meth_translate(), mq_translate(), parser_parse_file(), parser_parse_string_with_escapes(), and pt_compile().

#define PT_SET_NODE_COLL_MODIFIER (   p,
  coll 
)
Value:
do { \
assert ((p) != NULL); \
if ((p)->node_type == PT_EXPR) \
{ \
(p)->info.expr.coll_modifier = (coll) + 1; \
} \
else if ((p)->node_type == PT_VALUE) \
{ \
(p)->info.value.coll_modifier = (coll) + 1; \
} \
else if ((p)->node_type == PT_NAME) \
{ \
(p)->info.name.coll_modifier = (coll) + 1; \
} \
else if ((p)->node_type == PT_FUNCTION) \
{ \
(p)->info.function.coll_modifier = (coll) + 1; \
} \
{ \
assert ((p)->node_type == PT_DOT_); \
(p)->info.dot.coll_modifier = (coll) + 1; \
} \
} while (0)
#define assert(x)
#define NULL
Definition: freelistheap.h:34
if(extra_options)
Definition: dynamic_load.c:958
else
const char ** p
Definition: dynamic_load.c:945

Definition at line 626 of file parse_tree.h.

Referenced by pt_coerce_node_collation().

#define PT_SET_ORDER_DEPENDENT_FLAG (   n,
 
)
Value:
do { \
if ((n)) \
{ \
(n)->info.expr.is_order_dependent = (f); \
(n)->info.function.is_order_dependent = (f); \
else if (PT_IS_QUERY (n)) \
(n)->info.query.is_order_dependent = (f); \
} \
} while (0)
#define PT_IS_QUERY(n)
Definition: parse_tree.h:296
if(extra_options)
Definition: dynamic_load.c:958
#define PT_IS_EXPR_NODE(n)
Definition: parse_tree.h:305
#define PT_IS_FUNCTION(n)
Definition: parse_tree.h:311
else

Definition at line 500 of file parse_tree.h.

Referenced by mq_mark_order_dependent_nodes(), and mq_rewrite_order_dependent_query().

#define PT_SET_VALUE_QUERY (   n)    ((n)->flag.is_value_query = 1)

Definition at line 479 of file parse_tree.h.

Referenced by add_access_spec(), pt_to_outlist(), and pt_wrap_select_list_with_cast_op().

#define PT_SHOULD_BIND_RESERVED_NAME (   spec_)    (PT_SPEC_GET_RESERVED_NAME_TYPE (spec_) != RESERVED_NAME_INVALID)

Definition at line 686 of file parse_tree.h.

Referenced by pt_get_resolution(), pt_resolve_star(), and pt_split_attrs().

#define PT_SPEC_GET_RESERVED_NAME_TYPE (   spec_)
Value:
(((spec_) == NULL || (spec_)->node_type != PT_SPEC \
|| (spec_)->info.spec.flag == 0) ? \
/* is spec is NULL or not a PT_SPEC or flag is 0, return invalid */ \
/* else */ \
/* if spec is flagged for record info */ \
/* else */ \
/* if spec is flagged for page info */ \
/* else */ \
/* if spec is flagged for key info */ \
/* else */ \
/* if spec is flagged for b-tree node info */ \
/* spec is not flagged for any type of reserved names */ \
#define PT_IS_SPEC_FLAG_SET(spec_, flags_)
Definition: parse_tree.h:653
#define NULL
Definition: freelistheap.h:34

Definition at line 661 of file parse_tree.h.

Referenced by pt_resolve_star_reserved_names().

#define PT_VALUE_GET_BYTES (   node)
Value:
((node) == NULL ? NULL : \
(node)->info.value.data_value.str->bytes)
#define NULL
Definition: freelistheap.h:34

Definition at line 250 of file parse_tree.h.

Referenced by add_foreign_key(), create_or_drop_index_helper(), do_add_constraints(), do_alter_index_comment(), do_alter_index_rebuild(), do_alter_serial(), do_alter_user(), do_create_serial(), and do_create_user().

#define PT_WARNING (   parser,
  node,
  msg 
)    pt_frob_warning(parser, node, msg)

Definition at line 76 of file parse_tree.h.

#define PT_WARNINGc (   parser,
  node,
  msg 
)    pt_frob_warning(parser, node, msg)

Definition at line 78 of file parse_tree.h.

#define PT_WARNINGf (   parser,
  node,
  msg,
  arg1 
)    pt_cat_warning(parser, node, msg, arg1)

Definition at line 80 of file parse_tree.h.

#define PT_WARNINGf2 (   parser,
  node,
  msg,
  arg1,
  arg2 
)    pt_cat_warning(parser, node, msg, arg1, arg2)

Definition at line 81 of file parse_tree.h.

#define PT_WARNINGf3 (   parser,
  node,
  msg,
  arg1,
  arg2,
  arg3 
)    pt_cat_warning(parser, node, msg, arg1, arg2, arg3)

Definition at line 82 of file parse_tree.h.

#define PT_WARNINGm (   parser,
  node,
  setNo,
  msgNo 
)    pt_cat_warning(parser, node, setNo, msgNo)

Definition at line 77 of file parse_tree.h.

#define PT_WARNINGmf (   parser,
  node,
  setNo,
  msgNo,
  arg1 
)    pt_cat_warning(parser, node, setNo, msgNo, arg1)

Definition at line 84 of file parse_tree.h.

Referenced by pt_check_constraint().

#define PT_WARNINGmf2 (   parser,
  node,
  setNo,
  msgNo,
  arg1,
  arg2 
)    pt_cat_warning(parser, node, setNo, msgNo, arg1, arg2)

Definition at line 85 of file parse_tree.h.

Referenced by pt_set_host_variables().

#define PT_WARNINGmf3 (   parser,
  node,
  setNo,
  msgNo,
  arg1,
  arg2,
  arg3 
)    pt_cat_warning(parser, node, setNo, msgNo, arg1, arg2, arg3)

Definition at line 86 of file parse_tree.h.

#define RESET_HOST_VARIABLES_IF_INTERNAL_STATEMENT (   parser_)
Value:
do { if (parent_parser) { \
parser_->host_variables = NULL; parser_->host_var_count = 0; \
parser_->host_var_expected_domains = NULL; \
parser_->auto_param_count = 0; parser_->flag.set_host_var = 0; } } while (0)
PARSER_CONTEXT * parent_parser
#define NULL
Definition: freelistheap.h:34

Definition at line 539 of file parse_tree.h.

Referenced by do_execute_statement(), do_statement(), and pt_check_with_info().

#define SET_HOST_VARIABLES_IF_INTERNAL_STATEMENT (   parser_)
Value:
do { if (parent_parser) { \
if (parser_->host_variables != NULL && \
parser_->host_variables != parent_parser->host_variables) { \
CLEAR_HOST_VARIABLES(parser_); } \
parser_->host_variables = parent_parser->host_variables; \
parser_->host_var_expected_domains = parent_parser->host_var_expected_domains; \
parser_->host_var_count = parent_parser->host_var_count; \
parser_->auto_param_count = parent_parser->auto_param_count; \
parser_->flag.set_host_var = 1; } } while (0)
#define CLEAR_HOST_VARIABLES(parser_)
Definition: parse_tree.h:520
DB_VALUE * host_variables
Definition: parse_tree.h:3560
PARSER_CONTEXT * parent_parser
#define NULL
Definition: freelistheap.h:34
if(extra_options)
Definition: dynamic_load.c:958
TP_DOMAIN ** host_var_expected_domains
Definition: parse_tree.h:3561

Definition at line 528 of file parse_tree.h.

Referenced by do_execute_statement(), do_statement(), and pt_check_with_info().

Typedef Documentation

Definition at line 3493 of file parse_tree.h.

Definition at line 3504 of file parse_tree.h.

Definition at line 1696 of file parse_tree.h.

Definition at line 1668 of file parse_tree.h.

Definition at line 1560 of file parse_tree.h.

typedef void(* PARSER_GENERIC_VOID_FUNCTION) ()

Definition at line 1694 of file parse_tree.h.

Definition at line 1558 of file parse_tree.h.

Definition at line 1658 of file parse_tree.h.

Definition at line 1660 of file parse_tree.h.

Definition at line 1661 of file parse_tree.h.

Definition at line 1659 of file parse_tree.h.

typedef struct pt_alter_info PT_ALTER_INFO

Definition at line 1563 of file parse_tree.h.

Definition at line 1565 of file parse_tree.h.

Definition at line 1564 of file parse_tree.h.

Definition at line 3629 of file parse_tree.h.

Definition at line 1566 of file parse_tree.h.

Definition at line 1568 of file parse_tree.h.

Definition at line 1569 of file parse_tree.h.

Definition at line 1570 of file parse_tree.h.

Definition at line 1579 of file parse_tree.h.

typedef int(* PT_CASECMP_FUN) (const char *s1, const char *s2)

Definition at line 3527 of file parse_tree.h.

Definition at line 1656 of file parse_tree.h.

Definition at line 3667 of file parse_tree.h.

typedef struct pt_coll_infer PT_COLL_INFER

Definition at line 3669 of file parse_tree.h.

Definition at line 1571 of file parse_tree.h.

Definition at line 1645 of file parse_tree.h.

Definition at line 1572 of file parse_tree.h.

Definition at line 1575 of file parse_tree.h.

Definition at line 1574 of file parse_tree.h.

typedef struct pt_cte_info PT_CTE_INFO

Definition at line 1576 of file parse_tree.h.

typedef struct cursor_id PT_CURSOR_ID

Definition at line 1666 of file parse_tree.h.

Definition at line 1578 of file parse_tree.h.

Definition at line 1582 of file parse_tree.h.

Definition at line 1641 of file parse_tree.h.

typedef long PT_DATE

Definition at line 2982 of file parse_tree.h.

Definition at line 2983 of file parse_tree.h.

Definition at line 2984 of file parse_tree.h.

Definition at line 1583 of file parse_tree.h.

typedef struct pt_do_info PT_DO_INFO

Definition at line 1652 of file parse_tree.h.

typedef struct pt_dot_info PT_DOT_INFO

Definition at line 1584 of file parse_tree.h.

typedef struct pt_drop_info PT_DROP_INFO

Definition at line 1585 of file parse_tree.h.

Definition at line 1589 of file parse_tree.h.

Definition at line 1587 of file parse_tree.h.

Definition at line 1586 of file parse_tree.h.

Definition at line 1588 of file parse_tree.h.

Definition at line 1640 of file parse_tree.h.

Definition at line 1591 of file parse_tree.h.

Definition at line 1592 of file parse_tree.h.

Definition at line 1593 of file parse_tree.h.

Definition at line 1594 of file parse_tree.h.

Definition at line 1649 of file parse_tree.h.

Definition at line 1595 of file parse_tree.h.

typedef struct pt_expr_info PT_EXPR_INFO

Definition at line 1596 of file parse_tree.h.

Definition at line 1597 of file parse_tree.h.

Definition at line 1662 of file parse_tree.h.

Definition at line 1683 of file parse_tree.h.

Definition at line 1644 of file parse_tree.h.

Definition at line 1598 of file parse_tree.h.

Definition at line 1599 of file parse_tree.h.

Definition at line 1634 of file parse_tree.h.

Definition at line 1600 of file parse_tree.h.

Definition at line 1601 of file parse_tree.h.

typedef struct pt_grant_info PT_GRANT_INFO

Definition at line 1602 of file parse_tree.h.

typedef struct parser_hint PT_HINT

Definition at line 1671 of file parse_tree.h.

Definition at line 1603 of file parse_tree.h.

typedef struct pt_host_vars PT_HOST_VARS

Definition at line 1665 of file parse_tree.h.

typedef struct pt_index_info PT_INDEX_INFO

Definition at line 1573 of file parse_tree.h.

Definition at line 1604 of file parse_tree.h.

Definition at line 1679 of file parse_tree.h.

typedef int(* PT_INT_FUNCTION) (PARSER_CONTEXT *c)

Definition at line 3528 of file parse_tree.h.

Definition at line 1605 of file parse_tree.h.

Definition at line 1687 of file parse_tree.h.

Definition at line 1685 of file parse_tree.h.

Definition at line 1686 of file parse_tree.h.

Definition at line 1627 of file parse_tree.h.

typedef struct qfile_list_id PT_LIST_ID

Definition at line 1667 of file parse_tree.h.

typedef struct pt_merge_info PT_MERGE_INFO

Definition at line 1606 of file parse_tree.h.

Definition at line 1607 of file parse_tree.h.

Definition at line 1608 of file parse_tree.h.

Definition at line 1639 of file parse_tree.h.

typedef struct pt_name_info PT_NAME_INFO

Definition at line 1609 of file parse_tree.h.

Definition at line 1610 of file parse_tree.h.

typedef struct parser_node PT_NODE

Definition at line 1562 of file parse_tree.h.

Definition at line 1654 of file parse_tree.h.

typedef enum pt_node_type PT_NODE_TYPE

Definition at line 904 of file parse_tree.h.

typedef PT_NODE*(* PT_NODE_WALK_FUNCTION) (PARSER_CONTEXT *p, PT_NODE *tree, void *arg, int *continue_walk)

Definition at line 1689 of file parse_tree.h.

Definition at line 1663 of file parse_tree.h.

Definition at line 1580 of file parse_tree.h.

typedef struct pt_parts_info PT_PARTS_INFO

Definition at line 1581 of file parse_tree.h.

Definition at line 1646 of file parse_tree.h.

Definition at line 3128 of file parse_tree.h.

Definition at line 1648 of file parse_tree.h.

Definition at line 1567 of file parse_tree.h.

typedef PARSER_VARCHAR*(* PT_PRINT_VALUE_FUNC) (PARSER_CONTEXT *parser, const PT_NODE *val)

Definition at line 1691 of file parse_tree.h.

typedef struct pt_query_info PT_QUERY_INFO

Definition at line 1621 of file parse_tree.h.

Definition at line 1611 of file parse_tree.h.

Definition at line 1612 of file parse_tree.h.

Definition at line 1613 of file parse_tree.h.

Definition at line 2465 of file parse_tree.h.

Definition at line 1614 of file parse_tree.h.

Definition at line 1615 of file parse_tree.h.

Definition at line 1616 of file parse_tree.h.

Definition at line 1618 of file parse_tree.h.

typedef struct pt_scope_info PT_SCOPE_INFO

Definition at line 1619 of file parse_tree.h.

Definition at line 1620 of file parse_tree.h.

Definition at line 1577 of file parse_tree.h.

Definition at line 1672 of file parse_tree.h.

Definition at line 1622 of file parse_tree.h.

Definition at line 1635 of file parse_tree.h.

Definition at line 1623 of file parse_tree.h.

Definition at line 1681 of file parse_tree.h.

Definition at line 1625 of file parse_tree.h.

Definition at line 1624 of file parse_tree.h.

Definition at line 1626 of file parse_tree.h.

Definition at line 1628 of file parse_tree.h.

typedef struct pt_spec_info PT_SPEC_INFO

Definition at line 1590 of file parse_tree.h.

Definition at line 1653 of file parse_tree.h.

Definition at line 1647 of file parse_tree.h.

Definition at line 1650 of file parse_tree.h.

Definition at line 1655 of file parse_tree.h.

typedef long PT_TIME

Definition at line 2979 of file parse_tree.h.

Definition at line 1629 of file parse_tree.h.

Definition at line 2981 of file parse_tree.h.

typedef enum pt_time_zones PT_TIMEZONE
typedef struct pt_trace_info PT_TRACE_INFO

Definition at line 1673 of file parse_tree.h.

Definition at line 1630 of file parse_tree.h.

Definition at line 1631 of file parse_tree.h.

Definition at line 1651 of file parse_tree.h.

Definition at line 1675 of file parse_tree.h.

typedef enum pt_type_enum PT_TYPE_ENUM

Definition at line 962 of file parse_tree.h.

typedef struct pt_union_info PT_UNION_INFO

Definition at line 1617 of file parse_tree.h.

Definition at line 1632 of file parse_tree.h.

Definition at line 1633 of file parse_tree.h.

typedef long PT_UTIME

Definition at line 2980 of file parse_tree.h.

typedef struct pt_value_info PT_VALUE_INFO

Definition at line 1642 of file parse_tree.h.

Definition at line 1677 of file parse_tree.h.

Definition at line 1643 of file parse_tree.h.

Definition at line 1670 of file parse_tree.h.

Definition at line 1669 of file parse_tree.h.

Enumeration Type Documentation

anonymous enum
Enumerator
PT_STOP_WALK 
PT_CONTINUE_WALK 
PT_LEAF_WALK 
PT_LIST_WALK 

Definition at line 720 of file parse_tree.h.

anonymous enum
Enumerator
PT_USER_SELECT 
PT_MERGE_SELECT 

Definition at line 728 of file parse_tree.h.

anonymous enum
Enumerator
PT_IDX_HINT_FORCE 
PT_IDX_HINT_USE 
PT_IDX_HINT_IGNORE 
PT_IDX_HINT_ALL_EXCEPT 
PT_IDX_HINT_CLASS_NONE 
PT_IDX_HINT_NONE 

Definition at line 2594 of file parse_tree.h.

Enumerator
PT_ADD_QUERY 
PT_DROP_QUERY 
PT_MODIFY_QUERY 
PT_RESET_QUERY 
PT_ADD_ATTR_MTHD 
PT_DROP_ATTR_MTHD 
PT_MODIFY_ATTR_MTHD 
PT_RENAME_ATTR_MTHD 
PT_MODIFY_DEFAULT 
PT_ADD_SUPCLASS 
PT_DROP_SUPCLASS 
PT_DROP_RESOLUTION 
PT_RENAME_RESOLUTION 
PT_DROP_CONSTRAINT 
PT_APPLY_PARTITION 
PT_DROP_PARTITION 
PT_REMOVE_PARTITION 
PT_ADD_PARTITION 
PT_ADD_HASHPARTITION 
PT_REORG_PARTITION 
PT_COALESCE_PARTITION 
PT_ANALYZE_PARTITION 
PT_PROMOTE_PARTITION 
PT_RENAME_ENTITY 
PT_ALTER_DEFAULT 
PT_DROP_INDEX_CLAUSE 
PT_DROP_PRIMARY_CLAUSE 
PT_DROP_FK_CLAUSE 
PT_CHANGE_ATTR 
PT_CHANGE_AUTO_INCREMENT 
PT_CHANGE_OWNER 
PT_CHANGE_COLLATION 
PT_REBUILD_INDEX 
PT_ADD_INDEX_CLAUSE 
PT_CHANGE_TABLE_COMMENT 
PT_CHANGE_COLUMN_COMMENT 
PT_CHANGE_INDEX_COMMENT 
PT_CHANGE_INDEX_STATUS 

Definition at line 1224 of file parse_tree.h.

Enumerator
PT_COLLATION_L0_COERC 
PT_COLLATION_L1_COERC 
PT_COLLATION_L1_ISO_BIN_COERC 
PT_COLLATION_L1_BIN_COERC 
PT_COLLATION_L2_COERC 
PT_COLLATION_L2_BINARY_COERC 
PT_COLLATION_L2_BIN_COERC 
PT_COLLATION_L3_COERC 
PT_COLLATION_L4_COERC 
PT_COLLATION_L4_BINARY_COERC 
PT_COLLATION_L4_BIN_COERC 
PT_COLLATION_L5_COERC 
PT_COLLATION_L6_COERC 
PT_COLLATION_NOT_APPLICABLE 
PT_COLLATION_NOT_COERC 
PT_COLLATION_FULLY_COERC 

Definition at line 3641 of file parse_tree.h.

Enumerator
PT_RANGE_MERGE 
PT_RANGE_INTERSECTION 
PT_REDUCE_COMP_PAIR_TERMS 

Definition at line 1496 of file parse_tree.h.

Enumerator
CONNECT_BY_CYCLES_ERROR 
CONNECT_BY_CYCLES_NONE 
CONNECT_BY_CYCLES_IGNORE 
CONNECT_BY_CYCLES_NONE_IGNORE 

Definition at line 1536 of file parse_tree.h.

Enumerator
PT_CONSTRAIN_UNKNOWN 
PT_CONSTRAIN_PRIMARY_KEY 
PT_CONSTRAIN_FOREIGN_KEY 
PT_CONSTRAIN_NULL 
PT_CONSTRAIN_NOT_NULL 
PT_CONSTRAIN_UNIQUE 
PT_CONSTRAIN_CHECK 

Definition at line 1290 of file parse_tree.h.

Enumerator
PT_CREATE_SELECT_NO_ACTION 
PT_CREATE_SELECT_REPLACE 
PT_CREATE_SELECT_IGNORE 

Definition at line 1889 of file parse_tree.h.

Enumerator
PT_CURRENCY_DOLLAR 
PT_CURRENCY_YEN 
PT_CURRENCY_BRITISH_POUND 
PT_CURRENCY_WON 
PT_CURRENCY_TL 
PT_CURRENCY_CAMBODIAN_RIEL 
PT_CURRENCY_CHINESE_RENMINBI 
PT_CURRENCY_INDIAN_RUPEE 
PT_CURRENCY_RUSSIAN_RUBLE 
PT_CURRENCY_AUSTRALIAN_DOLLAR 
PT_CURRENCY_CANADIAN_DOLLAR 
PT_CURRENCY_BRASILIAN_REAL 
PT_CURRENCY_ROMANIAN_LEU 
PT_CURRENCY_EURO 
PT_CURRENCY_SWISS_FRANC 
PT_CURRENCY_DANISH_KRONE 
PT_CURRENCY_NORWEGIAN_KRONE 
PT_CURRENCY_BULGARIAN_LEV 
PT_CURRENCY_VIETNAMESE_DONG 
PT_CURRENCY_CZECH_KORUNA 
PT_CURRENCY_POLISH_ZLOTY 
PT_CURRENCY_SWEDISH_KRONA 
PT_CURRENCY_CROATIAN_KUNA 
PT_CURRENCY_SERBIAN_DINAR 
PT_CURRENCY_NULL 

Definition at line 2987 of file parse_tree.h.

Enumerator
PT_SUPPRESS_RESOLVED 
PT_SUPPRESS_META_ATTR_CLASS 
PT_SUPPRESS_INTO 
PT_SUPPRESS_SELECTOR 
PT_SUPPRESS_SELECT_LIST 
PT_SUPPRESS_QUOTES 
PT_PRINT_ALIAS 
PT_PAD_BYTE 
PT_CONVERT_RANGE 
PT_PRINT_DB_VALUE 
PT_SUPPRESS_INDEX 
PT_SUPPRESS_ORDERING 
PT_PRINT_QUOTES 
PT_FORCE_ORIGINAL_TABLE_NAME 
PT_SUPPRESS_CHARSET_PRINT 
PT_PRINT_DIFFERENT_SYSTEM_PARAMETERS 
PT_SHORT_PRINT 
PT_SUPPRESS_BIGINT_CAST 
PT_CHARSET_COLLATE_FULL 
PT_CHARSET_COLLATE_USER_ONLY 
PT_PRINT_USER 
PT_PRINT_ORIGINAL_BEFORE_CONST_FOLDING 

Definition at line 734 of file parse_tree.h.

Enumerator
PT_NO_ERROR 
PT_USAGE 
PT_NODE_TABLE_OVERFLOW 
PT_NAMES_TABLE_OVERFLOW 
PT_CANT_OPEN_FILE 
PT_STACK_OVERFLOW 
PT_STACK_UNDERFLOW 
PT_PARSE_ERROR 
PT_ILLEGAL_TYPE_IN_FUNC 
PT_NO_ARG_IN_FUNC 

Definition at line 1208 of file parse_tree.h.

Enumerator
PT_SYNTAX 
PT_SEMANTIC 
PT_EXECUTION 

Definition at line 1503 of file parse_tree.h.

Enumerator
PT_EV_INSERT 
PT_EV_STMT_INSERT 
PT_EV_DELETE 
PT_EV_STMT_DELETE 
PT_EV_UPDATE 
PT_EV_STMT_UPDATE 
PT_EV_ALTER 
PT_EV_DROP 
PT_EV_COMMIT 
PT_EV_ROLLBACK 
PT_EV_ABORT 
PT_EV_TIMEOUT 

Definition at line 1272 of file parse_tree.h.

Enumerator
PT_HINT_NONE 
PT_HINT_ORDERED 
PT_HINT_NO_INDEX_SS 
PT_HINT_INDEX_SS 
PT_HINT_SELECT_BTREE_NODE_INFO 
PT_HINT_USE_NL 
PT_HINT_USE_IDX 
PT_HINT_USE_MERGE 
PT_HINT_USE_HASH 
PT_HINT_RECOMPILE 
PT_HINT_LK_TIMEOUT 
PT_HINT_NO_LOGGING 
PT_HINT_NO_HASH_LIST_SCAN 
PT_HINT_QUERY_CACHE 
PT_HINT_REEXECUTE 
PT_HINT_JDBC_CACHE 
PT_HINT_USE_SBR 
PT_HINT_USE_IDX_DESC 
PT_HINT_NO_COVERING_IDX 
PT_HINT_INSERT_MODE 
PT_HINT_NO_IDX_DESC 
PT_HINT_NO_MULTI_RANGE_OPT 
PT_HINT_USE_UPDATE_IDX 
PT_HINT_USE_INSERT_IDX 
PT_HINT_NO_SORT_LIMIT 
PT_HINT_NO_HASH_AGGREGATE 
PT_HINT_SKIP_UPDATE_NULL 
PT_HINT_NO_INDEX_LS 
PT_HINT_INDEX_LS 
PT_HINT_QUERY_NO_CACHE 
PT_HINT_SELECT_RECORD_INFO 
PT_HINT_SELECT_PAGE_INFO 
PT_HINT_SELECT_KEY_INFO 

Definition at line 1161 of file parse_tree.h.

Enumerator
PT_NO_OID_INCLUDED 
PT_INCLUDE_OID 
PT_INCLUDE_OID_TRUSTME 

Definition at line 1489 of file parse_tree.h.

Enumerator
EXCLUDE_HIDDEN_COLUMNS 
INCLUDE_HIDDEN_COLUMNS 

Definition at line 1510 of file parse_tree.h.

Enumerator
PT_JOIN_NONE 
PT_JOIN_CROSS 
PT_JOIN_NATURAL 
PT_JOIN_INNER 
PT_JOIN_LEFT_OUTER 
PT_JOIN_RIGHT_OUTER 
PT_JOIN_FULL_OUTER 
PT_JOIN_UNION 

Definition at line 1149 of file parse_tree.h.

Enumerator
PT_MISC_NONE 
PT_MISC_DUMMY 
PT_ALL 
PT_ONLY 
PT_DISTINCT 
PT_SHARED 
PT_DEFAULT 
PT_ASC 
PT_DESC 
PT_GRANT_OPTION 
PT_NO_GRANT_OPTION 
PT_CLASS 
PT_VCLASS 
PT_VID_ATTR 
PT_OID_ATTR 
PT_CLASSOID_ATTR 
PT_TRIGGER_OID 
PT_NORMAL 
PT_META_CLASS 
PT_META_ATTR 
PT_PARAMETER 
PT_HINT_NAME 
PT_INDEX_NAME 
PT_RESERVED 
PT_IS_SUBQUERY 
PT_IS_UNION_SUBQUERY 
PT_IS_UNION_QUERY 
PT_IS_SET_EXPR 
PT_IS_CSELECT 
PT_IS_WHACKED_SPEC 
PT_IS_SUBINSERT 
PT_IS_VALUE 
PT_IS_DEFAULT_VALUE 
PT_ATTRIBUTE 
PT_METHOD 
PT_FUNCTION_RENAME 
PT_FILE_RENAME 
PT_NO_ISOLATION_LEVEL 
PT_SERIALIZABLE 
PT_REPEATABLE_READ 
PT_READ_COMMITTED 
PT_ISOLATION_LEVEL 
PT_LOCK_TIMEOUT 
PT_HOST_IN 
PT_HOST_OUT 
PT_HOST_OUT_DESCR 
PT_ACTIVE 
PT_INACTIVE 
PT_BEFORE 
PT_AFTER 
PT_DEFERRED 
PT_REJECT 
PT_INVALIDATE_XACTION 
PT_PRINT 
PT_EXPRESSION 
PT_TRIGGER_TRACE 
PT_TRIGGER_DEPTH 
PT_IS_CALL_STMT 
PT_IS_MTHD_EXPR 
PT_IS_CLASS_MTHD 
PT_IS_INST_MTHD 
PT_METHOD_ENTITY 
PT_IS_SELECTOR_SPEC 
PT_PATH_INNER 
PT_PATH_OUTER 
PT_PATH_OUTER_WEASEL 
PT_LOCAL 
PT_CASCADED 
PT_CURRENT 
PT_CHAR_STRING 
PT_NCHAR_STRING 
PT_BIT_STRING 
PT_HEX_STRING 
PT_MATCH_REGULAR 
PT_MATCH_FULL 
PT_MATCH_PARTIAL 
PT_RULE_CASCADE 
PT_RULE_RESTRICT 
PT_RULE_SET_NULL 
PT_RULE_SET_DEFAULT 
PT_RULE_NO_ACTION 
PT_LEADING 
PT_TRAILING 
PT_BOTH 
PT_NOPUT 
PT_INPUT 
PT_OUTPUT 
PT_INPUTOUTPUT 
PT_MILLISECOND 
PT_SECOND 
PT_MINUTE 
PT_HOUR 
PT_DAY 
PT_WEEK 
PT_MONTH 
PT_QUARTER 
PT_YEAR 
PT_SECOND_MILLISECOND 
PT_MINUTE_MILLISECOND 
PT_MINUTE_SECOND 
PT_HOUR_MILLISECOND 
PT_HOUR_SECOND 
PT_HOUR_MINUTE 
PT_DAY_MILLISECOND 
PT_DAY_SECOND 
PT_DAY_MINUTE 
PT_DAY_HOUR 
PT_YEAR_MONTH 
PT_SIMPLE_CASE 
PT_SEARCHED_CASE 
PT_OPT_LVL 
PT_OPT_COST 
PT_SUBSTR_ORG 
PT_SUBSTR 
PT_EQ_TORDER 
PT_SP_PROCEDURE 
PT_SP_FUNCTION 
PT_SP_IN 
PT_SP_OUT 
PT_SP_INOUT 
PT_LOB_INTERNAL 
PT_LOB_EXTERNAL 
PT_FROM_LAST 
PT_IGNORE_NULLS 
PT_NULLS_DEFAULT 
PT_NULLS_FIRST 
PT_NULLS_LAST 
PT_CONSTRAINT_NAME 
PT_TRACE_ON 
PT_TRACE_OFF 
PT_TRACE_FORMAT_TEXT 
PT_TRACE_FORMAT_JSON 
PT_IS_SHOWSTMT 
PT_IS_CTE_REC_SUBQUERY 
PT_IS_CTE_NON_REC_SUBQUERY 
PT_DERIVED_JSON_TABLE 

Definition at line 983 of file parse_tree.h.

Enumerator
PT_NODE_NONE 
PT_ALTER 
PT_ALTER_INDEX 
PT_ALTER_USER 
PT_ALTER_SERIAL 
PT_COMMIT_WORK 
PT_CREATE_ENTITY 
PT_CREATE_INDEX 
PT_CREATE_USER 
PT_CREATE_TRIGGER 
PT_CREATE_SERIAL 
PT_DROP 
PT_DROP_INDEX 
PT_DROP_USER 
PT_DROP_VARIABLE 
PT_DROP_TRIGGER 
PT_DROP_SERIAL 
PT_EVALUATE 
PT_RENAME 
PT_ROLLBACK_WORK 
PT_GRANT 
PT_REVOKE 
PT_UPDATE_STATS 
PT_GET_STATS 
PT_INSERT 
PT_SELECT 
PT_UPDATE 
PT_DELETE 
PT_METHOD_CALL 
PT_GET_XACTION 
PT_GET_OPT_LVL 
PT_SET_OPT_LVL 
PT_SET_SYS_PARAMS 
PT_SCOPE 
PT_SET_TRIGGER 
PT_GET_TRIGGER 
PT_SAVEPOINT 
PT_PREPARE_TO_COMMIT 
PT_2PC_ATTACH 
PT_REMOVE_TRIGGER 
PT_RENAME_TRIGGER 
PT_CREATE_STORED_PROCEDURE 
PT_ALTER_STORED_PROCEDURE 
PT_DROP_STORED_PROCEDURE 
PT_PREPARE_STATEMENT 
PT_EXECUTE_PREPARE 
PT_DEALLOCATE_PREPARE 
PT_TRUNCATE 
PT_DO 
PT_SET_SESSION_VARIABLES 
PT_DROP_SESSION_VARIABLES 
PT_MERGE 
PT_SET_NAMES 
PT_SET_TIMEZONE 
PT_DIFFERENCE 
PT_INTERSECTION 
PT_UNION 
PT_ZZ_ERROR_MSG 
PT_ALTER_TRIGGER 
PT_ATTR_DEF 
PT_AUTH_CMD 
PT_AUTO_INCREMENT 
PT_CHECK_OPTION 
PT_CONSTRAINT 
PT_CTE 
PT_DATA_DEFAULT 
PT_DATA_TYPE 
PT_DOT_ 
PT_EVENT_OBJECT 
PT_EVENT_SPEC 
PT_EVENT_TARGET 
PT_EXECUTE_TRIGGER 
PT_EXPR 
PT_FILE_PATH 
PT_FUNCTION 
PT_HOST_VAR 
PT_ISOLATION_LVL 
PT_METHOD_DEF 
PT_NAME 
PT_PARTITION 
PT_PARTS 
PT_RESOLUTION 
PT_SET_XACTION 
PT_SORT_SPEC 
PT_SP_PARAMETERS 
PT_SPEC 
PT_TIMEOUT 
PT_TRIGGER_ACTION 
PT_TRIGGER_SPEC_LIST 
PT_VALUE 
PT_NODE_POINTER 
PT_NODE_LIST 
PT_TABLE_OPTION 
PT_ATTR_ORDERING 
PT_TUPLE_VALUE 
PT_QUERY_TRACE 
PT_INSERT_VALUE 
PT_NAMED_ARG 
PT_SHOWSTMT 
PT_KILL_STMT 
PT_VACUUM 
PT_WITH_CLAUSE 
PT_JSON_TABLE 
PT_JSON_TABLE_NODE 
PT_JSON_TABLE_COLUMN 
PT_NODE_NUMBER 
PT_LAST_NODE_NUMBER 

Definition at line 786 of file parse_tree.h.

enum PT_OP_TYPE
Enumerator
PT_AND 
PT_OR 
PT_NOT 
PT_BETWEEN 
PT_NOT_BETWEEN 
PT_LIKE 
PT_NOT_LIKE 
PT_IS_IN 
PT_IS_NOT_IN 
PT_IS_NULL 
PT_IS_NOT_NULL 
PT_IS 
PT_IS_NOT 
PT_EXISTS 
PT_EQ_SOME 
PT_NE_SOME 
PT_GE_SOME 
PT_GT_SOME 
PT_LT_SOME 
PT_LE_SOME 
PT_EQ_ALL 
PT_NE_ALL 
PT_GE_ALL 
PT_GT_ALL 
PT_LT_ALL 
PT_LE_ALL 
PT_EQ 
PT_NE 
PT_GE 
PT_GT 
PT_LT 
PT_LE 
PT_NULLSAFE_EQ 
PT_GT_INF 
PT_LT_INF 
PT_SETEQ 
PT_SETNEQ 
PT_SUPERSETEQ 
PT_SUPERSET 
PT_SUBSET 
PT_SUBSETEQ 
PT_PLUS 
PT_MINUS 
PT_TIMES 
PT_DIVIDE 
PT_UNARY_MINUS 
PT_PRIOR 
PT_QPRIOR 
PT_CONNECT_BY_ROOT 
PT_BIT_NOT 
PT_BIT_XOR 
PT_BIT_AND 
PT_BIT_OR 
PT_BIT_COUNT 
PT_BITSHIFT_LEFT 
PT_BITSHIFT_RIGHT 
PT_DIV 
PT_MOD 
PT_IF 
PT_IFNULL 
PT_ISNULL 
PT_XOR 
PT_ASSIGN 
PT_BETWEEN_AND 
PT_BETWEEN_GE_LE 
PT_BETWEEN_GE_LT 
PT_BETWEEN_GT_LE 
PT_BETWEEN_GT_LT 
PT_BETWEEN_EQ_NA 
PT_BETWEEN_INF_LE 
PT_BETWEEN_INF_LT 
PT_BETWEEN_GE_INF 
PT_BETWEEN_GT_INF 
PT_RANGE 
PT_MODULUS 
PT_RAND 
PT_DRAND 
PT_POSITION 
PT_SUBSTRING 
PT_OCTET_LENGTH 
PT_BIT_LENGTH 
PT_SUBSTRING_INDEX 
PT_MD5 
PT_SPACE 
PT_CHAR_LENGTH 
PT_LOWER 
PT_UPPER 
PT_TRIM 
PT_LTRIM 
PT_RTRIM 
PT_LPAD 
PT_RPAD 
PT_REPLACE 
PT_TRANSLATE 
PT_REPEAT 
PT_ADD_MONTHS 
PT_LAST_DAY 
PT_MONTHS_BETWEEN 
PT_SYS_DATE 
PT_TO_CHAR 
PT_TO_DATE 
PT_TO_NUMBER 
PT_SYS_TIME 
PT_SYS_TIMESTAMP 
PT_CURRENT_TIMESTAMP 
PT_SYS_DATETIME 
PT_CURRENT_DATETIME 
PT_CURRENT_TIME 
PT_CURRENT_DATE 
PT_UTC_TIME 
PT_UTC_DATE 
PT_TO_TIME 
PT_TO_TIMESTAMP 
PT_TO_DATETIME 
PT_CURRENT_VALUE 
PT_NEXT_VALUE 
PT_INST_NUM 
PT_ROWNUM 
PT_ORDERBY_NUM 
PT_CONNECT_BY_ISCYCLE 
PT_CONNECT_BY_ISLEAF 
PT_LEVEL 
PT_SYS_CONNECT_BY_PATH 
PT_EXTRACT 
PT_LIKE_ESCAPE 
PT_CAST 
PT_CASE 
PT_CURRENT_USER 
PT_LOCAL_TRANSACTION_ID 
PT_FLOOR 
PT_CEIL 
PT_SIGN 
PT_POWER 
PT_ROUND 
PT_ABS 
PT_TRUNC 
PT_CHR 
PT_INSTR 
PT_LEAST 
PT_GREATEST 
PT_PATH_EXPR_SET 
PT_ENCRYPT 
PT_DECRYPT 
PT_STRCAT 
PT_NULLIF 
PT_COALESCE 
PT_NVL 
PT_NVL2 
PT_DECODE 
PT_RANDOM 
PT_DRANDOM 
PT_INCR 
PT_DECR 
PT_LOG 
PT_EXP 
PT_SQRT 
PT_CONCAT 
PT_CONCAT_WS 
PT_FIELD 
PT_LEFT 
PT_RIGHT 
PT_LOCATE 
PT_MID 
PT_STRCMP 
PT_REVERSE 
PT_ACOS 
PT_ASIN 
PT_ATAN 
PT_ATAN2 
PT_COS 
PT_SIN 
PT_COT 
PT_TAN 
PT_DEGREES 
PT_RADIANS 
PT_PI 
PT_FORMAT 
PT_DISK_SIZE 
PT_LN 
PT_LOG2 
PT_LOG10 
PT_TIME_FORMAT 
PT_TIMESTAMP 
PT_UNIX_TIMESTAMP 
PT_FROM_UNIXTIME 
PT_SCHEMA 
PT_DATABASE 
PT_VERSION 
PT_ADDDATE 
PT_DATE_ADD 
PT_SUBDATE 
PT_DATE_SUB 
PT_DATE_FORMAT 
PT_DATEF 
PT_TIMEF 
PT_YEARF 
PT_MONTHF 
PT_DAYF 
PT_HOURF 
PT_MINUTEF 
PT_SECONDF 
PT_DAYOFMONTH 
PT_WEEKDAY 
PT_DAYOFWEEK 
PT_DAYOFYEAR 
PT_QUARTERF 
PT_TODAYS 
PT_FROMDAYS 
PT_TIMETOSEC 
PT_SECTOTIME 
PT_MAKEDATE 
PT_MAKETIME 
PT_WEEKF 
PT_USER 
PT_ROW_COUNT 
PT_LAST_INSERT_ID 
PT_DATEDIFF 
PT_TIMEDIFF 
PT_STR_TO_DATE 
PT_DEFAULTF 
PT_LIST_DBS 
PT_OID_OF_DUPLICATE_KEY 
PT_LIKE_LOWER_BOUND 
PT_LIKE_UPPER_BOUND 
PT_BIT_TO_BLOB 
PT_BLOB_FROM_FILE 
PT_BLOB_LENGTH 
PT_BLOB_TO_BIT 
PT_CHAR_TO_BLOB 
PT_CHAR_TO_CLOB 
PT_CLOB_FROM_FILE 
PT_CLOB_LENGTH 
PT_CLOB_TO_CHAR 
PT_TYPEOF 
PT_FUNCTION_HOLDER 
PT_INDEX_CARDINALITY 
PT_DEFINE_VARIABLE 
PT_EVALUATE_VARIABLE 
PT_EXEC_STATS 
PT_ADDTIME 
PT_BIN 
PT_FINDINSET 
PT_HEX 
PT_ASCII 
PT_CONV 
PT_RLIKE 
PT_NOT_RLIKE 
PT_RLIKE_BINARY 
PT_NOT_RLIKE_BINARY 
PT_TO_ENUMERATION_VALUE 
PT_INET_ATON 
PT_INET_NTOA 
PT_CHARSET 
PT_COERCIBILITY 
PT_COLLATION 
PT_WIDTH_BUCKET 
PT_TRACE_STATS 
PT_INDEX_PREFIX 
PT_AES_ENCRYPT 
PT_AES_DECRYPT 
PT_SHA_ONE 
PT_SHA_TWO 
PT_TO_BASE64 
PT_FROM_BASE64 
PT_SLEEP 
PT_SYS_GUID 
PT_DBTIMEZONE 
PT_SESSIONTIMEZONE 
PT_TZ_OFFSET 
PT_NEW_TIME 
PT_FROM_TZ 
PT_TO_DATETIME_TZ 
PT_TO_TIMESTAMP_TZ 
PT_UTC_TIMESTAMP 
PT_CRC32 
PT_SCHEMA_DEF 
PT_CONV_TZ 
PT_LAST_OPCODE 

Definition at line 1320 of file parse_tree.h.

Enumerator
PT_PARTITION_HASH 
PT_PARTITION_RANGE 
PT_PARTITION_LIST 

Definition at line 1301 of file parse_tree.h.

Enumerator
PT_POINTER_NORMAL 
PT_POINTER_REF 

Definition at line 3123 of file parse_tree.h.

Enumerator
PT_NO_PRIV 
PT_ADD_PRIV 
PT_ALL_PRIV 
PT_ALTER_PRIV 
PT_DELETE_PRIV 
PT_DROP_PRIV 
PT_EXECUTE_PRIV 
PT_INDEX_PRIV 
PT_INSERT_PRIV 
PT_REFERENCES_PRIV 
PT_SELECT_PRIV 
PT_UPDATE_PRIV 

Definition at line 965 of file parse_tree.h.

Enumerator
RESERVED_T_PAGEID 
RESERVED_T_SLOTID 
RESERVED_T_VOLUMEID 
RESERVED_T_OFFSET 
RESERVED_T_LENGTH 
RESERVED_T_REC_TYPE 
RESERVED_T_REPRID 
RESERVED_T_CHN 
RESERVED_T_MVCC_INSID 
RESERVED_T_MVCC_DELID 
RESERVED_T_MVCC_FLAGS 
RESERVED_T_MVCC_PREV_VERSION_LSA 
RESERVED_P_CLASS_OID 
RESERVED_P_PREV_PAGEID 
RESERVED_P_NEXT_PAGEID 
RESERVED_P_NUM_SLOTS 
RESERVED_P_NUM_RECORDS 
RESERVED_P_ANCHOR_TYPE 
RESERVED_P_ALIGNMENT 
RESERVED_P_TOTAL_FREE 
RESERVED_P_CONT_FREE 
RESERVED_P_OFFSET_TO_FREE_AREA 
RESERVED_P_IS_SAVING 
RESERVED_P_UPDATE_BEST 
RESERVED_KEY_VOLUMEID 
RESERVED_KEY_PAGEID 
RESERVED_KEY_SLOTID 
RESERVED_KEY_KEY 
RESERVED_KEY_OID_COUNT 
RESERVED_KEY_FIRST_OID 
RESERVED_KEY_OVERFLOW_KEY 
RESERVED_KEY_OVERFLOW_OIDS 
RESERVED_BT_NODE_VOLUMEID 
RESERVED_BT_NODE_PAGEID 
RESERVED_BT_NODE_TYPE 
RESERVED_BT_NODE_KEY_COUNT 
RESERVED_BT_NODE_FIRST_KEY 
RESERVED_BT_NODE_LAST_KEY 
RESERVED_ATTR_COUNT 
RESERVED_FIRST_RECORD_INFO 
RESERVED_FIRST_MVCC_INFO 
RESERVED_LAST_RECORD_INFO 
RESERVED_FIRST_PAGE_INFO 
RESERVED_LAST_PAGE_INFO 
RESERVED_FIRST_KEY_INFO 
RESERVED_LAST_KEY_INFO 
RESERVED_FIRST_BT_NODE_INFO 
RESERVED_LAST_BT_NODE_INFO 

Definition at line 2397 of file parse_tree.h.

Enumerator
RESERVED_NAME_INVALID 
RESERVED_NAME_RECORD_INFO 
RESERVED_NAME_PAGE_INFO 
RESERVED_NAME_KEY_INFO 
RESERVED_NAME_BTREE_NODE_INFO 

Definition at line 2387 of file parse_tree.h.

Enumerator
PT_SPEC_FLAG_NONE 
PT_SPEC_FLAG_UPDATE 
PT_SPEC_FLAG_DELETE 
PT_SPEC_FLAG_HAS_UNIQUE 
PT_SPEC_FLAG_FROM_VCLASS 
PT_SPEC_FLAG_CONTAINS_OID 
PT_SPEC_FLAG_FOR_UPDATE_CLAUSE 
PT_SPEC_FLAG_RECORD_INFO_SCAN 
PT_SPEC_FLAG_PAGE_INFO_SCAN 
PT_SPEC_FLAG_KEY_INFO_SCAN 
PT_SPEC_FLAG_BTREE_NODE_INFO_SCAN 
PT_SPEC_FLAG_MVCC_COND_REEV 
PT_SPEC_FLAG_MVCC_ASSIGN_REEV 
PT_SPEC_FLAG_DOESNT_HAVE_UNIQUE 

Definition at line 1517 of file parse_tree.h.

Enumerator
PT_TABLE_OPTION_NONE 
PT_TABLE_OPTION_REUSE_OID 
PT_TABLE_OPTION_AUTO_INCREMENT 
PT_TABLE_OPTION_CHARSET 
PT_TABLE_OPTION_COLLATION 
PT_TABLE_OPTION_COMMENT 
PT_TABLE_OPTION_ENCRYPT 
PT_TABLE_OPTION_DONT_REUSE_OID 

Definition at line 1308 of file parse_tree.h.

Enumerator
PT_TIMEZONE_EASTERN 
PT_TIMEZONE_CENTRAL 
PT_TIMEZONE_MOUNTAIN 
PT_TIMEZONE_PACIFIC 

Definition at line 2970 of file parse_tree.h.

Enumerator
PT_TYPE_NONE 
PT_TYPE_MIN 
PT_TYPE_INTEGER 
PT_TYPE_FLOAT 
PT_TYPE_DOUBLE 
PT_TYPE_SMALLINT 
PT_TYPE_DATE 
PT_TYPE_TIME 
PT_TYPE_TIMESTAMP 
PT_TYPE_DATETIME 
PT_TYPE_MONETARY 
PT_TYPE_NUMERIC 
PT_TYPE_CHAR 
PT_TYPE_VARCHAR 
PT_TYPE_NCHAR 
PT_TYPE_VARNCHAR 
PT_TYPE_BIT 
PT_TYPE_VARBIT 
PT_TYPE_LOGICAL 
PT_TYPE_MAYBE 
PT_TYPE_JSON 
PT_TYPE_NA 
PT_TYPE_NULL 
PT_TYPE_STAR 
PT_TYPE_OBJECT 
PT_TYPE_SET 
PT_TYPE_MULTISET 
PT_TYPE_SEQUENCE 
PT_TYPE_MIDXKEY 
PT_TYPE_COMPOUND 
PT_TYPE_EXPR_SET 
PT_TYPE_RESULTSET 
PT_TYPE_BIGINT 
PT_TYPE_BLOB 
PT_TYPE_CLOB 
PT_TYPE_ELO 
PT_TYPE_ENUMERATION 
PT_TYPE_TIMESTAMPLTZ 
PT_TYPE_TIMESTAMPTZ 
PT_TYPE_DATETIMETZ 
PT_TYPE_DATETIMELTZ 
PT_TYPE_MAX 

Definition at line 907 of file parse_tree.h.

Enumerator
SERVER_INSERT_NOT_CHECKED 
SERVER_INSERT_IS_ALLOWED 
SERVER_INSERT_IS_NOT_ALLOWED 

Definition at line 1547 of file parse_tree.h.

Function Documentation

void pt_init_node ( PT_NODE node,
PT_NODE_TYPE  node_type 
)

Definition at line 5178 of file parse_tree_cl.c.

References assert, parser_node::info, parser_node::node_type, NULL, pt_init_f, and PT_LAST_NODE_NUMBER.

Referenced by qo_convert_attref_to_dotexpr().

Here is the caller graph for this function:

bool pt_is_json_doc_type ( PT_TYPE_ENUM  type)

Definition at line 1442 of file parse_tree.c.

References db_is_json_doc_type(), pt_type_enum_to_db(), PT_TYPE_MAYBE, and PT_TYPE_NULL.

Referenced by pt_are_equivalent_types(), pt_get_equivalent_type(), and pt_semantic_check_local().

Here is the caller graph for this function:

bool pt_is_json_value_type ( PT_TYPE_ENUM  type)

Definition at line 1429 of file parse_tree.c.

References db_is_json_value_type(), pt_type_enum_to_db(), PT_TYPE_MAYBE, and PT_TYPE_NULL.

Referenced by pt_are_equivalent_types(), and pt_get_equivalent_type().

Here is the caller graph for this function:

Variable Documentation

PARSER_CONTEXT* parent_parser

Definition at line 135 of file parse_tree_cl.c.

Referenced by do_check_internal_statements(), and pt_check_with_info().

PT_RESERVED_NAME pt_Reserved_name_table[]