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
Public Attributes
Public Static Attributes
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
Public Attributes Documentation
variable 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
variable packing_heap_num_slot
int packing_heap_num_slot;
variable 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
)
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
)
function pt_rewrite_for_dblink
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
)
function pt_convert_dblink_delete_query
static void pt_convert_dblink_delete_query (
PARSER_CONTEXT * parser,
PT_NODE * node,
SERVER_NAME_LIST * snl
)
function pt_convert_dblink_dml_query
static void pt_convert_dblink_dml_query (
PARSER_CONTEXT * parser,
PT_NODE * node,
int local_upd,
int remote_upd,
SERVER_NAME_LIST * snl
)
function pt_convert_dblink_insert_query
static void pt_convert_dblink_insert_query (
PARSER_CONTEXT * parser,
PT_NODE * node,
SERVER_NAME_LIST * snl
)
function pt_convert_dblink_merge_query
static void pt_convert_dblink_merge_query (
PARSER_CONTEXT * parser,
PT_NODE * node,
SERVER_NAME_LIST * snl
)
function pt_convert_dblink_select_query
static bool pt_convert_dblink_select_query (
PARSER_CONTEXT * parser,
PT_NODE * query_stmt,
SERVER_NAME_LIST * snl
)
function pt_convert_dblink_synonym
static PT_NODE * pt_convert_dblink_synonym (
PARSER_CONTEXT * parser,
PT_NODE * spec,
void * is_insert,
int * continue_walk
)
function pt_convert_dblink_update_query
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
)
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
)
function pt_mk_spec_derived_dblink_table
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
)
function pt_set_print_in_value_for_dblink
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
)
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 SET_DBLINK_HOST_VAR_COUNT
#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