Skip to content

File parser_support.c

FileList > cubrid > src > parser > parser_support.c

Go to the source code of this file

  • #include "config.h"
  • #include <assert.h>
  • #include <stdio.h>
  • #include <string.h>
  • #include <stdlib.h>
  • #include <limits.h>
  • #include <ctype.h>
  • #include "authenticate.h"
  • #include "chartype.h"
  • #include "parser.h"
  • #include "parser_message.h"
  • #include "mem_block.hpp"
  • #include "memory_alloc.h"
  • #include "intl_support.h"
  • #include "error_manager.h"
  • #include "work_space.h"
  • #include "oid.h"
  • #include "class_object.h"
  • #include "optimizer.h"
  • #include "object_primitive.h"
  • #include "object_representation.h"
  • #include "parser_support.h"
  • #include "system_parameter.h"
  • #include "xasl_generation.h"
  • #include "schema_manager.h"
  • #include "object_print.h"
  • #include "show_meta.h"
  • #include "db.h"
  • #include "object_printer.hpp"
  • #include "string_buffer.hpp"
  • #include "dbtype.h"
  • #include "parser_allocator.hpp"
  • #include "execute_schema.h"

Classes

Type Name
struct pt_host_vars

Public Attributes

Type Name
int qp_Packing_er_code = [**NO\_ERROR**](error__code_8h.md#define-no_error)

Public Static Attributes

Type Name
const int PACKING_MMGR_BLOCK_SIZE = 10
const int PACKING_MMGR_CHUNK_SIZE = 1024
HL_HEAPID * packing_heap = [**NULL**](freelistheap_8h.md#define-null)
int packing_heap_num_slot = 0
int packing_level = 0

Public Functions

Type Name
PT_NODE * pt_add_table_name_to_from_list (PARSER_CONTEXT * parser, PT_NODE * select, const char * table_name, const char * table_alias, const DB_AUTH auth_bypass)
char * pt_alloc_packing_buf (int size)
PT_NODE * pt_and (PARSER_CONTEXT * parser, const PT_NODE * arg1, const PT_NODE * arg2)
PT_NODE * pt_arg1_part (const PT_NODE * node)
PT_NODE * pt_arg2_part (const PT_NODE * node)
PT_NODE * pt_assignments_part (const PT_NODE * node)
PT_NODE * pt_attrs_part (const PT_NODE * node)
int pt_check_enum_data_type (PARSER_CONTEXT * parser, PT_NODE * dt)
int pt_check_grammar_charset_collation (PARSER_CONTEXT * parser, PT_NODE * charset_node, PT_NODE * coll_node, int * charset, int * coll_id)
PT_NODE * pt_check_groupbynum_post (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_check_groupbynum_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_check_instnum_post (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_check_instnum_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
void pt_check_level_expr (PARSER_CONTEXT * parser, PT_NODE * expr, bool * has_greater, bool * has_lesser)
bool pt_check_ordby_num_for_multi_range_opt (PARSER_CONTEXT * parser, PT_NODE * query, bool * mro_candidate, bool * cannot_eval)
PT_NODE * pt_check_orderbynum_post (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_check_orderbynum_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_check_removable_expr_post (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_check_removable_expr_pre (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_check_subquery_post (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_check_subquery_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
char * pt_chop_trailing_dots (PARSER_CONTEXT * parser, const char * msg)
PT_NODE * pt_class_names_part (const PT_NODE * node)
PT_NODE * pt_class_part (const PT_NODE * node)
bool pt_column_updatable (PARSER_CONTEXT * parser, PT_NODE * statement)
PT_NODE * pt_convert_to_logical_expr (PARSER_CONTEXT * parser, PT_NODE * node, bool use_parens_inside, bool use_parens_outside)
void pt_copy_statement_flags (PT_NODE * source, PT_NODE * destination)
PT_NODE * pt_count_name_nodes (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_dup_key_update_stmt (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * assignment)
void pt_enter_packing_buf (void)
PT_NODE * pt_entity (PARSER_CONTEXT * parser, const PT_NODE * entity_name, const PT_NODE * range_var, const PT_NODE * flat_list)
void pt_exit_packing_buf (void)
PT_NODE * pt_expr_disallow_op_except_agg (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_expr_disallow_op_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_expression (PARSER_CONTEXT * parser, PT_OP_TYPE op, PT_NODE * arg1, PT_NODE * arg2, PT_NODE * arg3)
PT_NODE * pt_expression_0 (PARSER_CONTEXT * parser, PT_OP_TYPE op)
PT_NODE * pt_expression_1 (PARSER_CONTEXT * parser, PT_OP_TYPE op, PT_NODE * arg1)
PT_NODE * pt_expression_2 (PARSER_CONTEXT * parser, PT_OP_TYPE op, PT_NODE * arg1, PT_NODE * arg2)
PT_NODE * pt_expression_3 (PARSER_CONTEXT * parser, PT_OP_TYPE op, PT_NODE * arg1, PT_NODE * arg2, PT_NODE * arg3)
void pt_final_packing_buf (void)
PT_NODE * pt_find_aggregate_functions_post (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_find_aggregate_functions_pre (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_find_aggregate_names (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_find_name (PARSER_CONTEXT * parser, const PT_NODE * name, const PT_NODE * list)
PT_NODE * pt_find_node_type_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_find_op_type_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_find_spec (PARSER_CONTEXT * parser, const PT_NODE * from, const PT_NODE * name)
PT_NODE * pt_find_spec_in_statement (PARSER_CONTEXT * parser, const PT_NODE * stmt, const PT_NODE * name)
void pt_fixup_column_type (PT_NODE * col)
void pt_free_escape_char (PARSER_CONTEXT *const parser, PT_NODE *const like, PT_NODE *const pattern, PT_NODE *const escape)
void pt_free_host_info (PT_HOST_VARS * hv)
void pt_free_orphans (PARSER_CONTEXT * parser)
void pt_free_statement_xasl_id (PT_NODE * statement)
PT_NODE * pt_from_entity_part (const PT_NODE * node)
PT_NODE * pt_from_list_part (const PT_NODE * node)
PT_NODE * pt_get_cursor (const PT_HOST_VARS * hv)
void pt_get_default_expression_from_data_default_node (PARSER_CONTEXT * parser, PT_NODE * data_default_node, DB_DEFAULT_EXPR * default_expr)
void pt_get_default_expression_from_string (PARSER_CONTEXT * parser, const char * str, const int str_size, DB_DEFAULT_EXPR * default_expr)
int pt_get_dup_key_oid_var_index (PARSER_CONTEXT * parser, PT_NODE * update_statement)
PT_NODE * pt_get_end_path_node (PT_NODE * node)
PT_NODE * pt_get_first_arg_ignore_prior (PT_NODE * node)
PT_HINT_ENUM pt_get_hint_from_query (PARSER_CONTEXT * parser, PT_NODE * query)
PT_NODE * pt_get_input_host_vars (const PT_HOST_VARS * hv)
int pt_get_max_pred_order (PARSER_CONTEXT * parser, PT_NODE * predicate)
const char * pt_get_name (PT_NODE * nam)
const char * pt_get_name_with_qualifier_removed (const char * name)
const char * pt_get_name_without_current_user_name (const char * name)
PT_NODE * pt_get_output_host_descr (PT_HOST_VARS * hv)
PT_NODE * pt_get_output_host_vars (const PT_HOST_VARS * hv)
PT_NODE * pt_get_parameters (PARSER_CONTEXT * parser, PT_NODE * stmt)
const char * pt_get_proxy_spec_name (PARSER_CONTEXT * parser, const char * qspec)
const char * pt_get_qualifier_name (PARSER_CONTEXT * parser, PT_NODE * node)
int pt_get_query_expr_value (PARSER_CONTEXT * parser, PT_NODE * expr, DB_VALUE * expr_val)
DB_BIGINT pt_get_query_limit_from_query (PARSER_CONTEXT * parser, PT_NODE * query)
int pt_get_query_limit_value (PARSER_CONTEXT * parser, PT_NODE * query, DB_VALUE * limit_val, bool add_offset)
const char * pt_get_select_from_name (PARSER_CONTEXT * parser, const PT_NODE * spec)
int pt_get_select_query_columns (PARSER_CONTEXT * parser, PT_NODE * create_select, DB_QUERY_TYPE ** query_columns)
const char * pt_get_spec_name (PARSER_CONTEXT * parser, const PT_NODE * selqry)
PT_NODE * pt_get_subquery_of_insert_select (const PT_NODE * node)
PT_NODE * pt_get_warnings (const PARSER_CONTEXT * parser)
PT_NODE * pt_group_by_part (const PT_NODE * node)
int pt_groupbynum_compatibility (PT_NODE * expr)
bool pt_has_aggregate (PARSER_CONTEXT * parser, PT_NODE * node)
bool pt_has_analytic (PARSER_CONTEXT * parser, PT_NODE * node)
bool pt_has_define_vars (PARSER_CONTEXT * parser, PT_NODE * stmt)
bool pt_has_expr_of_inst_in_sel_list (PARSER_CONTEXT * parser, PT_NODE * select_list)
bool pt_has_having_with_predicate (PARSER_CONTEXT * parser, PT_NODE * node)
bool pt_has_inst_in_where_and_select_list (PARSER_CONTEXT * parser, PT_NODE * node)
bool pt_has_inst_num (PARSER_CONTEXT * parser, PT_NODE * node)
bool pt_has_inst_or_orderby_num (PARSER_CONTEXT * parser, PT_NODE * node)
bool pt_has_inst_or_orderby_num_in_where (PARSER_CONTEXT * parser, PT_NODE * node)
PT_NODE * pt_has_name_oid (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_has_non_groupby_column_node (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_has_non_idx_sarg_coll_pre (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
bool pt_has_nullable_term (PARSER_CONTEXT * parser, PT_NODE * node)
bool pt_has_order_sensitive_agg (PARSER_CONTEXT * parser, PT_NODE * node)
bool pt_has_path_expr (PARSER_CONTEXT * parser, PT_NODE * stmt)
PT_NODE * pt_having_part (const PT_NODE * node)
PT_HOST_VARS * pt_host_info (PARSER_CONTEXT * parser, PT_NODE * stmt)
int pt_host_var_index (const PT_NODE * hv)
PT_NODE * pt_insert_value (PARSER_CONTEXT * parser, PT_NODE * node)
int pt_instnum_compatibility (PT_NODE * expr)
bool pt_is_aggregate_function (PARSER_CONTEXT * parser, const PT_NODE * node)
bool pt_is_analytic_function (PARSER_CONTEXT * parser, const PT_NODE * node)
PT_NODE * pt_is_analytic_node (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_is_analytic_node_post (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
int pt_is_attr (PT_NODE * node)
int pt_is_ddl_statement (const PT_NODE * node)
PT_NODE * pt_is_define_vars (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
bool pt_is_expr_wrapped_function (PARSER_CONTEXT * parser, const PT_NODE * node)
int pt_is_function_index_expression (PT_NODE * node)
PT_NODE * pt_is_group_concat (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_is_inst_num_node (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_is_inst_num_node_post (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_is_inst_or_inst_num_node (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_is_inst_or_orderby_num_node (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_is_inst_or_orderby_num_node_post (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
bool pt_is_json_function (PARSER_CONTEXT * parser, const PT_NODE * node)
int pt_is_method_call (PT_NODE * node)
PT_NODE * pt_is_method_call_node (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
bool pt_is_operator_arith (PT_OP_TYPE op)
bool pt_is_operator_logical (PT_OP_TYPE op)
PT_NODE * pt_is_order_sensitive_agg (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_is_order_sensitive_agg_post (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_is_path_expr (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_is_pseudocolumn_node (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
PT_NODE * pt_left_part (const PT_NODE * node)
PT_NODE * pt_limit_to_numbering_expr (PARSER_CONTEXT * parser, PT_NODE * limit, PT_OP_TYPE num_op, bool is_gby_num)
bool pt_list_has_logical_nodes (PT_NODE * list)
PT_NODE * pt_make_data_default_expr_node (PARSER_CONTEXT * parser, PT_NODE * expr)
PT_NODE * pt_make_integer_value (PARSER_CONTEXT * parser, const int value_int)
PT_NODE * pt_make_query_describe_w_identifier (PARSER_CONTEXT * parser, PT_NODE * original_cls_id, PT_NODE * att_id)
PT_NODE * pt_make_query_show_collation (PARSER_CONTEXT * parser, int like_where_syntax, PT_NODE * like_or_where_expr)
PT_NODE * pt_make_query_show_columns (PARSER_CONTEXT * parser, PT_NODE * original_cls_id, int like_where_syntax, PT_NODE * like_or_where_expr, int is_show_full)
PT_NODE * pt_make_query_show_create_table (PARSER_CONTEXT * parser, PT_NODE * table_name)
PT_NODE * pt_make_query_show_create_view (PARSER_CONTEXT * parser, PT_NODE * view_identifier)
PT_NODE * pt_make_query_show_exec_stats (PARSER_CONTEXT * parser)
PT_NODE * pt_make_query_show_exec_stats_all (PARSER_CONTEXT * parser)
PT_NODE * pt_make_query_show_grants (PARSER_CONTEXT * parser, const char * original_user_name)
PT_NODE * pt_make_query_show_grants_curr_usr (PARSER_CONTEXT * parser)
PT_NODE * pt_make_query_show_index (PARSER_CONTEXT * parser, PT_NODE * original_cls_id)
PT_NODE * pt_make_query_show_table (PARSER_CONTEXT * parser, bool is_full_syntax, int like_where_syntax, PT_NODE * like_or_where_expr)
PT_NODE * pt_make_query_show_trace (PARSER_CONTEXT * parser)
PT_NODE * pt_make_query_showstmt (PARSER_CONTEXT * parser, unsigned int type, PT_NODE * args, int like_where_syntax, PT_NODE * like_or_where_expr)
PT_NODE * pt_make_string_value (PARSER_CONTEXT * parser, const char * value_string)
PT_NODE * pt_make_tuple_value_reference (PARSER_CONTEXT * parser, PT_NODE * name, PT_NODE * select_list, CURSOR_ID * cursor_p)
void pt_mark_spec_list_for_delete (PARSER_CONTEXT * parser, PT_NODE * statement)
void pt_mark_spec_list_for_update (PARSER_CONTEXT * parser, PT_NODE * statement)
PT_NODE * pt_name (PARSER_CONTEXT * parser, const char * name)
bool pt_name_equal (PARSER_CONTEXT * parser, const PT_NODE * name1, const PT_NODE * name2)
void * pt_node_etc (const PT_NODE * node)
PT_NODE * pt_node_list (PARSER_CONTEXT * parser, PT_MISC_TYPE list_type, PT_NODE * list)
int pt_node_list_to_array (PARSER_CONTEXT * parser, PT_NODE * arg_list, PT_NODE * arg_array, const int array_size, int * num_args)
PT_NODE * pt_node_next (const PT_NODE * node)
void pt_null_etc (PT_NODE * node)
void * pt_object_part (const PT_NODE * node)
int pt_operator_part (const PT_NODE * node)
PT_NODE * pt_order_by_part (const PT_NODE * node)
const char * pt_partition_name (PARSER_CONTEXT * parser, const char * class_name, const char * partition)
const char * pt_qualifier_part (const PT_NODE * node)
bool pt_recompile_for_like_optimizations (PARSER_CONTEXT * parser, PT_NODE * statement, int xasl_flag)
bool pt_recompile_for_limit_optimizations (PARSER_CONTEXT * parser, PT_NODE * statement, int xasl_flag)
void pt_record_warning (PARSER_CONTEXT * parser, int stmt_no, int line_no, int col_no, const char * msg)
void pt_register_orphan (PARSER_CONTEXT * parser, const PT_NODE * orphan)
void pt_register_orphan_db_value (PARSER_CONTEXT * parser, const DB_VALUE * orphan)
void pt_reset_error (PARSER_CONTEXT * parser)
void pt_rewrite_for_dblink (PARSER_CONTEXT * parser, PT_NODE * stmt)
PT_NODE * pt_rewrite_to_auto_param (PARSER_CONTEXT * parser, PT_NODE * value)
PT_NODE * pt_right_part (const PT_NODE * node)
PT_NODE * pt_select_list_part (const PT_NODE * node)
void pt_set_correlation_level (PARSER_CONTEXT * parser, PT_NODE * subquery, int level)
void pt_set_node_etc (PT_NODE * node, const void * etc)
void pt_set_pred_order (PARSER_CONTEXT * parser, PT_NODE * pre_pred, int pre_order)
void pt_set_update_object (PARSER_CONTEXT * parser, PT_NODE * node)
PT_NODE * pt_set_user_specified_name (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
bool pt_sort_spec_cover (PT_NODE * cur_list, PT_NODE * new_list)
bool pt_sort_spec_cover_for_min_max (PARSER_CONTEXT * parser, PT_NODE * tree, PT_NODE * cur_list, PT_NODE * new_list)
bool pt_sort_spec_cover_groupby (PARSER_CONTEXT * parser, PT_NODE * sort_list, PT_NODE * group_list, PT_NODE * tree)
int pt_split_delete_stmt (PARSER_CONTEXT * parser, PT_NODE * delete_stmt)
void pt_split_join_preds (PARSER_CONTEXT * parser, PT_NODE * predicates, PT_NODE ** join_part, PT_NODE ** after_cb_filter)
int pt_statement_line_number (const PT_NODE * stmt)
const char * pt_string_part (const PT_NODE * node)
PT_NODE * pt_table_option (PARSER_CONTEXT * parser, const PT_TABLE_OPTION_TYPE option, PT_NODE * val)
SORT_NULLS pt_to_null_ordering (PT_NODE * sort_spec)
PT_NODE * pt_tuple_value (PARSER_CONTEXT * parser, PT_NODE * name, CURSOR_ID * cursor_p, int index)
PT_NODE * pt_union (PARSER_CONTEXT * parser, PT_NODE * arg1, PT_NODE * arg2)
PT_NODE * pt_values_part (const PT_NODE * node)
PT_NODE * pt_where_part (const PT_NODE * node)
char * read_id (char * ps, char end_char)
void regu_set_error_with_one_args (int err_type, const char * infor)
void regu_set_error_with_zero_args (int err_type)
void regu_set_global_error (void)

Public Static Functions

Type Name
bool check_arg_valid (PARSER_CONTEXT * parser, const SHOWSTMT_NAMED_ARG * arg_meta, int arg_num, PT_NODE * val)
char * find_circle_at_char (bool ansi_quotes, bool no_escape, char * ps)
DB_DEFAULT_EXPR_TYPE parse_default_expr_type (const char * str, const int str_size, int * next_len)
int pt_add_name_col_to_sel_list (PARSER_CONTEXT * parser, PT_NODE * select, const char * identifier_str, const char * col_alias)
void pt_add_string_col_to_sel_list (PARSER_CONTEXT * parser, PT_NODE * select, const char * identifier_str, const char * col_alias)
bool pt_check_removable_like_condition (PARSER_CONTEXT * parser, PT_NODE * from, PT_NODE * expr)
PT_NODE * pt_check_sub_query_spec (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
int pt_check_update_set (PARSER_CONTEXT * parser, PT_NODE * statement, int * local_upd, int * remote_upd)
PT_NODE * pt_collect_host_info (PARSER_CONTEXT * parser, PT_NODE * node, void * h_var, int * continue_walk)
PT_NODE * pt_collect_parameters (PARSER_CONTEXT * parser, PT_NODE * node, void * param_list, int * continue_walk)
void pt_convert_dblink_delete_query (PARSER_CONTEXT * parser, PT_NODE * node, SERVER_NAME_LIST * snl)
void pt_convert_dblink_dml_query (PARSER_CONTEXT * parser, PT_NODE * node, int local_upd, int remote_upd, SERVER_NAME_LIST * snl)
void pt_convert_dblink_insert_query (PARSER_CONTEXT * parser, PT_NODE * node, SERVER_NAME_LIST * snl)
void pt_convert_dblink_merge_query (PARSER_CONTEXT * parser, PT_NODE * node, SERVER_NAME_LIST * snl)
bool pt_convert_dblink_select_query (PARSER_CONTEXT * parser, PT_NODE * query_stmt, SERVER_NAME_LIST * snl)
PT_NODE * pt_convert_dblink_synonym (PARSER_CONTEXT * parser, PT_NODE * spec, void * is_insert, int * continue_walk)
void pt_convert_dblink_update_query (PARSER_CONTEXT * parser, PT_NODE * node, SERVER_NAME_LIST * snl)
PT_NODE * pt_convert_dml (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_convert_select (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_create_delete_stmt (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * target_class)
PT_NODE * pt_create_param_for_value (PARSER_CONTEXT * parser, PT_NODE * value, int host_var_index)
bool pt_datatypes_match (const PT_NODE * a, const PT_NODE * b)
void pt_free_packing_buf (int slot)
int pt_get_query_limit_from_limit (PARSER_CONTEXT * parser, PT_NODE * limit, DB_VALUE * limit_val, bool add_offset)
int pt_get_query_limit_from_orderby_for (PARSER_CONTEXT * parser, PT_NODE * orderby_for, DB_VALUE * upper_limit, bool * has_limit)
PT_NODE * pt_get_select_from_spec (const PT_NODE * spec)
PT_NODE * pt_get_server_name_list (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
void pt_help_show_create_table (PARSER_CONTEXT * parser, PT_NODE * table_name, string_buffer & strbuf)
PT_NODE * pt_insert_host_var (PARSER_CONTEXT * parser, PT_NODE * h_var, PT_NODE * list)
bool pt_is_filtering_expression (PARSER_CONTEXT * parser, PT_NODE * expression)
bool pt_is_filtering_predicate (PARSER_CONTEXT * parser, PT_NODE * predicate)
PT_NODE * pt_is_filtering_skip_and_or (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_is_spec_referenced (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * pt_make_collection_type_subquery_node (PARSER_CONTEXT * parser, const char * table_name)
PT_NODE * pt_make_dotted_identifier (PARSER_CONTEXT * parser, const char * identifier_str)
PT_NODE * pt_make_dotted_identifier_internal (PARSER_CONTEXT * parser, const char * identifier_str, int depth)
PT_NODE * pt_make_dummy_query_check_table (PARSER_CONTEXT * parser, const char * table_name)
PT_NODE * pt_make_field_extra_expr_node (PARSER_CONTEXT * parser)
PT_NODE * pt_make_field_key_type_expr_node (PARSER_CONTEXT * parser)
PT_NODE * pt_make_field_type_expr_node (PARSER_CONTEXT * parser)
PT_NODE * pt_make_if_with_expressions (PARSER_CONTEXT * parser, PT_NODE * pred, PT_NODE * expr1, PT_NODE * expr2, const char * alias)
PT_NODE * pt_make_if_with_strings (PARSER_CONTEXT * parser, PT_NODE * pred, const char * string1, const char * string2, const char * alias)
PT_NODE * pt_make_like_col_expr (PARSER_CONTEXT * parser, PT_NODE * rhs_expr, const char * col_name)
int pt_make_outer_select_for_show_columns (PARSER_CONTEXT * parser, PT_NODE * inner_select, const char * select_alias, const char ** query_names, const char ** query_aliases, int names_length, int is_show_full, PT_NODE ** outer_node)
PT_NODE * pt_make_outer_select_for_show_stmt (PARSER_CONTEXT * parser, PT_NODE * inner_select, const char * select_alias)
PT_NODE * pt_make_pred_name_int_val (PARSER_CONTEXT * parser, PT_OP_TYPE op_type, const char * col_name, const int int_value)
PT_NODE * pt_make_pred_name_string_val (PARSER_CONTEXT * parser, PT_OP_TYPE op_type, const char * identifier_str, const char * str_value)
PT_NODE * pt_make_pred_with_identifiers (PARSER_CONTEXT * parser, PT_OP_TYPE op_type, const char * lhs_identifier, const char * rhs_identifier)
PT_NODE * pt_make_query_user_groups (PARSER_CONTEXT * parser, const char * user_name)
PARSER_VARCHAR * pt_make_remote_query (PARSER_CONTEXT * parser, char * sql_user_text, SERVER_NAME_LIST * snl)
PT_NODE * pt_make_select_count_star (PARSER_CONTEXT * parser)
PT_NODE * pt_make_sort_spec_with_identifier (PARSER_CONTEXT * parser, const char * identifier, PT_MISC_TYPE sort_mode)
PT_NODE * pt_make_sort_spec_with_number (PARSER_CONTEXT * parser, const int number_pos, PT_MISC_TYPE sort_mode)
PT_NODE * pt_mk_spec_derived_dblink_table (PARSER_CONTEXT * parser, PT_NODE * from_tbl)
PT_NODE * pt_must_be_filtering (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_process_spec_for_delete (PARSER_CONTEXT * parser, PT_NODE * spec)
PT_NODE * pt_process_spec_for_update (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * name)
PT_NODE * pt_resolve_showstmt_args_named (PARSER_CONTEXT * parser, const SHOWSTMT_NAMED_ARG * arg_infos, int arg_info_count, PT_NODE * args)
PT_NODE * pt_resolve_showstmt_args_unnamed (PARSER_CONTEXT * parser, const SHOWSTMT_NAMED_ARG * arg_infos, int arg_info_count, PT_NODE * args)
PT_NODE * pt_rewrite_derived_for_upd_del (PARSER_CONTEXT * parser, PT_NODE * spec, PT_SPEC_FLAG what_for, bool add_as_attr)
PT_NODE * pt_set_auth_bypass_mask_for_show (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * pt_set_print_in_value_for_dblink (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
char * read_string (char * ps, char end_char, bool no_escape)
char * skip_comment (char * ps)

Macros

Type Name
define COMPATIBLE_WITH_GROUPBYNUM (node) /* multi line expression */
define COMPATIBLE_WITH_INSTNUM (node) ([**pt\_is\_expr\_node**](parse__tree_8h.md#define-pt_is_expr_node) (node) && [**PT\_EXPR\_INFO\_IS\_FLAGED**](parse__tree_8h.md#define-pt_expr_info_is_flaged) (node, [**PT\_EXPR\_INFO\_INSTNUM\_C**](parse__tree_8h.md#define-pt_expr_info_instnum_c)))
define DB_ENUM_ELEMENTS_MAX_AGG_SIZE ([**DB\_PAGESIZE**](storage__common_8h.md#define-db_pagesize) / 2)
define DEFAULT_VAR "."
define NOT_COMPATIBLE_WITH_GROUPBYNUM (node) /* multi line expression */
define NOT_COMPATIBLE_WITH_INSTNUM (node) /* multi line expression */
define NULL_ATTRID -1
define SET_DBLINK_HOST_VAR_COUNT (ptspec, var_cnt) /* multi line expression */

Public Attributes Documentation

variable qp_Packing_er_code

int qp_Packing_er_code;

Public Static Attributes Documentation

variable PACKING_MMGR_BLOCK_SIZE

const int PACKING_MMGR_BLOCK_SIZE;

variable PACKING_MMGR_CHUNK_SIZE

const int PACKING_MMGR_CHUNK_SIZE;

variable packing_heap

HL_HEAPID* packing_heap;

variable packing_heap_num_slot

int packing_heap_num_slot;

variable packing_level

int packing_level;

Public Functions Documentation

function pt_add_table_name_to_from_list

PT_NODE * pt_add_table_name_to_from_list (
    PARSER_CONTEXT * parser,
    PT_NODE * select,
    const  char * table_name,
    const  char * table_alias,
    const  DB_AUTH auth_bypass
) 

function pt_alloc_packing_buf

char * pt_alloc_packing_buf (
    int size
) 

function pt_and

PT_NODE * pt_and (
    PARSER_CONTEXT * parser,
    const  PT_NODE * arg1,
    const  PT_NODE * arg2
) 

function pt_arg1_part

PT_NODE * pt_arg1_part (
    const  PT_NODE * node
) 

function pt_arg2_part

PT_NODE * pt_arg2_part (
    const  PT_NODE * node
) 

function pt_assignments_part

PT_NODE * pt_assignments_part (
    const  PT_NODE * node
) 

function pt_attrs_part

PT_NODE * pt_attrs_part (
    const  PT_NODE * node
) 

function pt_check_enum_data_type

int pt_check_enum_data_type (
    PARSER_CONTEXT * parser,
    PT_NODE * dt
) 

function pt_check_grammar_charset_collation

int pt_check_grammar_charset_collation (
    PARSER_CONTEXT * parser,
    PT_NODE * charset_node,
    PT_NODE * coll_node,
    int * charset,
    int * coll_id
) 

function pt_check_groupbynum_post

PT_NODE * pt_check_groupbynum_post (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_check_groupbynum_pre

PT_NODE * pt_check_groupbynum_pre (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_check_instnum_post

PT_NODE * pt_check_instnum_post (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_check_instnum_pre

PT_NODE * pt_check_instnum_pre (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_check_level_expr

void pt_check_level_expr (
    PARSER_CONTEXT * parser,
    PT_NODE * expr,
    bool * has_greater,
    bool * has_lesser
) 

function pt_check_ordby_num_for_multi_range_opt

bool pt_check_ordby_num_for_multi_range_opt (
    PARSER_CONTEXT * parser,
    PT_NODE * query,
    bool * mro_candidate,
    bool * cannot_eval
) 

function pt_check_orderbynum_post

PT_NODE * pt_check_orderbynum_post (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_check_orderbynum_pre

PT_NODE * pt_check_orderbynum_pre (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_check_removable_expr_post

PT_NODE * pt_check_removable_expr_post (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_check_removable_expr_pre

PT_NODE * pt_check_removable_expr_pre (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_check_subquery_post

PT_NODE * pt_check_subquery_post (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_check_subquery_pre

PT_NODE * pt_check_subquery_pre (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_chop_trailing_dots

char * pt_chop_trailing_dots (
    PARSER_CONTEXT * parser,
    const  char * msg
) 

function pt_class_names_part

PT_NODE * pt_class_names_part (
    const  PT_NODE * node
) 

function pt_class_part

PT_NODE * pt_class_part (
    const  PT_NODE * node
) 

function pt_column_updatable

bool pt_column_updatable (
    PARSER_CONTEXT * parser,
    PT_NODE * statement
) 

function pt_convert_to_logical_expr

PT_NODE * pt_convert_to_logical_expr (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    bool use_parens_inside,
    bool use_parens_outside
) 

function pt_copy_statement_flags

void pt_copy_statement_flags (
    PT_NODE * source,
    PT_NODE * destination
) 

function pt_count_name_nodes

PT_NODE * pt_count_name_nodes (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_dup_key_update_stmt

PT_NODE * pt_dup_key_update_stmt (
    PARSER_CONTEXT * parser,
    PT_NODE * spec,
    PT_NODE * assignment
) 

function pt_enter_packing_buf

void pt_enter_packing_buf (
    void
) 

function pt_entity

PT_NODE * pt_entity (
    PARSER_CONTEXT * parser,
    const  PT_NODE * entity_name,
    const  PT_NODE * range_var,
    const  PT_NODE * flat_list
) 

function pt_exit_packing_buf

void pt_exit_packing_buf (
    void
) 

function pt_expr_disallow_op_except_agg

PT_NODE * pt_expr_disallow_op_except_agg (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_expr_disallow_op_pre

PT_NODE * pt_expr_disallow_op_pre (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_expression

PT_NODE * pt_expression (
    PARSER_CONTEXT * parser,
    PT_OP_TYPE op,
    PT_NODE * arg1,
    PT_NODE * arg2,
    PT_NODE * arg3
) 

function pt_expression_0

PT_NODE * pt_expression_0 (
    PARSER_CONTEXT * parser,
    PT_OP_TYPE op
) 

function pt_expression_1

PT_NODE * pt_expression_1 (
    PARSER_CONTEXT * parser,
    PT_OP_TYPE op,
    PT_NODE * arg1
) 

function pt_expression_2

PT_NODE * pt_expression_2 (
    PARSER_CONTEXT * parser,
    PT_OP_TYPE op,
    PT_NODE * arg1,
    PT_NODE * arg2
) 

function pt_expression_3

PT_NODE * pt_expression_3 (
    PARSER_CONTEXT * parser,
    PT_OP_TYPE op,
    PT_NODE * arg1,
    PT_NODE * arg2,
    PT_NODE * arg3
) 

function pt_final_packing_buf

void pt_final_packing_buf (
    void
) 

function pt_find_aggregate_functions_post

PT_NODE * pt_find_aggregate_functions_post (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_find_aggregate_functions_pre

PT_NODE * pt_find_aggregate_functions_pre (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_find_aggregate_names

PT_NODE * pt_find_aggregate_names (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_find_name

PT_NODE * pt_find_name (
    PARSER_CONTEXT * parser,
    const  PT_NODE * name,
    const  PT_NODE * list
) 

function pt_find_node_type_pre

PT_NODE * pt_find_node_type_pre (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_find_op_type_pre

PT_NODE * pt_find_op_type_pre (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_find_spec

PT_NODE * pt_find_spec (
    PARSER_CONTEXT * parser,
    const  PT_NODE * from,
    const  PT_NODE * name
) 

function pt_find_spec_in_statement

PT_NODE * pt_find_spec_in_statement (
    PARSER_CONTEXT * parser,
    const  PT_NODE * stmt,
    const  PT_NODE * name
) 

function pt_fixup_column_type

void pt_fixup_column_type (
    PT_NODE * col
) 

function pt_free_escape_char

void pt_free_escape_char (
    PARSER_CONTEXT * const parser,
    PT_NODE * const like,
    PT_NODE * const pattern,
    PT_NODE * const escape
) 

function pt_free_host_info

void pt_free_host_info (
    PT_HOST_VARS * hv
) 

function pt_free_orphans

void pt_free_orphans (
    PARSER_CONTEXT * parser
) 

function pt_free_statement_xasl_id

void pt_free_statement_xasl_id (
    PT_NODE * statement
) 

function pt_from_entity_part

PT_NODE * pt_from_entity_part (
    const  PT_NODE * node
) 

function pt_from_list_part

PT_NODE * pt_from_list_part (
    const  PT_NODE * node
) 

function pt_get_cursor

PT_NODE * pt_get_cursor (
    const  PT_HOST_VARS * hv
) 

function pt_get_default_expression_from_data_default_node

void pt_get_default_expression_from_data_default_node (
    PARSER_CONTEXT * parser,
    PT_NODE * data_default_node,
    DB_DEFAULT_EXPR * default_expr
) 

function pt_get_default_expression_from_string

void pt_get_default_expression_from_string (
    PARSER_CONTEXT * parser,
    const  char * str,
    const  int str_size,
    DB_DEFAULT_EXPR * default_expr
) 

function pt_get_dup_key_oid_var_index

int pt_get_dup_key_oid_var_index (
    PARSER_CONTEXT * parser,
    PT_NODE * update_statement
) 

function pt_get_end_path_node

PT_NODE * pt_get_end_path_node (
    PT_NODE * node
) 

function pt_get_first_arg_ignore_prior

PT_NODE * pt_get_first_arg_ignore_prior (
    PT_NODE * node
) 

function pt_get_hint_from_query

PT_HINT_ENUM pt_get_hint_from_query (
    PARSER_CONTEXT * parser,
    PT_NODE * query
) 

function pt_get_input_host_vars

PT_NODE * pt_get_input_host_vars (
    const  PT_HOST_VARS * hv
) 

function pt_get_max_pred_order

int pt_get_max_pred_order (
    PARSER_CONTEXT * parser,
    PT_NODE * predicate
) 

function pt_get_name

const  char * pt_get_name (
    PT_NODE * nam
) 

function pt_get_name_with_qualifier_removed

const  char * pt_get_name_with_qualifier_removed (
    const  char * name
) 

function pt_get_name_without_current_user_name

const  char * pt_get_name_without_current_user_name (
    const  char * name
) 

function pt_get_output_host_descr

PT_NODE * pt_get_output_host_descr (
    PT_HOST_VARS * hv
) 

function pt_get_output_host_vars

PT_NODE * pt_get_output_host_vars (
    const  PT_HOST_VARS * hv
) 

function pt_get_parameters

PT_NODE * pt_get_parameters (
    PARSER_CONTEXT * parser,
    PT_NODE * stmt
) 

function pt_get_proxy_spec_name

const  char * pt_get_proxy_spec_name (
    PARSER_CONTEXT * parser,
    const  char * qspec
) 

function pt_get_qualifier_name

const  char * pt_get_qualifier_name (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_get_query_expr_value

int pt_get_query_expr_value (
    PARSER_CONTEXT * parser,
    PT_NODE * expr,
    DB_VALUE * expr_val
) 

function pt_get_query_limit_from_query

DB_BIGINT pt_get_query_limit_from_query (
    PARSER_CONTEXT * parser,
    PT_NODE * query
) 

function pt_get_query_limit_value

int pt_get_query_limit_value (
    PARSER_CONTEXT * parser,
    PT_NODE * query,
    DB_VALUE * limit_val,
    bool add_offset
) 

function pt_get_select_from_name

const  char * pt_get_select_from_name (
    PARSER_CONTEXT * parser,
    const  PT_NODE * spec
) 

function pt_get_select_query_columns

int pt_get_select_query_columns (
    PARSER_CONTEXT * parser,
    PT_NODE * create_select,
    DB_QUERY_TYPE ** query_columns
) 

function pt_get_spec_name

const  char * pt_get_spec_name (
    PARSER_CONTEXT * parser,
    const  PT_NODE * selqry
) 

function pt_get_subquery_of_insert_select

PT_NODE * pt_get_subquery_of_insert_select (
    const  PT_NODE * node
) 

function pt_get_warnings

PT_NODE * pt_get_warnings (
    const  PARSER_CONTEXT * parser
) 

function pt_group_by_part

PT_NODE * pt_group_by_part (
    const  PT_NODE * node
) 

function pt_groupbynum_compatibility

int pt_groupbynum_compatibility (
    PT_NODE * expr
) 

function pt_has_aggregate

bool pt_has_aggregate (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_has_analytic

bool pt_has_analytic (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_has_define_vars

bool pt_has_define_vars (
    PARSER_CONTEXT * parser,
    PT_NODE * stmt
) 

function pt_has_expr_of_inst_in_sel_list

bool pt_has_expr_of_inst_in_sel_list (
    PARSER_CONTEXT * parser,
    PT_NODE * select_list
) 

function pt_has_having_with_predicate

bool pt_has_having_with_predicate (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_has_inst_in_where_and_select_list

bool pt_has_inst_in_where_and_select_list (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_has_inst_num

bool pt_has_inst_num (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_has_inst_or_orderby_num

bool pt_has_inst_or_orderby_num (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_has_inst_or_orderby_num_in_where

bool pt_has_inst_or_orderby_num_in_where (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_has_name_oid

PT_NODE * pt_has_name_oid (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_has_non_groupby_column_node

PT_NODE * pt_has_non_groupby_column_node (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_has_non_idx_sarg_coll_pre

PT_NODE * pt_has_non_idx_sarg_coll_pre (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_has_nullable_term

bool pt_has_nullable_term (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_has_order_sensitive_agg

bool pt_has_order_sensitive_agg (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_has_path_expr

bool pt_has_path_expr (
    PARSER_CONTEXT * parser,
    PT_NODE * stmt
) 

function pt_having_part

PT_NODE * pt_having_part (
    const  PT_NODE * node
) 

function pt_host_info

PT_HOST_VARS * pt_host_info (
    PARSER_CONTEXT * parser,
    PT_NODE * stmt
) 

function pt_host_var_index

int pt_host_var_index (
    const  PT_NODE * hv
) 

function pt_insert_value

PT_NODE * pt_insert_value (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_instnum_compatibility

int pt_instnum_compatibility (
    PT_NODE * expr
) 

function pt_is_aggregate_function

bool pt_is_aggregate_function (
    PARSER_CONTEXT * parser,
    const  PT_NODE * node
) 

function pt_is_analytic_function

bool pt_is_analytic_function (
    PARSER_CONTEXT * parser,
    const  PT_NODE * node
) 

function pt_is_analytic_node

PT_NODE * pt_is_analytic_node (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_is_analytic_node_post

PT_NODE * pt_is_analytic_node_post (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_is_attr

int pt_is_attr (
    PT_NODE * node
) 

function pt_is_ddl_statement

int pt_is_ddl_statement (
    const  PT_NODE * node
) 

function pt_is_define_vars

PT_NODE * pt_is_define_vars (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_is_expr_wrapped_function

bool pt_is_expr_wrapped_function (
    PARSER_CONTEXT * parser,
    const  PT_NODE * node
) 

function pt_is_function_index_expression

int pt_is_function_index_expression (
    PT_NODE * node
) 

function pt_is_group_concat

PT_NODE * pt_is_group_concat (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_is_inst_num_node

PT_NODE * pt_is_inst_num_node (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_is_inst_num_node_post

PT_NODE * pt_is_inst_num_node_post (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_is_inst_or_inst_num_node

PT_NODE * pt_is_inst_or_inst_num_node (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_is_inst_or_orderby_num_node

PT_NODE * pt_is_inst_or_orderby_num_node (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_is_inst_or_orderby_num_node_post

PT_NODE * pt_is_inst_or_orderby_num_node_post (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_is_json_function

bool pt_is_json_function (
    PARSER_CONTEXT * parser,
    const  PT_NODE * node
) 

function pt_is_method_call

int pt_is_method_call (
    PT_NODE * node
) 

function pt_is_method_call_node

PT_NODE * pt_is_method_call_node (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_is_operator_arith

bool pt_is_operator_arith (
    PT_OP_TYPE op
) 

function pt_is_operator_logical

bool pt_is_operator_logical (
    PT_OP_TYPE op
) 

function pt_is_order_sensitive_agg

PT_NODE * pt_is_order_sensitive_agg (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_is_order_sensitive_agg_post

PT_NODE * pt_is_order_sensitive_agg_post (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_is_path_expr

PT_NODE * pt_is_path_expr (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_is_pseudocolumn_node

PT_NODE * pt_is_pseudocolumn_node (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    void * arg,
    int * continue_walk
) 

function pt_left_part

PT_NODE * pt_left_part (
    const  PT_NODE * node
) 

function pt_limit_to_numbering_expr

PT_NODE * pt_limit_to_numbering_expr (
    PARSER_CONTEXT * parser,
    PT_NODE * limit,
    PT_OP_TYPE num_op,
    bool is_gby_num
) 

function pt_list_has_logical_nodes

bool pt_list_has_logical_nodes (
    PT_NODE * list
) 

function pt_make_data_default_expr_node

PT_NODE * pt_make_data_default_expr_node (
    PARSER_CONTEXT * parser,
    PT_NODE * expr
) 

function pt_make_integer_value

PT_NODE * pt_make_integer_value (
    PARSER_CONTEXT * parser,
    const  int value_int
) 

function pt_make_query_describe_w_identifier

PT_NODE * pt_make_query_describe_w_identifier (
    PARSER_CONTEXT * parser,
    PT_NODE * original_cls_id,
    PT_NODE * att_id
) 

function pt_make_query_show_collation

PT_NODE * pt_make_query_show_collation (
    PARSER_CONTEXT * parser,
    int like_where_syntax,
    PT_NODE * like_or_where_expr
) 

function pt_make_query_show_columns

PT_NODE * pt_make_query_show_columns (
    PARSER_CONTEXT * parser,
    PT_NODE * original_cls_id,
    int like_where_syntax,
    PT_NODE * like_or_where_expr,
    int is_show_full
) 

function pt_make_query_show_create_table

PT_NODE * pt_make_query_show_create_table (
    PARSER_CONTEXT * parser,
    PT_NODE * table_name
) 

function pt_make_query_show_create_view

PT_NODE * pt_make_query_show_create_view (
    PARSER_CONTEXT * parser,
    PT_NODE * view_identifier
) 

function pt_make_query_show_exec_stats

PT_NODE * pt_make_query_show_exec_stats (
    PARSER_CONTEXT * parser
) 

function pt_make_query_show_exec_stats_all

PT_NODE * pt_make_query_show_exec_stats_all (
    PARSER_CONTEXT * parser
) 

function pt_make_query_show_grants

PT_NODE * pt_make_query_show_grants (
    PARSER_CONTEXT * parser,
    const  char * original_user_name
) 

function pt_make_query_show_grants_curr_usr

PT_NODE * pt_make_query_show_grants_curr_usr (
    PARSER_CONTEXT * parser
) 

function pt_make_query_show_index

PT_NODE * pt_make_query_show_index (
    PARSER_CONTEXT * parser,
    PT_NODE * original_cls_id
) 

function pt_make_query_show_table

PT_NODE * pt_make_query_show_table (
    PARSER_CONTEXT * parser,
    bool is_full_syntax,
    int like_where_syntax,
    PT_NODE * like_or_where_expr
) 

function pt_make_query_show_trace

PT_NODE * pt_make_query_show_trace (
    PARSER_CONTEXT * parser
) 

function pt_make_query_showstmt

PT_NODE * pt_make_query_showstmt (
    PARSER_CONTEXT * parser,
    unsigned  int type,
    PT_NODE * args,
    int like_where_syntax,
    PT_NODE * like_or_where_expr
) 

function pt_make_string_value

PT_NODE * pt_make_string_value (
    PARSER_CONTEXT * parser,
    const  char * value_string
) 

function pt_make_tuple_value_reference

PT_NODE * pt_make_tuple_value_reference (
    PARSER_CONTEXT * parser,
    PT_NODE * name,
    PT_NODE * select_list,
    CURSOR_ID * cursor_p
) 

function pt_mark_spec_list_for_delete

void pt_mark_spec_list_for_delete (
    PARSER_CONTEXT * parser,
    PT_NODE * statement
) 

function pt_mark_spec_list_for_update

void pt_mark_spec_list_for_update (
    PARSER_CONTEXT * parser,
    PT_NODE * statement
) 

function pt_name

PT_NODE * pt_name (
    PARSER_CONTEXT * parser,
    const  char * name
) 

function pt_name_equal

bool pt_name_equal (
    PARSER_CONTEXT * parser,
    const  PT_NODE * name1,
    const  PT_NODE * name2
) 

function pt_node_etc

void * pt_node_etc (
    const  PT_NODE * node
) 

function pt_node_list

PT_NODE * pt_node_list (
    PARSER_CONTEXT * parser,
    PT_MISC_TYPE list_type,
    PT_NODE * list
) 

function pt_node_list_to_array

int pt_node_list_to_array (
    PARSER_CONTEXT * parser,
    PT_NODE * arg_list,
    PT_NODE * arg_array,
    const  int array_size,
    int * num_args
) 

function pt_node_next

PT_NODE * pt_node_next (
    const  PT_NODE * node
) 

function pt_null_etc

void pt_null_etc (
    PT_NODE * node
) 

function pt_object_part

void * pt_object_part (
    const  PT_NODE * node
) 

function pt_operator_part

int pt_operator_part (
    const  PT_NODE * node
) 

function pt_order_by_part

PT_NODE * pt_order_by_part (
    const  PT_NODE * node
) 

function pt_partition_name

const  char * pt_partition_name (
    PARSER_CONTEXT * parser,
    const  char * class_name,
    const  char * partition
) 

function pt_qualifier_part

const  char * pt_qualifier_part (
    const  PT_NODE * node
) 

function pt_recompile_for_like_optimizations

bool pt_recompile_for_like_optimizations (
    PARSER_CONTEXT * parser,
    PT_NODE * statement,
    int xasl_flag
) 

function pt_recompile_for_limit_optimizations

bool pt_recompile_for_limit_optimizations (
    PARSER_CONTEXT * parser,
    PT_NODE * statement,
    int xasl_flag
) 

function pt_record_warning

void pt_record_warning (
    PARSER_CONTEXT * parser,
    int stmt_no,
    int line_no,
    int col_no,
    const  char * msg
) 

function pt_register_orphan

void pt_register_orphan (
    PARSER_CONTEXT * parser,
    const  PT_NODE * orphan
) 

function pt_register_orphan_db_value

void pt_register_orphan_db_value (
    PARSER_CONTEXT * parser,
    const  DB_VALUE * orphan
) 

function pt_reset_error

void pt_reset_error (
    PARSER_CONTEXT * parser
) 

void pt_rewrite_for_dblink (
    PARSER_CONTEXT * parser,
    PT_NODE * stmt
) 

function pt_rewrite_to_auto_param

PT_NODE * pt_rewrite_to_auto_param (
    PARSER_CONTEXT * parser,
    PT_NODE * value
) 

function pt_right_part

PT_NODE * pt_right_part (
    const  PT_NODE * node
) 

function pt_select_list_part

PT_NODE * pt_select_list_part (
    const  PT_NODE * node
) 

function pt_set_correlation_level

void pt_set_correlation_level (
    PARSER_CONTEXT * parser,
    PT_NODE * subquery,
    int level
) 

function pt_set_node_etc

void pt_set_node_etc (
    PT_NODE * node,
    const  void * etc
) 

function pt_set_pred_order

void pt_set_pred_order (
    PARSER_CONTEXT * parser,
    PT_NODE * pre_pred,
    int pre_order
) 

function pt_set_update_object

void pt_set_update_object (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_set_user_specified_name

PT_NODE * pt_set_user_specified_name (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_sort_spec_cover

bool pt_sort_spec_cover (
    PT_NODE * cur_list,
    PT_NODE * new_list
) 

function pt_sort_spec_cover_for_min_max

bool pt_sort_spec_cover_for_min_max (
    PARSER_CONTEXT * parser,
    PT_NODE * tree,
    PT_NODE * cur_list,
    PT_NODE * new_list
) 

function pt_sort_spec_cover_groupby

bool pt_sort_spec_cover_groupby (
    PARSER_CONTEXT * parser,
    PT_NODE * sort_list,
    PT_NODE * group_list,
    PT_NODE * tree
) 

function pt_split_delete_stmt

int pt_split_delete_stmt (
    PARSER_CONTEXT * parser,
    PT_NODE * delete_stmt
) 

function pt_split_join_preds

void pt_split_join_preds (
    PARSER_CONTEXT * parser,
    PT_NODE * predicates,
    PT_NODE ** join_part,
    PT_NODE ** after_cb_filter
) 

function pt_statement_line_number

int pt_statement_line_number (
    const  PT_NODE * stmt
) 

function pt_string_part

const  char * pt_string_part (
    const  PT_NODE * node
) 

function pt_table_option

PT_NODE * pt_table_option (
    PARSER_CONTEXT * parser,
    const  PT_TABLE_OPTION_TYPE option,
    PT_NODE * val
) 

function pt_to_null_ordering

SORT_NULLS pt_to_null_ordering (
    PT_NODE * sort_spec
) 

function pt_tuple_value

PT_NODE * pt_tuple_value (
    PARSER_CONTEXT * parser,
    PT_NODE * name,
    CURSOR_ID * cursor_p,
    int index
) 

function pt_union

PT_NODE * pt_union (
    PARSER_CONTEXT * parser,
    PT_NODE * arg1,
    PT_NODE * arg2
) 

function pt_values_part

PT_NODE * pt_values_part (
    const  PT_NODE * node
) 

function pt_where_part

PT_NODE * pt_where_part (
    const  PT_NODE * node
) 

function read_id

char * read_id (
    char * ps,
    char end_char
) 

function regu_set_error_with_one_args

void regu_set_error_with_one_args (
    int err_type,
    const  char * infor
) 

function regu_set_error_with_zero_args

void regu_set_error_with_zero_args (
    int err_type
) 

function regu_set_global_error

void regu_set_global_error (
    void
) 

Public Static Functions Documentation

function check_arg_valid

static bool check_arg_valid (
    PARSER_CONTEXT * parser,
    const  SHOWSTMT_NAMED_ARG * arg_meta,
    int arg_num,
    PT_NODE * val
) 

function find_circle_at_char

static char * find_circle_at_char (
    bool ansi_quotes,
    bool no_escape,
    char * ps
) 

function parse_default_expr_type

static DB_DEFAULT_EXPR_TYPE parse_default_expr_type (
    const  char * str,
    const  int str_size,
    int * next_len
) 

function pt_add_name_col_to_sel_list

static int pt_add_name_col_to_sel_list (
    PARSER_CONTEXT * parser,
    PT_NODE * select,
    const  char * identifier_str,
    const  char * col_alias
) 

function pt_add_string_col_to_sel_list

static void pt_add_string_col_to_sel_list (
    PARSER_CONTEXT * parser,
    PT_NODE * select,
    const  char * identifier_str,
    const  char * col_alias
) 

function pt_check_removable_like_condition

static bool pt_check_removable_like_condition (
    PARSER_CONTEXT * parser,
    PT_NODE * from,
    PT_NODE * expr
) 

function pt_check_sub_query_spec

static PT_NODE * pt_check_sub_query_spec (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_check_update_set

static int pt_check_update_set (
    PARSER_CONTEXT * parser,
    PT_NODE * statement,
    int * local_upd,
    int * remote_upd
) 

function pt_collect_host_info

static PT_NODE * pt_collect_host_info (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * h_var,
    int * continue_walk
) 

function pt_collect_parameters

static PT_NODE * pt_collect_parameters (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * param_list,
    int * continue_walk
) 

static void pt_convert_dblink_delete_query (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    SERVER_NAME_LIST * snl
) 

static void pt_convert_dblink_dml_query (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    int local_upd,
    int remote_upd,
    SERVER_NAME_LIST * snl
) 

static void pt_convert_dblink_insert_query (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    SERVER_NAME_LIST * snl
) 

static void pt_convert_dblink_merge_query (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    SERVER_NAME_LIST * snl
) 

static bool pt_convert_dblink_select_query (
    PARSER_CONTEXT * parser,
    PT_NODE * query_stmt,
    SERVER_NAME_LIST * snl
) 

static PT_NODE * pt_convert_dblink_synonym (
    PARSER_CONTEXT * parser,
    PT_NODE * spec,
    void * is_insert,
    int * continue_walk
) 

static void pt_convert_dblink_update_query (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    SERVER_NAME_LIST * snl
) 

function pt_convert_dml

static PT_NODE * pt_convert_dml (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_convert_select

static PT_NODE * pt_convert_select (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_create_delete_stmt

static PT_NODE * pt_create_delete_stmt (
    PARSER_CONTEXT * parser,
    PT_NODE * spec,
    PT_NODE * target_class
) 

function pt_create_param_for_value

static PT_NODE * pt_create_param_for_value (
    PARSER_CONTEXT * parser,
    PT_NODE * value,
    int host_var_index
) 

function pt_datatypes_match

static bool pt_datatypes_match (
    const  PT_NODE * a,
    const  PT_NODE * b
) 

function pt_free_packing_buf

static void pt_free_packing_buf (
    int slot
) 

function pt_get_query_limit_from_limit

static int pt_get_query_limit_from_limit (
    PARSER_CONTEXT * parser,
    PT_NODE * limit,
    DB_VALUE * limit_val,
    bool add_offset
) 

function pt_get_query_limit_from_orderby_for

static int pt_get_query_limit_from_orderby_for (
    PARSER_CONTEXT * parser,
    PT_NODE * orderby_for,
    DB_VALUE * upper_limit,
    bool * has_limit
) 

function pt_get_select_from_spec

static PT_NODE * pt_get_select_from_spec (
    const  PT_NODE * spec
) 

function pt_get_server_name_list

static PT_NODE * pt_get_server_name_list (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_help_show_create_table

static void pt_help_show_create_table (
    PARSER_CONTEXT * parser,
    PT_NODE * table_name,
    string_buffer & strbuf
) 

function pt_insert_host_var

static PT_NODE * pt_insert_host_var (
    PARSER_CONTEXT * parser,
    PT_NODE * h_var,
    PT_NODE * list
) 

function pt_is_filtering_expression

static bool pt_is_filtering_expression (
    PARSER_CONTEXT * parser,
    PT_NODE * expression
) 

function pt_is_filtering_predicate

static bool pt_is_filtering_predicate (
    PARSER_CONTEXT * parser,
    PT_NODE * predicate
) 

function pt_is_filtering_skip_and_or

static PT_NODE * pt_is_filtering_skip_and_or (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_is_spec_referenced

static PT_NODE * pt_is_spec_referenced (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function pt_make_collection_type_subquery_node

static PT_NODE * pt_make_collection_type_subquery_node (
    PARSER_CONTEXT * parser,
    const  char * table_name
) 

function pt_make_dotted_identifier

static PT_NODE * pt_make_dotted_identifier (
    PARSER_CONTEXT * parser,
    const  char * identifier_str
) 

function pt_make_dotted_identifier_internal

static PT_NODE * pt_make_dotted_identifier_internal (
    PARSER_CONTEXT * parser,
    const  char * identifier_str,
    int depth
) 

function pt_make_dummy_query_check_table

static PT_NODE * pt_make_dummy_query_check_table (
    PARSER_CONTEXT * parser,
    const  char * table_name
) 

function pt_make_field_extra_expr_node

static PT_NODE * pt_make_field_extra_expr_node (
    PARSER_CONTEXT * parser
) 

function pt_make_field_key_type_expr_node

static PT_NODE * pt_make_field_key_type_expr_node (
    PARSER_CONTEXT * parser
) 

function pt_make_field_type_expr_node

static PT_NODE * pt_make_field_type_expr_node (
    PARSER_CONTEXT * parser
) 

function pt_make_if_with_expressions

static PT_NODE * pt_make_if_with_expressions (
    PARSER_CONTEXT * parser,
    PT_NODE * pred,
    PT_NODE * expr1,
    PT_NODE * expr2,
    const  char * alias
) 

function pt_make_if_with_strings

static PT_NODE * pt_make_if_with_strings (
    PARSER_CONTEXT * parser,
    PT_NODE * pred,
    const  char * string1,
    const  char * string2,
    const  char * alias
) 

function pt_make_like_col_expr

static PT_NODE * pt_make_like_col_expr (
    PARSER_CONTEXT * parser,
    PT_NODE * rhs_expr,
    const  char * col_name
) 

function pt_make_outer_select_for_show_columns

static int pt_make_outer_select_for_show_columns (
    PARSER_CONTEXT * parser,
    PT_NODE * inner_select,
    const  char * select_alias,
    const  char ** query_names,
    const  char ** query_aliases,
    int names_length,
    int is_show_full,
    PT_NODE ** outer_node
) 

function pt_make_outer_select_for_show_stmt

static PT_NODE * pt_make_outer_select_for_show_stmt (
    PARSER_CONTEXT * parser,
    PT_NODE * inner_select,
    const  char * select_alias
) 

function pt_make_pred_name_int_val

static PT_NODE * pt_make_pred_name_int_val (
    PARSER_CONTEXT * parser,
    PT_OP_TYPE op_type,
    const  char * col_name,
    const  int int_value
) 

function pt_make_pred_name_string_val

static PT_NODE * pt_make_pred_name_string_val (
    PARSER_CONTEXT * parser,
    PT_OP_TYPE op_type,
    const  char * identifier_str,
    const  char * str_value
) 

function pt_make_pred_with_identifiers

static PT_NODE * pt_make_pred_with_identifiers (
    PARSER_CONTEXT * parser,
    PT_OP_TYPE op_type,
    const  char * lhs_identifier,
    const  char * rhs_identifier
) 

function pt_make_query_user_groups

static PT_NODE * pt_make_query_user_groups (
    PARSER_CONTEXT * parser,
    const  char * user_name
) 

function pt_make_remote_query

static PARSER_VARCHAR * pt_make_remote_query (
    PARSER_CONTEXT * parser,
    char * sql_user_text,
    SERVER_NAME_LIST * snl
) 

function pt_make_select_count_star

static PT_NODE * pt_make_select_count_star (
    PARSER_CONTEXT * parser
) 

function pt_make_sort_spec_with_identifier

static PT_NODE * pt_make_sort_spec_with_identifier (
    PARSER_CONTEXT * parser,
    const  char * identifier,
    PT_MISC_TYPE sort_mode
) 

function pt_make_sort_spec_with_number

static PT_NODE * pt_make_sort_spec_with_number (
    PARSER_CONTEXT * parser,
    const  int number_pos,
    PT_MISC_TYPE sort_mode
) 

static PT_NODE * pt_mk_spec_derived_dblink_table (
    PARSER_CONTEXT * parser,
    PT_NODE * from_tbl
) 

function pt_must_be_filtering

static PT_NODE * pt_must_be_filtering (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function pt_process_spec_for_delete

static PT_NODE * pt_process_spec_for_delete (
    PARSER_CONTEXT * parser,
    PT_NODE * spec
) 

function pt_process_spec_for_update

static PT_NODE * pt_process_spec_for_update (
    PARSER_CONTEXT * parser,
    PT_NODE * spec,
    PT_NODE * name
) 

function pt_resolve_showstmt_args_named

static PT_NODE * pt_resolve_showstmt_args_named (
    PARSER_CONTEXT * parser,
    const  SHOWSTMT_NAMED_ARG * arg_infos,
    int arg_info_count,
    PT_NODE * args
) 

function pt_resolve_showstmt_args_unnamed

static PT_NODE * pt_resolve_showstmt_args_unnamed (
    PARSER_CONTEXT * parser,
    const  SHOWSTMT_NAMED_ARG * arg_infos,
    int arg_info_count,
    PT_NODE * args
) 

function pt_rewrite_derived_for_upd_del

static PT_NODE * pt_rewrite_derived_for_upd_del (
    PARSER_CONTEXT * parser,
    PT_NODE * spec,
    PT_SPEC_FLAG what_for,
    bool add_as_attr
) 

function pt_set_auth_bypass_mask_for_show

static PT_NODE * pt_set_auth_bypass_mask_for_show (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

static PT_NODE * pt_set_print_in_value_for_dblink (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function read_string

static char * read_string (
    char * ps,
    char end_char,
    bool no_escape
) 

function skip_comment

static char * skip_comment (
    char * ps
) 

Macro Definition Documentation

define COMPATIBLE_WITH_GROUPBYNUM

#define COMPATIBLE_WITH_GROUPBYNUM (
    node
) `/* multi line expression */`

define COMPATIBLE_WITH_INSTNUM

#define COMPATIBLE_WITH_INSTNUM (
    node
) `( pt_is_expr_node (node) && PT_EXPR_INFO_IS_FLAGED (node, PT_EXPR_INFO_INSTNUM_C ))`

define DB_ENUM_ELEMENTS_MAX_AGG_SIZE

#define DB_ENUM_ELEMENTS_MAX_AGG_SIZE `( DB_PAGESIZE / 2)`

define DEFAULT_VAR

#define DEFAULT_VAR `"."`

define NOT_COMPATIBLE_WITH_GROUPBYNUM

#define NOT_COMPATIBLE_WITH_GROUPBYNUM (
    node
) `/* multi line expression */`

define NOT_COMPATIBLE_WITH_INSTNUM

#define NOT_COMPATIBLE_WITH_INSTNUM (
    node
) `/* multi line expression */`

define NULL_ATTRID

#define NULL_ATTRID `-1`

#define SET_DBLINK_HOST_VAR_COUNT (
    ptspec,
    var_cnt
) `/* multi line expression */`


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