CUBRID Engine  latest
parser.h File Reference
#include <stdio.h>
#include <stdarg.h>
#include "system.h"
#include "dbtype_def.h"
#include "parse_tree.h"
Include dependency graph for parser.h:

Go to the source code of this file.

Macros

#define mq_free_virtual_query_cache_and_init(virtual_query_cache)
 
#define pt_has_error(parser)   ( (parser) && ((parser)->error_msgs || (parser)->flag.has_internal_error))
 

Typedefs

typedef enum view_handling VIEW_HANDLING
 

Enumerations

enum  CASE_SENSITIVENESS { CASE_INSENSITIVE, CASE_SENSITIVE }
 
enum  view_handling { OID_NAME, VIEW_OID, CLASSOID_NAME, HIDDEN_CLASSOID_NAME }
 

Functions

PT_NODE ** parser_main (PARSER_CONTEXT *p)
 
void parser_final (void)
 
void parser_init_func_vectors (void)
 
PARSER_CONTEXTparser_create_parser (void)
 
void parser_free_parser (PARSER_CONTEXT *parser)
 
PT_NODE ** parser_parse_string (PARSER_CONTEXT *parser, const char *buffer)
 
PT_NODE ** parser_parse_string_with_escapes (PARSER_CONTEXT *parser, const char *buffer, const bool no_escapes_strings)
 
PT_NODE ** parser_parse_string_use_sys_charset (PARSER_CONTEXT *parser, const char *buffer)
 
PT_NODE ** parser_parse_file (PARSER_CONTEXT *parser, FILE *file)
 
PT_NODEparser_create_node (const PARSER_CONTEXT *parser)
 
PT_NODEparser_new_node (PARSER_CONTEXT *parser, PT_NODE_TYPE node)
 
PT_NODEparser_init_node (PT_NODE *node, PT_NODE_TYPE node_type)
 
PT_NODEparser_reinit_node (PT_NODE *node)
 
void parser_free_node_resources (PT_NODE *node)
 
void parser_free_node (const PARSER_CONTEXT *parser, PT_NODE *node)
 
void parser_free_tree (PARSER_CONTEXT *parser, PT_NODE *tree)
 
void parser_free_subtrees (PARSER_CONTEXT *parser, PT_NODE *tree)
 
void parser_clear_node (PARSER_CONTEXT *parser, PT_NODE *node)
 
PT_NODEpt_pop (PARSER_CONTEXT *parser)
 
int pt_push (PARSER_CONTEXT *parser, PT_NODE *q)
 
PT_NODEpt_top (PARSER_CONTEXT *parser)
 
PT_NODEparser_copy_tree (PARSER_CONTEXT *parser, const PT_NODE *tree)
 
PT_NODEparser_copy_tree_list (PARSER_CONTEXT *parser, PT_NODE *tree)
 
PT_NODEparser_get_tree_list_diff (PARSER_CONTEXT *parser, PT_NODE *list1, PT_NODE *list2)
 
PT_NODEparser_append_node (PT_NODE *node, PT_NODE *list)
 
PT_NODEparser_append_node_or (PT_NODE *node, PT_NODE *list)
 
PT_NODEpt_point (PARSER_CONTEXT *parser, const PT_NODE *tree)
 
PT_NODEpt_point_l (PARSER_CONTEXT *parser, const PT_NODE *tree)
 
PT_NODEpt_point_ref (PARSER_CONTEXT *parser, const PT_NODE *node)
 
PT_NODEpt_pointer_stack_push (PARSER_CONTEXT *parser, PT_NODE *stack, PT_NODE *node)
 
PT_NODEpt_pointer_stack_pop (PARSER_CONTEXT *parser, PT_NODE *stack, PT_NODE **node)
 
PT_NODEparser_walk_leaves (PARSER_CONTEXT *parser, PT_NODE *node, PT_NODE_WALK_FUNCTION pre_function, void *pre_argument, PT_NODE_WALK_FUNCTION post_function, void *post_argument)
 
PT_NODEparser_walk_tree (PARSER_CONTEXT *parser, PT_NODE *node, PT_NODE_WALK_FUNCTION pre_function, void *pre_argument, PT_NODE_WALK_FUNCTION post_function, void *post_argument)
 
PT_NODEpt_continue_walk (PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
 
char * parser_print_tree (PARSER_CONTEXT *parser, const PT_NODE *node)
 
char * parser_print_tree_with_quotes (PARSER_CONTEXT *parser, const PT_NODE *node)
 
char * parser_print_function_index_expr (PARSER_CONTEXT *parser, const PT_NODE *expr)
 
char * parser_print_tree_list (PARSER_CONTEXT *parser, const PT_NODE *p)
 
char * pt_print_alias (PARSER_CONTEXT *parser, const PT_NODE *node)
 
char * pt_short_print (PARSER_CONTEXT *parser, const PT_NODE *p)
 
char * pt_short_print_l (PARSER_CONTEXT *parser, const PT_NODE *p)
 
void * parser_alloc (const PARSER_CONTEXT *parser, const int length)
 
char * pt_append_string (const PARSER_CONTEXT *parser, const char *old_string, const char *new_tail)
 
PARSER_VARCHARpt_append_bytes (const PARSER_CONTEXT *parser, PARSER_VARCHAR *old_bytes, const char *new_tail, const int length)
 
PARSER_VARCHARpt_append_varchar (const PARSER_CONTEXT *parser, PARSER_VARCHAR *old_bytes, const PARSER_VARCHAR *new_tail)
 
PARSER_VARCHARpt_append_nulstring (const PARSER_CONTEXT *parser, PARSER_VARCHAR *old_bytes, const char *new_tail)
 
PARSER_VARCHARpt_append_name (const PARSER_CONTEXT *parser, PARSER_VARCHAR *string, const char *name)
 
const unsigned char * pt_get_varchar_bytes (const PARSER_VARCHAR *string)
 
int pt_get_varchar_length (const PARSER_VARCHAR *string)
 
PARSER_VARCHARpt_print_bytes (PARSER_CONTEXT *parser, const PT_NODE *node)
 
PARSER_VARCHARpt_print_bytes_l (PARSER_CONTEXT *parser, const PT_NODE *node)
 
PARSER_VARCHARpt_print_bytes_spec_list (PARSER_CONTEXT *parser, const PT_NODE *node)
 
PARSER_VARCHARpt_print_and_list (PARSER_CONTEXT *parser, const PT_NODE *node)
 
PARSER_VARCHARpt_print_bytes_alias (PARSER_CONTEXT *parser, const PT_NODE *node)
 
PARSER_VARCHARpt_print_node_value (PARSER_CONTEXT *parser, const PT_NODE *val)
 
PARSER_VARCHARpt_print_db_value (PARSER_CONTEXT *parser, const struct db_value *val)
 
char * pt_print_query_spec_no_list (PARSER_CONTEXT *parser, const PT_NODE *node)
 
PT_NODEpt_compile (PARSER_CONTEXT *parser, PT_NODE *volatile statement)
 
PT_NODEpt_semantic_type (PARSER_CONTEXT *parser, PT_NODE *tree, SEMANTIC_CHK_INFO *sc_info)
 
void pt_report_to_ersys (const PARSER_CONTEXT *parser, const PT_ERROR_TYPE error_type)
 
void pt_record_error (PARSER_CONTEXT *parser, int stmt_no, int line_no, int col_no, const char *msg, const char *context)
 
void pt_frob_warning (PARSER_CONTEXT *parser, const PT_NODE *statement, const char *fmt,...)
 
void pt_frob_error (PARSER_CONTEXT *parser, const PT_NODE *statement, const char *fmt,...)
 
void pt_end_query (PARSER_CONTEXT *parser, QUERY_ID query_id_self)
 
void pt_set_host_variables (PARSER_CONTEXT *parser, int count, DB_VALUE *values)
 
DB_VALUEpt_host_var_db_value (PARSER_CONTEXT *parser, PT_NODE *hv)
 
PT_NODEpt_bind_values_to_hostvars (PARSER_CONTEXT *parser, PT_NODE *node)
 
int pt_resolve_default_value (PARSER_CONTEXT *parser, PT_NODE *name)
 
DB_VALUEpt_db_value_initialize (PARSER_CONTEXT *parser, PT_NODE *value, DB_VALUE *db_value, int *more_type_info_needed)
 
PT_NODEpt_spec_to_oid_attr (PARSER_CONTEXT *parser, PT_NODE *spec, VIEW_HANDLING how)
 
int pt_length_of_list (const PT_NODE *list)
 
int pt_length_of_select_list (PT_NODE *list, int hidden_col)
 
PT_NODEpt_get_node_from_list (PT_NODE *list, int index)
 
PT_NODEpt_get_select_list (PARSER_CONTEXT *parser, PT_NODE *query)
 
PT_OP_TYPE pt_op_type_from_default_expr_type (DB_DEFAULT_EXPR_TYPE expr_type)
 
int pt_associate_label_with_value_check_reference (const char *label, DB_VALUE *val)
 
DB_VALUEpt_find_value_of_label (const char *label)
 
void pt_free_label_table (void)
 
bool pt_is_reserved_word (const char *s)
 
bool pt_is_keyword (const char *s)
 
bool pt_is_const_expr_node (PT_NODE *node)
 
PT_NODEpt_add_row_oid (PARSER_CONTEXT *parser, PT_NODE *stmt)
 
PT_NODEpt_add_row_oid_name (PARSER_CONTEXT *parser, PT_NODE *stmt)
 
PT_NODEpt_add_column_oid (PARSER_CONTEXT *parser, PT_NODE *stmt)
 
PT_NODEpt_add_row_classoid_name (PARSER_CONTEXT *parser, PT_NODE *statement, int server_op)
 
PT_NODEpt_class_pre_fetch (PARSER_CONTEXT *parser, PT_NODE *statement)
 
PT_NODEpt_compile_trigger_stmt (PARSER_CONTEXT *parser, const char *trigger_stmt, DB_OBJECT *class_op, const char *name1, const char *name2)
 
int pt_exec_trigger_stmt (PARSER_CONTEXT *parser, PT_NODE *trigger_stmt, DB_OBJECT *object1, DB_OBJECT *object2, DB_VALUE *result)
 
DB_TYPE pt_type_enum_to_db (const PT_TYPE_ENUM dt)
 
PT_TYPE_ENUM pt_db_to_type_enum (const DB_TYPE t)
 
const char * pt_type_enum_to_db_domain_name (const PT_TYPE_ENUM t)
 
DB_DOMAINpt_type_enum_to_db_domain (const PT_TYPE_ENUM t)
 
void pt_put_type_enum (PARSER_CONTEXT *parser, PT_NODE *node, PT_NODE *data_type)
 
bool pt_is_same_enum_data_type (PT_NODE *dt1, PT_NODE *dt2)
 
const char * pt_data_type_to_db_domain_name (const PT_NODE *dt)
 
DB_DOMAINpt_data_type_to_db_domain (PARSER_CONTEXT *parser, PT_NODE *dt, const char *class_name)
 
DB_DOMAINpt_node_data_type_to_db_domain (PARSER_CONTEXT *parser, PT_NODE *dt, PT_TYPE_ENUM type)
 
const char * pt_node_to_db_domain_name (PT_NODE *node)
 
DB_DOMAINpt_node_to_db_domain (PARSER_CONTEXT *parser, PT_NODE *node, const char *class_name)
 
DB_TYPE pt_node_to_db_type (PT_NODE *node)
 
PT_NODEpt_dbval_to_value (PARSER_CONTEXT *parser, const DB_VALUE *val)
 
PT_NODEpt_sm_attribute_default_value_to_node (PARSER_CONTEXT *parser, const SM_ATTRIBUTE *default_value)
 
DB_VALUEpt_seq_value_to_db (PARSER_CONTEXT *parser, PT_NODE *values, DB_VALUE *db_value, PT_NODE **el_types)
 
DB_VALUEpt_set_value_to_db (PARSER_CONTEXT *parser, PT_NODE **values, DB_VALUE *db_value, PT_NODE **el_types)
 
DB_AUTH pt_auth_to_db_auth (const PT_NODE *auth)
 
DB_DOMAINpt_string_to_db_domain (const char *s, const char *class_name)
 
DB_VALUEpt_value_to_db (PARSER_CONTEXT *parser, PT_NODE *value)
 
void pt_data_type_init_value (const PT_NODE *node, DB_VALUE *value_out)
 
int pt_coerce_value (PARSER_CONTEXT *parser, PT_NODE *src, PT_NODE *dest, PT_TYPE_ENUM desired_type, PT_NODE *elem_type_list)
 
int pt_coerce_value_for_default_value (PARSER_CONTEXT *parser, PT_NODE *src, PT_NODE *dest, PT_TYPE_ENUM desired_type, PT_NODE *elem_type_list, DB_DEFAULT_EXPR_TYPE default_expr_type)
 
PT_NODEpt_wrap_with_cast_op (PARSER_CONTEXT *parser, PT_NODE *arg, PT_TYPE_ENUM new_type, int p, int s, PT_NODE *desired_dt)
 
PT_NODEpt_wrap_collection_with_cast_op (PARSER_CONTEXT *parser, PT_NODE *arg, PT_TYPE_ENUM set_type, PT_NODE *set_data, bool for_collation)
 
int pt_wrap_select_list_with_cast_op (PARSER_CONTEXT *parser, PT_NODE *query, PT_TYPE_ENUM new_type, int p, int s, PT_NODE *data_type, bool force_wrap)
 
PT_NODEpt_append_query_select_list (PARSER_CONTEXT *parser, PT_NODE *query, PT_NODE *attrs)
 
PT_NODEpt_bind_type_from_dbval (PARSER_CONTEXT *, PT_NODE *, DB_VALUE *)
 
PT_NODEpt_cnf (PARSER_CONTEXT *parser, PT_NODE *node)
 
PT_NODEpt_sort_in_desc_order (PT_NODE *vlist)
 
void pt_add_type_to_set (PARSER_CONTEXT *parser, const PT_NODE *val, PT_NODE **set)
 
PT_OP_TYPE pt_converse_op (PT_OP_TYPE op)
 
int pt_is_between_range_op (PT_OP_TYPE op)
 
int pt_is_comp_op (PT_OP_TYPE op)
 
PT_OP_TYPE pt_negate_op (PT_OP_TYPE op)
 
int pt_comp_to_between_op (PT_OP_TYPE left, PT_OP_TYPE right, PT_COMP_TO_BETWEEN_OP_CODE_TYPE code, PT_OP_TYPE *between)
 
int pt_between_to_comp_op (PT_OP_TYPE between, PT_OP_TYPE *left, PT_OP_TYPE *right)
 
PT_NODEpt_eval_value_path (PARSER_CONTEXT *parser, PT_NODE *path)
 
bool pt_eval_path_expr (PARSER_CONTEXT *parser, PT_NODE *tree, DB_VALUE *val)
 
void pt_evaluate_tree (PARSER_CONTEXT *parser, PT_NODE *tree, DB_VALUE *db_values, int values_count)
 
void pt_evaluate_tree_having_serial (PARSER_CONTEXT *parser, PT_NODE *tree, DB_VALUE *db_value, int vals_cnt)
 
int pt_evaluate_db_value_expr (PARSER_CONTEXT *parser, PT_NODE *expr, PT_OP_TYPE op, DB_VALUE *arg1, DB_VALUE *arg2, DB_VALUE *arg3, DB_VALUE *result, TP_DOMAIN *domain, PT_NODE *o1, PT_NODE *o2, PT_NODE *o3, PT_MISC_TYPE qualifier)
 
int pt_evaluate_function_w_args (PARSER_CONTEXT *parser, FUNC_TYPE fcode, DB_VALUE *args[], const int num_args, DB_VALUE *result)
 
int pt_evaluate_function (PARSER_CONTEXT *parser, PT_NODE *func, DB_VALUE *dbval_res)
 
bool pt_is_symmetric_op (PT_OP_TYPE op)
 
void mq_free_virtual_query_cache (PARSER_CONTEXT *parser)
 
PARSER_CONTEXTmq_virtual_queries (DB_OBJECT *class_obj)
 
CUBRID_STMT_TYPE pt_node_to_cmd_type (PT_NODE *node)
 
int pt_check_if_query (PARSER_CONTEXT *parser, PT_NODE *stmt)
 
PT_NODEpt_count_input_markers (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_count_output_markers (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_has_using_index_clause (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEmeth_translate (PARSER_CONTEXT *parser, PT_NODE *volatile node)
 
const char * pt_show_partition_type (PT_PARTITION_TYPE t)
 
UINTPTR pt_find_id (PARSER_CONTEXT *parser, PT_NODE *node, UINTPTR id)
 
KEYWORD_RECORDpt_get_keyword_rec (int *rec_count)
 
int pt_type_generic_func (PARSER_CONTEXT *parser, PT_NODE *node)
 
const char * pt_show_binopcode (PT_OP_TYPE n)
 
const char * pt_show_type_enum (PT_TYPE_ENUM t)
 
const char * pt_show_misc_type (PT_MISC_TYPE p)
 
const char * pt_show_node_type (PT_NODE *p)
 
const char * pt_show_priv (PT_PRIV_TYPE t)
 
PT_NODEpt_lambda_with_arg (PARSER_CONTEXT *parser_ptr, PT_NODE *expression, PT_NODE *name, PT_NODE *named_expression, bool loc_check, int type, bool dont_replace)
 
PT_NODEpt_lambda (PARSER_CONTEXT *parser_ptr, PT_NODE *expression, PT_NODE *name, PT_NODE *named_expression)
 
int pt_quick_resolve_names (PARSER_CONTEXT *parser, PT_NODE **spec, PT_NODE **node, SEMANTIC_CHK_INFO *sc_info)
 
PT_NODEpt_resolve_names (PARSER_CONTEXT *parser, PT_NODE *statement, SEMANTIC_CHK_INFO *sc_info)
 
PT_NODEpt_resolve_cte_specs (PARSER_CONTEXT *parser, PT_NODE *stmt, void *arg, int *continue_walk)
 
PT_NODEpt_resolve_using_index (PARSER_CONTEXT *parser, PT_NODE *index, PT_NODE *from)
 
int pt_get_correlation_level (PT_NODE *node)
 
PT_NODEpt_get_subquery_list (PT_NODE *node)
 
int pt_get_expression_number (PT_NODE *node)
 
void pt_select_list_to_one_col (PARSER_CONTEXT *parser, PT_NODE *node, bool do_one)
 
PT_NODEpt_rewrite_set_eq_set (PARSER_CONTEXT *parser, PT_NODE *exp)
 
int pt_null_where (PARSER_CONTEXT *parser, PT_NODE *node)
 
PT_TYPE_ENUM pt_common_type (PT_TYPE_ENUM arg1_type, PT_TYPE_ENUM arg2_type)
 
int pt_get_one_tuple_from_list_id (PARSER_CONTEXT *parser, PT_NODE *tree, struct db_value *vals, int cnt)
 
PT_NODEpt_add_class_to_entity_list (PARSER_CONTEXT *r, struct db_object *db, PT_NODE *entity, const PT_NODE *parent, UINTPTR id, PT_MISC_TYPE meta_class)
 
int pt_check_same_datatype (const PARSER_CONTEXT *parser, const PT_NODE *p, const PT_NODE *q)
 
int pt_check_unique_names (PARSER_CONTEXT *parser, const PT_NODE *p)
 
PT_NODEpt_gather_constraints (PARSER_CONTEXT *parser, PT_NODE *tree)
 
int pt_check_set_count_set (PARSER_CONTEXT *parser, PT_NODE *arg1, PT_NODE *arg2)
 
int pt_get_expression_count (PT_NODE *node)
 
int pt_validate_query_spec (PARSER_CONTEXT *parser, PT_NODE *s, struct db_object *c)
 
PT_NODEmq_regenerate_if_ambiguous (PARSER_CONTEXT *parser, PT_NODE *spec, PT_NODE *statement, PT_NODE *from)
 
PT_NODEpt_do_cnf (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_find_entity (PARSER_CONTEXT *parser, const PT_NODE *scope, UINTPTR id)
 
int pt_find_var (PT_NODE *p, PT_NODE **result)
 
PT_NODEpt_dump (PT_NODE *node)
 
MISC_OPERAND pt_misc_to_qp_misc_operand (PT_MISC_TYPE misc_specifier)
 
void pt_report_to_ersys_with_statement (PARSER_CONTEXT *parser, const PT_ERROR_TYPE error_type, PT_NODE *statement)
 
PT_NODE ** pt_init_one_statement_parser (PARSER_CONTEXT *parser, FILE *file)
 
void pt_resolve_object (PARSER_CONTEXT *parser, PT_NODE *node)
 
int pt_resolved (const PT_NODE *expr)
 
bool pt_false_where (PARSER_CONTEXT *parser, PT_NODE *statement)
 
PT_NODEpt_where_type (PARSER_CONTEXT *parser, PT_NODE *where)
 
PT_NODEpt_where_type_keep_true (PARSER_CONTEXT *parser, PT_NODE *where)
 
bool pt_false_search_condition (PARSER_CONTEXT *parser, const PT_NODE *statement)
 
const char * mq_generate_name (PARSER_CONTEXT *parser, const char *root, int *version)
 
int mq_is_real_class_of_vclass (PARSER_CONTEXT *parser, const PT_NODE *s_class, const PT_NODE *d_class)
 
void pt_no_double_insert_assignments (PARSER_CONTEXT *parser, PT_NODE *stmt)
 
void pt_no_double_updates (PARSER_CONTEXT *parser, PT_NODE *stmt)
 
void pt_no_attr_and_meta_attr_updates (PARSER_CONTEXT *parser, PT_NODE *stmt)
 
void * pt_internal_error (PARSER_CONTEXT *parser, const char *file, int line, const char *what)
 
DB_OBJECTpt_check_user_owns_class (PARSER_CONTEXT *parser, PT_NODE *cls_ref)
 
PT_NODEpt_domain_to_data_type (PARSER_CONTEXT *parser, DB_DOMAIN *domain)
 
PT_NODEpt_flat_spec_pre (PARSER_CONTEXT *parser, PT_NODE *p, void *scope, int *continue_walk)
 
DB_QUERY_RESULTpt_new_query_result_descriptor (PARSER_CONTEXT *parser, PT_NODE *query)
 
DB_QUERY_RESULTpt_make_cache_hit_result_descriptor (void)
 
PT_NODEpt_remove_from_list (PARSER_CONTEXT *parser, PT_NODE *node, PT_NODE *list)
 
int pt_check_path_eq (PARSER_CONTEXT *parser, const PT_NODE *p, const PT_NODE *q)
 
int pt_check_class_eq (PARSER_CONTEXT *parser, PT_NODE *p, PT_NODE *q)
 
DB_QUERY_TYPEpt_get_titles (PARSER_CONTEXT *parser, PT_NODE *query)
 
DB_QUERY_TYPEpt_fillin_type_size (PARSER_CONTEXT *parser, PT_NODE *query, DB_QUERY_TYPE *list, const int include_oid, bool want_spec_entity_name, bool fixup_columns_type)
 
void pt_free_query_etc_area (PARSER_CONTEXT *parser, PT_NODE *query)
 
DB_OBJECTpt_find_users_class (PARSER_CONTEXT *parser, PT_NODE *name)
 
DB_ATTRIBUTEdb_get_attribute_force (DB_OBJECT *obj, const char *name)
 
DB_ATTRIBUTEdb_get_attributes_force (DB_OBJECT *obj)
 
PT_NODEpt_set_is_view_spec (PARSER_CONTEXT *parser, PT_NODE *node, void *dummy, int *continue_walk)
 
PT_NODEpt_resolve_star (PARSER_CONTEXT *parser, PT_NODE *from, PT_NODE *attr)
 
PT_NODEpt_bind_param_node (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
int pt_statement_have_methods (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int pt_str_compare (const char *p, const char *q, CASE_SENSITIVENESS case_flag)
 
void pt_to_regu_resolve_domain (int *p_precision, int *p_scale, const PT_NODE *node)
 
PT_NODEpt_make_prim_data_type_fortonum (PARSER_CONTEXT *parser, int prec, int scale)
 
PT_NODEpt_make_prim_data_type (PARSER_CONTEXT *parser, PT_TYPE_ENUM e)
 
int pt_find_attribute (PARSER_CONTEXT *parser, const PT_NODE *name, const PT_NODE *attributes)
 
PT_NODEpt_make_string_value (PARSER_CONTEXT *parser, const char *value_string)
 
PT_NODEpt_make_integer_value (PARSER_CONTEXT *parser, const int value_int)
 
PT_NODEpt_and (PARSER_CONTEXT *parser_ptr, const PT_NODE *expression1, const PT_NODE *expression2)
 
PT_NODEpt_union (PARSER_CONTEXT *parser_ptr, PT_NODE *expression1, PT_NODE *expression2)
 
PT_NODEpt_name (PARSER_CONTEXT *parser_ptr, const char *name)
 
PT_NODEpt_table_option (PARSER_CONTEXT *parser, const PT_TABLE_OPTION_TYPE option, PT_NODE *val)
 
PT_NODEpt_expression (PARSER_CONTEXT *parser_ptr, PT_OP_TYPE op, PT_NODE *arg1, PT_NODE *arg2, PT_NODE *arg3)
 
PT_NODEpt_expression_0 (PARSER_CONTEXT *parser_ptr, PT_OP_TYPE op)
 
PT_NODEpt_expression_1 (PARSER_CONTEXT *parser_ptr, PT_OP_TYPE op, PT_NODE *arg1)
 
PT_NODEpt_expression_2 (PARSER_CONTEXT *parser_ptr, PT_OP_TYPE op, PT_NODE *arg1, PT_NODE *arg2)
 
PT_NODEpt_expression_3 (PARSER_CONTEXT *parser_ptr, PT_OP_TYPE op, PT_NODE *arg1, PT_NODE *arg2, PT_NODE *arg3)
 
PT_NODEpt_node_list (PARSER_CONTEXT *parser_ptr, PT_MISC_TYPE list_type, PT_NODE *list)
 
PT_NODEpt_entity (PARSER_CONTEXT *parser, const PT_NODE *entity_name, const PT_NODE *range_var, const PT_NODE *flat_list)
 
PT_NODEpt_tuple_value (PARSER_CONTEXT *parser, PT_NODE *name, CURSOR_ID *cursor_p, int index)
 
PT_NODEpt_insert_value (PARSER_CONTEXT *parser, PT_NODE *node)
 
bool pt_name_equal (PARSER_CONTEXT *parser, const PT_NODE *name1, const PT_NODE *name2)
 
PT_NODEpt_find_name (PARSER_CONTEXT *parser, const PT_NODE *name, const PT_NODE *list)
 
bool pt_is_aggregate_function (PARSER_CONTEXT *parser, const PT_NODE *node)
 
bool pt_is_analytic_function (PARSER_CONTEXT *parser, const PT_NODE *node)
 
bool pt_is_expr_wrapped_function (PARSER_CONTEXT *parser, const PT_NODE *node)
 
PT_NODEpt_find_spec (PARSER_CONTEXT *parser, const PT_NODE *from, const PT_NODE *name)
 
PT_NODEpt_find_spec_in_statement (PARSER_CONTEXT *parser, const PT_NODE *stmt, const PT_NODE *name)
 
PT_NODEpt_find_aggregate_names (PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
 
PT_NODEpt_find_aggregate_functions_pre (PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
 
PT_NODEpt_find_aggregate_functions_post (PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
 
PT_NODEpt_is_analytic_node (PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
 
PT_NODEpt_has_non_idx_sarg_coll_pre (PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
 
PT_NODEpt_is_analytic_node_post (PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
 
PT_NODEpt_is_inst_or_orderby_num_node (PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
 
PT_NODEpt_is_inst_or_orderby_num_node_post (PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
 
PT_NODEpt_is_pseudocolumn_node (PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
 
PT_NODEpt_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)
 
int pt_is_ddl_statement (const PT_NODE *node)
 
int pt_is_method_call (PT_NODE *node)
 
int pt_is_attr (PT_NODE *node)
 
int pt_is_function_index_expression (PT_NODE *node)
 
int pt_instnum_compatibility (PT_NODE *expr)
 
int pt_groupbynum_compatibility (PT_NODE *expr)
 
PT_NODEpt_check_instnum_pre (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_check_instnum_post (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_check_groupbynum_pre (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_check_groupbynum_post (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_check_orderbynum_pre (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_check_orderbynum_post (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_expr_disallow_op_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)
 
PT_NODEpt_check_subquery_pre (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_check_subquery_post (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_attrs_part (const PT_NODE *insert_statement)
 
PT_NODEpt_left_part (const PT_NODE *expr)
 
PT_NODEpt_from_list_part (const PT_NODE *node)
 
PT_NODEpt_from_entity_part (const PT_NODE *node)
 
PT_NODEpt_class_part (const PT_NODE *statement)
 
PT_NODEpt_right_part (const PT_NODE *expr)
 
PT_NODEpt_get_end_path_node (PT_NODE *node)
 
PT_NODEpt_get_first_arg_ignore_prior (PT_NODE *node)
 
const char * pt_string_part (const PT_NODE *tbl)
 
PT_NODEpt_values_part (const PT_NODE *insert_statement)
 
PT_NODEpt_get_subquery_of_insert_select (const PT_NODE *insert_statement)
 
void pt_split_join_preds (PARSER_CONTEXT *parser, PT_NODE *predicates, PT_NODE **join_part, PT_NODE **after_cb_filter)
 
void pt_null_etc (PT_NODE *node)
 
void * pt_node_etc (const PT_NODE *col)
 
PT_NODEpt_node_next (const PT_NODE *node)
 
void pt_record_warning (PARSER_CONTEXT *parser, int stmt_no, int line_no, int col_no, const char *msg)
 
PT_NODEpt_get_warnings (const PARSER_CONTEXT *parser)
 
PT_NODEpt_get_errors (PARSER_CONTEXT *parser)
 
PT_NODEpt_get_next_error (PT_NODE *errors, int *stmt_no, int *line_no, int *col_no, const char **msg)
 
void pt_reset_error (PARSER_CONTEXT *parser)
 
int pt_statement_line_number (const PT_NODE *stmt)
 
const char * pt_get_select_from_name (PARSER_CONTEXT *parser, const PT_NODE *spec)
 
const char * pt_get_proxy_spec_name (const char *qspec)
 
const char * pt_get_spec_name (PARSER_CONTEXT *parser, const PT_NODE *selqry)
 
const char * pt_get_name (PT_NODE *nam)
 
PT_NODEpt_get_cursor (const PT_HOST_VARS *hv)
 
PT_NODEpt_get_parameters (PARSER_CONTEXT *parser, PT_NODE *statement)
 
bool pt_has_aggregate (PARSER_CONTEXT *parser, PT_NODE *node)
 
bool pt_has_analytic (PARSER_CONTEXT *parser, PT_NODE *node)
 
bool pt_has_inst_or_orderby_num (PARSER_CONTEXT *parser, PT_NODE *node)
 
void pt_preset_hostvar (PARSER_CONTEXT *parser, PT_NODE *hv_node)
 
void pt_set_expected_domain (PT_NODE *node, TP_DOMAIN *domain)
 
int pt_host_var_index (const PT_NODE *hv)
 
PT_NODEpt_get_input_host_vars (const PT_HOST_VARS *hv)
 
PT_NODEpt_get_output_host_vars (const PT_HOST_VARS *hv)
 
PT_HOST_VARSpt_host_info (PARSER_CONTEXT *parser, PT_NODE *stmt)
 
void pt_free_host_info (PT_HOST_VARS *hv)
 
void pt_set_update_object (PARSER_CONTEXT *parser, PT_NODE *node)
 
char * pt_chop_trailing_dots (PARSER_CONTEXT *parser, 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_free_orphans (PARSER_CONTEXT *parser)
 
bool pt_sort_spec_cover (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 dbcs_get_next (PARSER_CONTEXT *parser)
 
void dbcs_start_input (void)
 
void parser_free_lcks_classes (PARSER_CONTEXT *parser)
 
PT_NODEpt_limit_to_numbering_expr (PARSER_CONTEXT *parser, PT_NODE *limit, PT_OP_TYPE num_op, bool is_gby_num)
 
PT_NODEpt_rewrite_to_auto_param (PARSER_CONTEXT *parser, PT_NODE *value)
 
void pt_copy_statement_flags (PT_NODE *source, PT_NODE *destination)
 
void pt_set_fill_default_in_path_expression (PT_NODE *node)
 
PT_NODEpt_dup_key_update_stmt (PARSER_CONTEXT *parser, PT_NODE *spec, PT_NODE *assignment)
 
int pt_get_dup_key_oid_var_index (PARSER_CONTEXT *parser, PT_NODE *update_statement)
 
int pt_is_reference_to_reusable_oid (DB_VALUE *val)
 
int pt_get_select_query_columns (PARSER_CONTEXT *parser, PT_NODE *create_select, DB_QUERY_TYPE **query_columns)
 
void pt_fixup_column_type (PT_NODE *col)
 
int pt_node_list_to_array (PARSER_CONTEXT *parser, PT_NODE *arg_list, PT_NODE *arg_array[], const int array_size, int *num_args)
 
int pt_check_order_by (PARSER_CONTEXT *parser, PT_NODE *query)
 
void qo_do_auto_parameterize (PARSER_CONTEXT *parser, PT_NODE *where)
 
PT_NODEpt_make_query_show_table (PARSER_CONTEXT *parser, bool is_full_syntax, int like_where_syntax, PT_NODE *like_or_where_expr)
 
PT_NODEpt_make_query_showstmt (PARSER_CONTEXT *parser, unsigned int type, PT_NODE *args, int like_where_syntax, PT_NODE *where_cond)
 
PT_NODEpt_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_NODEpt_make_query_show_create_table (PARSER_CONTEXT *parser, PT_NODE *table_name)
 
PT_NODEpt_make_query_show_create_view (PARSER_CONTEXT *parser, PT_NODE *view_identifier)
 
PT_NODEpt_make_query_show_grants_curr_usr (PARSER_CONTEXT *parser)
 
PT_NODEpt_make_query_show_grants (PARSER_CONTEXT *parser, const char *original_user_name)
 
PT_NODEpt_make_query_describe_w_identifier (PARSER_CONTEXT *parser, PT_NODE *original_cls_id, PT_NODE *att_id)
 
PT_NODEpt_make_query_show_index (PARSER_CONTEXT *parser, PT_NODE *original_cls_id)
 
PT_NODEpt_make_query_show_exec_stats (PARSER_CONTEXT *parser)
 
PT_NODEpt_make_query_show_exec_stats_all (PARSER_CONTEXT *parser)
 
PT_NODEparser_make_expression (PARSER_CONTEXT *parser, PT_OP_TYPE OP, PT_NODE *arg1, PT_NODE *arg2, PT_NODE *arg3)
 
PT_NODEparser_keyword_func (const char *name, PT_NODE *args)
 
PT_NODEpt_convert_to_logical_expr (PARSER_CONTEXT *parser, PT_NODE *node, bool use_parens_inside, bool use_parens_outside)
 
bool pt_is_operator_logical (PT_OP_TYPE op)
 
bool pt_list_has_logical_nodes (PT_NODE *list)
 
bool pt_is_pseudo_const (PT_NODE *expr)
 
bool pt_is_op_hv_late_bind (PT_OP_TYPE op)
 
PT_OP_TYPE pt_op_type_from_default_expr (DB_DEFAULT_EXPR_TYPE expr_type)
 
void pt_mark_spec_list_for_update (PARSER_CONTEXT *parser, PT_NODE *statement)
 
void pt_mark_spec_list_for_delete (PARSER_CONTEXT *parser, PT_NODE *statement)
 
void pt_init_assignments_helper (PARSER_CONTEXT *parser, PT_ASSIGNMENTS_HELPER *helper, PT_NODE *assignment)
 
PT_NODEpt_get_next_assignment (PT_ASSIGNMENTS_HELPER *helper)
 
int pt_count_assignments (PARSER_CONTEXT *parser, PT_NODE *assignments)
 
void pt_restore_assignment_links (PT_NODE *assigns, PT_NODE **links, int count)
 
int pt_get_assignment_lists (PARSER_CONTEXT *parser, PT_NODE **select_names, PT_NODE **select_values, PT_NODE **const_names, PT_NODE **const_values, int *no_vals, int *no_consts, PT_NODE *assign, PT_NODE ***old_links)
 
bool pt_is_function_index_expr (PARSER_CONTEXT *parser, PT_NODE *expr, bool report_error)
 
PT_NODEpt_function_index_skip_expr (PT_NODE *node)
 
PT_NODEpt_expr_to_sort_spec (PARSER_CONTEXT *parser, PT_NODE *expr)
 
bool pt_is_join_expr (PT_NODE *expr, UINTPTR *spec_id)
 
PT_NODEpt_sort_spec_list_to_name_node_list (PARSER_CONTEXT *parser, PT_NODE *sort_spec_list)
 
DB_OBJECTpt_resolve_serial (PARSER_CONTEXT *parser, PT_NODE *serial_name_node)
 
int pt_check_grammar_charset_collation (PARSER_CONTEXT *parser, PT_NODE *charset_node, PT_NODE *coll_node, int *charset, int *coll_id)
 
bool pt_get_collation_info (const PT_NODE *node, PT_COLL_INFER *coll_infer)
 
int pt_common_collation (PT_COLL_INFER *arg1_coll_infer, PT_COLL_INFER *arg2_coll_infer, PT_COLL_INFER *arg3_coll_infer, const int args_w_coll, bool op_has_3_args, int *common_coll, INTL_CODESET *common_cs)
 
PT_NODEpt_coerce_node_collation (PARSER_CONTEXT *parser, PT_NODE *node, const int coll_id, const INTL_CODESET codeset, bool force_mode, bool use_collate_modifier, PT_TYPE_ENUM wrap_type_for_maybe, PT_TYPE_ENUM wrap_type_collection)
 
PT_NODEpt_make_tuple_value_reference (PARSER_CONTEXT *parser, PT_NODE *name, PT_NODE *select_list, CURSOR_ID *cursor_p)
 
PT_NODEpt_make_query_show_collation (PARSER_CONTEXT *parser, int like_where_syntax, PT_NODE *like_or_where_expr)
 
PT_NODEpt_find_node_type_pre (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
PT_NODEpt_find_op_type_pre (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
int pt_get_query_limit_value (PARSER_CONTEXT *parser, PT_NODE *query, DB_VALUE *limit_val)
 
bool pt_check_ordby_num_for_multi_range_opt (PARSER_CONTEXT *parser, PT_NODE *query, bool *mro_candidate, bool *cannot_eval)
 
int pt_split_delete_stmt (PARSER_CONTEXT *parser, PT_NODE *delete_stmt)
 
const char * pt_partition_name (PARSER_CONTEXT *parser, const char *class_name, const char *partition)
 
void pt_free_statement_xasl_id (PT_NODE *statement)
 
int pt_check_enum_data_type (PARSER_CONTEXT *parser, PT_NODE *dt)
 
bool pt_recompile_for_limit_optimizations (PARSER_CONTEXT *parser, PT_NODE *statement, int xasl_flag)
 
PT_NODEpt_make_query_show_trace (PARSER_CONTEXT *parser)
 
void insert_rewrite_names_in_value_clauses (PARSER_CONTEXT *parser, PT_NODE *insert_statement)
 
int pt_name_occurs_in_from_list (PARSER_CONTEXT *parser, const char *name, PT_NODE *from_list)
 
int pt_is_server_insert_with_generated_keys (PARSER_CONTEXT *parser, PT_NODE *statement)
 
int pt_prepare_count_optim_classes (PARSER_CONTEXT *parser, PT_NODE *stmt)
 
PT_NODEpt_has_non_groupby_column_node (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
void pt_get_default_expression_from_data_default_node (PARSER_CONTEXT *parser, PT_NODE *data_default_node, DB_DEFAULT_EXPR *default_expr)
 
PT_NODEpt_has_name_oid (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 

Variables

size_t json_table_column_count
 

Macro Definition Documentation

#define mq_free_virtual_query_cache_and_init (   virtual_query_cache)
Value:
do \
{ \
mq_free_virtual_query_cache ((virtual_query_cache)); \
(virtual_query_cache) = NULL; \
} \
while (0)
void mq_free_virtual_query_cache(PARSER_CONTEXT *parser)
#define NULL
Definition: freelistheap.h:34
while(1)
Definition: cnvlex.c:816

Definition at line 45 of file parser.h.

Referenced by classobj_free_class().

#define pt_has_error (   parser)    ( (parser) && ((parser)->error_msgs || (parser)->flag.has_internal_error))

Definition at line 507 of file parser.h.

Referenced by call_method(), check_default_on_update_clause(), compile_trigger_activity(), db_compile_statement_local(), db_execute_and_keep_statement_local(), db_get_input_markers(), db_get_line_col_of_1st_error(), db_get_output_markers(), db_get_parameters(), db_parse_one_statement(), db_push_values(), db_validate_query_spec(), do_alter(), do_alter_one_clause_with_template(), do_attach(), do_create_entity(), do_evaluate(), do_evaluate_insert_values(), do_execute_do(), do_execute_merge(), do_get_optimization_param(), do_get_stats(), do_insert(), do_insert_template(), do_merge(), do_prepare_merge(), do_prepare_select(), do_prepare_to_commit(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), do_replace_names_for_insert_values_pre(), do_rollback(), do_savepoint(), do_select_internal(), do_set_optimization_param(), do_set_session_variables(), do_set_sys_params(), do_set_trigger(), do_set_xaction(), execute_create_select_query(), get_att_default_from_def(), func_type::Node::get_signature(), insert_rewrite_names_in_value_clauses(), insert_subquery_results(), is_server_insert_allowed(), jsp_call_stored_procedure(), meth_translate(), meth_translate_helper(), meth_translate_local(), meth_translate_select(), mq_evaluate_expression(), mq_evaluate_expression_having_serial(), mq_fetch_expression_for_real_class_update(), mq_fetch_one_real_class_get_cache(), mq_get_attribute(), mq_get_expression(), mq_invert_insert_select(), mq_invert_insert_subquery(), mq_invert_subqueries(), mq_is_real_class_of_vclass(), mq_is_union_translation(), mq_push_paths(), mq_replace_virtual_oid_with_real_oid(), mq_resolve_insert_statement(), mq_rewrite_order_dependent_nodes(), mq_rewrite_vclass_spec_as_derived(), mq_substitute_subquery_in_statement(), mq_substitute_subquery_list_in_statement(), mq_translate_delete(), mq_translate_helper(), mq_translate_insert(), mq_translate_local(), mq_translate_select(), mq_translate_tree(), mq_translate_update(), mq_update_attribute(), mq_virtual_queries(), parser_generate_xasl(), parser_generate_xasl_post(), parser_generate_xasl_pre(), parser_generate_xasl_proc(), pt_agg_orderby_to_sort_list(), pt_append_assignment_references(), pt_attribute_to_regu(), pt_bind_name_or_path_in_scope(), pt_bind_names(), pt_bind_names_in_with_clause(), pt_bind_names_merge_insert(), pt_bind_names_merge_update(), pt_bind_scope(), pt_bind_values_to_hostvars(), pt_build_do_stmt_aptr_list_pre(), pt_check_alter_partition(), pt_check_cast_op(), pt_check_create_entity(), pt_check_create_index(), pt_check_create_view(), pt_check_cyclic_reference_in_view_spec(), pt_check_data_default(), pt_check_function_index_expr(), pt_check_method(), pt_check_odku_assignments(), pt_check_order_by(), pt_check_partitions(), pt_check_range_partition_strict_increasing(), pt_check_sub_insert(), pt_check_vclass_query_spec(), pt_check_vclass_union_spec(), pt_check_with_info(), pt_class_pre_fetch(), pt_coerce_range_expr_arguments(), pt_coerce_str_to_time_date_utime_datetime(), pt_compile_trigger_stmt(), pt_copy_upddel_hints_to_select(), pt_difference_sets(), pt_eval_expr_type(), pt_eval_path_expr(), pt_eval_type(), pt_eval_type_pre(), pt_evaluate_function(), pt_evaluate_tree_internal(), pt_expand_isnull_preds_helper(), pt_find_class_attribute(), pt_find_lck_class_from_partition(), pt_fix_first_term_func_index_for_iss(), pt_fold_const_expr(), pt_fold_union(), pt_gen_optimized_plan(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_get_all_attributes_and_types(), pt_get_proxy_spec_name(), pt_get_query_limit_from_limit(), pt_get_resolution(), pt_get_select_query_columns(), pt_internal_error(), pt_invert(), pt_make_aptr_parent_node(), pt_make_connect_by_proc(), pt_make_regu_numbering(), pt_make_subclass_list(), pt_node_to_partition_info(), pt_pop_symbol_info(), pt_print_host_var(), pt_product_sets(), pt_record_error(), pt_regu_to_dbvalue(), pt_reset_error(), pt_resolve_names(), pt_resolve_star(), pt_resolve_vclass_args(), pt_semantic_check_local(), pt_semantic_quick_check_node(), pt_semantic_type(), pt_seq_value_to_db(), pt_set_value_to_db(), pt_split_delete_stmt(), pt_string_to_db_domain(), pt_to_aggregate_node(), pt_to_buildlist_proc(), pt_to_buildvalue_proc(), pt_to_class_spec_list(), pt_to_delete_xasl(), pt_to_func_pred(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_pred_expr_local_with_arg(), pt_to_pred_with_context(), pt_to_regu_variable(), pt_to_sort_list(), pt_to_update_xasl(), pt_type_cast_vclass_query_spec(), pt_union_sets(), pt_validate_query_spec(), pt_where_type(), qo_check_condition_yields_null(), qo_rewrite_like_for_index_scan(), sm_virtual_queries(), update_class_attributes(), and validate_attribute_domain().

Typedef Documentation

Enumeration Type Documentation

Enumerator
CASE_INSENSITIVE 
CASE_SENSITIVE 

Definition at line 53 of file parser.h.

Enumerator
OID_NAME 
VIEW_OID 
CLASSOID_NAME 
HIDDEN_CLASSOID_NAME 

Definition at line 56 of file parser.h.

Function Documentation

int dbcs_get_next ( PARSER_CONTEXT parser)

Definition at line 102 of file double_byte_support.c.

References dbcs_get_next_token_wchar(), dbcs_Latter_byte, and dbcs_Latter_flag.

Referenced by parser_parse_file(), parser_parse_string_with_escapes(), and pt_init_one_statement_parser().

Here is the caller graph for this function:

void dbcs_start_input ( void  )

Definition at line 89 of file double_byte_support.c.

References CSQL_, dbcs_Input_status, dbcs_Latter_flag, DBCS_UNGET_BUF, and dbcs_Unget_buf.

Referenced by pt_init_one_statement_parser().

Here is the caller graph for this function:

PT_NODE* meth_translate ( PARSER_CONTEXT parser,
PT_NODE *volatile  node 
)

Definition at line 225 of file method_transform.c.

References meth_find_merge(), meth_translate_helper(), parser_node::next, NULL, parser_walk_tree(), PT_CLEAR_JMP_ENV, pt_do_cnf(), pt_has_error, and PT_SET_JMP_ENV.

Referenced by parser_generate_xasl().

Here is the caller graph for this function:

int mq_is_real_class_of_vclass ( PARSER_CONTEXT parser,
const PT_NODE s_class,
const PT_NODE d_class 
)
PARSER_CONTEXT* mq_virtual_queries ( DB_OBJECT class_obj)
PT_NODE* parser_append_node ( PT_NODE node,
PT_NODE list 
)

Definition at line 3066 of file parse_tree_cl.c.

References parser_node::next.

Referenced by char_array_to_name_list(), check_for_cons(), create_select_to_insert_into(), do_update_new_cols_with_default_expression(), do_update_new_notnull_cols_without_default(), fill_in_insert_default_function_arguments(), gen_outer(), meth_collapse_nodes(), meth_copy_hierarchical_expr_to_list(), meth_create_method_list(), meth_gen_as_attr_list(), meth_get_method_params(), meth_grab_cnf_conj(), meth_method_path_entities(), meth_non_method_path_entities(), meth_translate_spec(), mq_class_lambda(), mq_copypush_sargable_terms_helper(), mq_derived_path(), mq_flatten_union(), mq_insert_symbol(), mq_lambda_node(), mq_make_derived_spec(), mq_push_dot_in_query(), mq_push_path(), mq_reset_paths(), mq_rewrite_agg_names(), mq_rewrite_aggregate_as_derived(), mq_rewrite_order_dependent_nodes(), mq_rewrite_order_dependent_query(), mq_rewrite_query_as_derived(), mq_substitute_path(), mq_substitute_subquery_in_statement(), mq_substitute_subquery_list_in_statement(), mq_translate_local(), mq_translate_paths(), mq_translate_tree(), mq_update_order_by(), parser_generate_xasl_proc(), parser_get_tree_list_diff(), pt_add_name_col_to_sel_list(), pt_add_string_col_to_sel_list(), pt_add_table_name_to_from_list(), pt_append_assignment_references(), pt_append_omitted_on_update_expr_assignments(), pt_append_query_select_list(), pt_bind_names(), pt_check_access_status(), pt_check_assignments(), pt_check_create_view(), pt_check_function_index_expr(), pt_check_hint(), pt_check_order_by(), pt_check_show_index(), pt_check_table_in_show_heap(), pt_collect_parameters(), pt_common_attribute(), pt_copypush_terms(), pt_domain_to_data_type(), pt_expand_analytic_node(), pt_expr_to_sort_spec(), pt_fix_buildlist_aggregate_cume_dist_percent_rank(), pt_gather_constraints(), pt_get_all_showstmt_attributes_and_types(), pt_get_assignment_lists(), pt_get_attr_list_of_derived_table(), pt_get_attributes(), pt_get_mvcc_reev_range_data(), pt_get_pred_attrs(), pt_get_resolution(), pt_json_table_gather_attribs(), pt_make_aptr_parent_node(), pt_make_collection_type_subquery_node(), pt_make_field_extra_expr_node(), pt_make_field_key_type_expr_node(), pt_make_field_type_expr_node(), pt_make_flat_name_list(), pt_make_outer_select_for_show_stmt(), pt_make_prefix_index_data_filter(), pt_make_query_show_collation(), pt_make_query_show_columns(), pt_make_query_show_create_view(), pt_make_query_show_grants(), pt_make_query_show_index(), pt_make_query_show_table(), pt_make_query_show_trace(), pt_make_query_showstmt(), pt_make_query_user_groups(), pt_make_select_count_star(), pt_make_subclass_list(), pt_name_list_diff(), pt_name_list_union(), pt_negate_expr(), pt_number_of_attributes(), pt_point_l(), pt_print_select(), pt_propagate_types(), pt_record_error(), pt_record_warning(), pt_register_orphan(), pt_register_orphan_db_value(), pt_remove_unusable_sort_specs(), pt_resolve_showstmt_args_named(), pt_resolve_star_reserved_names(), pt_resolve_vclass_args(), pt_rewrite_derived_for_upd_del(), pt_select_list_to_one_col(), pt_semantic_check_local(), pt_set_elements_to_value(), pt_set_orderby_for_sort_limit_plan(), pt_sort_list_from_metadomain(), pt_sort_spec_list_to_name_node_list(), pt_split_attrs(), pt_split_hash_attrs(), pt_split_hash_attrs_for_HQ(), pt_split_join_preds(), pt_to_aggregate_node(), pt_to_analytic_final_node(), pt_to_buildlist_proc(), pt_to_delete_xasl(), pt_to_false_subquery(), pt_to_index_attrs(), pt_to_list_key(), pt_to_merge_insert_query(), pt_to_merge_update_query(), pt_to_merge_update_xasl(), pt_to_range_key(), pt_to_rangelist_key(), pt_to_single_key(), pt_to_upd_del_query(), pt_transform_cnf_post(), pt_type_generic_func(), qo_analyze_path_join(), qo_check_iscan_for_multi_range_opt(), qo_collect_name_spec(), qo_converse_sarg_terms(), qo_optimize_queries(), qo_plan_compute_iscan_sort_list(), qo_reduce_equality_terms(), qo_reduce_order_by(), qo_reduce_order_by_for(), qo_rewrite_subqueries(), and update_check_for_constraints().

PT_NODE* parser_append_node_or ( PT_NODE node,
PT_NODE list 
)

Definition at line 3092 of file parse_tree_cl.c.

References parser_node::or_next.

Referenced by pt_negate_expr().

Here is the caller graph for this function:

void parser_clear_node ( PARSER_CONTEXT parser,
PT_NODE node 
)

Definition at line 1465 of file parse_tree_cl.c.

References parser_free_node_resources(), and parser_free_subtrees().

Referenced by pt_coerce_value_internal().

Here is the caller graph for this function:

PT_NODE* parser_copy_tree ( PARSER_CONTEXT parser,
const PT_NODE tree 
)

Definition at line 1122 of file parse_tree_cl.c.

References copy_node_in_tree_post(), copy_node_in_tree_pre(), pt_tree_copy_info::cte_structures_list, parser_node::next, NULL, parser_walk_tree(), and pt_clean_tree_copy_info().

Referenced by do_alter_clause_rename_entity(), do_alter_one_clause_with_template(), do_create_partition(), do_evaluate_insert_values(), do_replace_names_for_insert_values_pre(), do_update_new_cols_with_default_expression(), do_update_new_notnull_cols_without_default(), execute_create_select_query(), fill_in_insert_default_function_arguments(), get_att_default_from_def(), meth_copy_hierarchical_expr_to_list(), meth_create_method_list(), meth_gen_as_attr_list(), meth_get_method_params(), meth_method_path_entities(), meth_non_method_path_entities(), meth_replace_call(), meth_replace_hierarchical_exprs(), meth_replace_method_params(), meth_translate_spec(), mq_copypush_sargable_terms_helper(), mq_derived_path(), mq_fetch_subqueries(), mq_generate_unique(), mq_insert_symbol(), mq_lambda_node(), mq_make_derived_spec(), mq_oid(), mq_push_arg2(), mq_push_dot_in_query(), mq_replace_name_with_path(), mq_rewrite_aggregate_as_derived(), mq_rewrite_order_dependent_nodes(), mq_rewrite_order_dependent_query(), mq_rewrite_query_as_derived(), mq_rewrite_vclass_spec_as_derived(), mq_set_types(), mq_substitute_path(), mq_substitute_path_pre(), mq_substitute_subquery_in_statement(), mq_translate_insert(), mq_translate_tree(), mq_update_order_by(), mq_virtual_queries(), pt_apply_union_select_list_collation(), pt_attr_check_default_cs_coll(), pt_check_alter_partition(), pt_check_analytic_function(), pt_check_auto_increment_table_option(), pt_check_function_index_expr(), pt_check_order_by(), pt_check_partitions(), pt_check_union_compatibility(), pt_collect_host_info(), pt_collect_parameters(), pt_compile_trigger_stmt(), pt_create_param_for_value(), pt_dup_key_update_stmt(), pt_eval_expr_type(), pt_eval_type(), pt_evaluate_tree_internal(), pt_exec_trigger_stmt(), pt_expr_to_sort_spec(), pt_fix_interpolation_aggregate_function_order_by(), pt_fold_const_expr(), pt_gen_isnull_preds(), pt_get_all_json_table_attributes_and_types(), pt_get_mvcc_reev_range_data(), pt_get_resolution(), pt_get_select_query_columns(), pt_insert_conjunct(), pt_insert_entity(), pt_insert_host_var(), pt_invert(), pt_json_table_gather_attribs(), pt_limit_to_numbering_expr(), pt_make_tuple_value_reference(), pt_must_have_exposed_name(), pt_negate_expr(), pt_node_to_enumeration_expr(), pt_replace_referenced_attributes(), pt_resolve_group_having_alias_pt_name(), pt_resolve_object(), pt_resolve_star(), pt_rewrite_derived_for_upd_del(), pt_rewrite_set_eq_set(), pt_select_list_to_one_col(), pt_semantic_check_local(), pt_set_table_to_db(), pt_sort_list_from_metadomain(), pt_sort_spec_list_to_name_node_list(), pt_spec_to_oid_attr(), pt_split_delete_stmt(), pt_split_hash_attrs(), pt_split_hash_attrs_for_HQ(), pt_to_merge_insert_query(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_regu_variable(), pt_transform_cnf_post(), qo_allocate_like_bound_for_index_scan(), qo_analyze_path_join(), qo_apply_range_intersection_helper(), qo_construct_new_set(), qo_converse_sarg_terms(), qo_convert_attref_to_dotexpr(), qo_find_like_rewrite_bound(), qo_get_orderby_num_upper_bound_node(), qo_make_new_derived_tblspec(), qo_merge_range_helper(), qo_reduce_equality_terms(), qo_rewrite_like_for_index_scan(), qo_rewrite_subqueries(), and qo_set_value_to_range_list().

PT_NODE* parser_copy_tree_list ( PARSER_CONTEXT parser,
PT_NODE tree 
)

Definition at line 1153 of file parse_tree_cl.c.

References copy_node_in_tree_post(), copy_node_in_tree_pre(), pt_tree_copy_info::cte_structures_list, NULL, parser_walk_tree(), pt_clean_tree_copy_info(), and pt_lambda_arg::tree.

Referenced by db_execute_and_keep_statement_local(), do_merge(), do_prepare_merge(), make_sort_limit_proc(), meth_move_hierarchical_to_derived(), meth_translate_spec(), mq_class_lambda(), mq_derived_path(), mq_invert_subqueries(), mq_lambda_node(), mq_push_arg2(), mq_push_dot_in_query(), mq_push_path(), mq_rewrite_agg_names(), mq_rewrite_vclass_spec_as_derived(), mq_set_types(), mq_set_virt_object(), mq_substitute_subquery_in_statement(), mq_translate_paths(), mq_translate_subqueries(), mq_translate_tree(), mq_update_order_by(), mq_virtual_queries(), pt_add_type_to_set(), pt_apply_union_select_list_collation(), pt_assignment_compatible(), pt_bind_names(), pt_bind_spec_attrs(), pt_check_vclass_query_spec(), pt_coerce_expression_argument(), pt_coerce_node_collation(), pt_coerce_value_internal(), pt_copy_data_type_entity(), pt_copy_upddel_hints_to_select(), pt_copypush_terms(), pt_eval_expr_type(), pt_eval_function_type_old(), pt_eval_type(), pt_expand_analytic_node(), pt_expand_external_path(), pt_find_name_in_spec(), pt_fold_const_expr(), pt_gen_isnull_preds(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_get_attr_list_of_derived_table(), pt_get_resolution(), pt_get_select_list(), pt_insert_conjunct(), pt_lambda_node(), pt_make_cast_with_compatible_info(), pt_make_connect_by_proc(), pt_make_method_call(), pt_make_prefix_index_data_filter(), pt_object_to_data_type(), pt_propagate_types(), pt_resolve_star(), pt_resolve_vclass_args(), pt_rewrite_derived_for_upd_del(), pt_select_list_to_one_col(), pt_set_attr_list_types(), pt_set_reserved_name_key_type(), pt_spec_to_oid_attr(), pt_substitute_assigned_name_node(), pt_to_analytic_node(), pt_to_compatible_cast(), pt_to_merge_insert_query(), pt_to_merge_update_query(), pt_to_merge_update_xasl(), pt_to_upd_del_query(), pt_transform_cnf_post(), pt_type_cast_vclass_query_spec(), pt_type_cast_vclass_query_spec_column(), pt_upd_domain_info(), pt_values_query_to_compatible_cast(), pt_wrap_collection_with_cast_op(), pt_wrap_with_cast_op(), qo_analyze_path_join(), qo_check_condition_yields_null(), qo_construct_new_set(), qo_reduce_equality_terms(), qo_rewrite_like_for_index_scan(), and func_type::Node::set_return_type().

void parser_final ( void  )

Definition at line 884 of file parse_evaluate.c.

References pt_final_packing_buf(), and pt_free_label_table().

Referenced by boot_client_all_finalize().

Here is the caller graph for this function:

void parser_free_lcks_classes ( PARSER_CONTEXT parser)

Definition at line 1310 of file parse_tree.c.

References free_and_init, i, parser_context::lcks_classes, and parser_context::num_lcks_classes.

Referenced by parser_free_parser(), and pt_class_pre_fetch().

Here is the caller graph for this function:

void parser_free_node ( const PARSER_CONTEXT parser,
PT_NODE node 
)
void parser_free_subtrees ( PARSER_CONTEXT parser,
PT_NODE tree 
)

Definition at line 1458 of file parse_tree_cl.c.

References free_node_in_tree_post(), free_node_in_tree_pre(), NULL, and parser_walk_leaves().

Referenced by parser_clear_node(), and pt_check_union_type_compatibility_of_values_query().

Here is the caller graph for this function:

void parser_free_tree ( PARSER_CONTEXT parser,
PT_NODE tree 
)

Definition at line 1446 of file parse_tree_cl.c.

References free_node_in_tree_post(), free_node_in_tree_pre(), NULL, and parser_walk_tree().

Referenced by add_access_spec(), add_sort_spec(), check_for_cons(), compile_trigger_activity(), create_select_to_insert_into(), db_close_session_local(), db_drop_all_statements(), db_drop_statement(), db_execute_and_keep_statement_local(), db_execute_statement_local(), db_parse_one_statement(), do_alter_clause_rename_entity(), do_alter_one_clause_with_template(), do_create_odku_stmt(), do_create_partition(), do_evaluate_insert_values(), do_execute_merge(), do_insert(), do_insert_template(), do_merge(), do_prepare_delete(), do_prepare_insert(), do_prepare_merge(), do_prepare_update(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), do_replace_names_for_insert_values_pre(), do_update_new_cols_with_default_expression(), do_update_new_notnull_cols_without_default(), execute_create_select_query(), fill_in_insert_default_function_arguments(), free_activity(), gen_inner(), gen_outer(), get_att_default_from_def(), get_select_list_to_update(), init_class_scan_proc(), init_list_scan_proc(), insert_subquery_results(), is_server_update_allowed(), make_fetch_proc(), make_mergelist_proc(), make_pred_from_bitset(), make_sort_limit_proc(), meth_create_method_list(), meth_move_hierarchical_to_derived(), meth_replace_hierarchical_exprs(), meth_translate_spec(), mq_class_lambda(), mq_clean_dot(), mq_copypush_sargable_terms_helper(), mq_fetch_subqueries(), mq_free_virtual_query_cache(), mq_invert_insert_select(), mq_invert_subqueries(), mq_is_real_class_of_vclass(), mq_lambda_node(), mq_oid(), mq_path_spec_lambda(), mq_push_arg2(), mq_push_path(), mq_push_paths_select(), mq_replace_name_with_path(), mq_replace_virtual_oid_with_real_oid(), mq_reset_ids_and_references_helper(), mq_reset_paths(), mq_rewrite_agg_names(), mq_rewrite_vclass_spec_as_derived(), mq_set_references_local(), mq_set_types(), mq_set_virt_object(), mq_substitute_path(), mq_substitute_path_pre(), mq_substitute_subquery_in_statement(), mq_translate_insert(), mq_translate_paths(), mq_translate_tree(), mq_update_attribute(), mq_virtual_queries(), parser_generate_xasl(), pt_add_oid_to_select_list(), pt_add_type_to_set(), pt_and_or_form(), pt_append_omitted_on_update_expr_assignments(), pt_apply_union_select_list_collation(), pt_assignment_compatible(), pt_attr_check_default_cs_coll(), pt_bind_names(), pt_bind_names_post(), pt_bind_parameter(), pt_bind_parameter_path(), pt_bind_reserved_name(), pt_bind_spec_attrs(), pt_bind_value_to_hostvar_local(), pt_check_alter_partition(), pt_check_analytic_function(), pt_check_and_replace_hostvar(), pt_check_assignments(), pt_check_auto_increment_table_option(), pt_check_default_vclass_query_spec(), pt_check_group_concat_order_by(), pt_check_hint(), pt_check_order_by(), pt_check_union_compatibility(), pt_check_union_type_compatibility_of_values_query(), pt_chop_to_one_select_item(), pt_coerce_range_expr_arguments(), pt_coerce_str_to_time_date_utime_datetime(), pt_dup_key_update_stmt(), pt_eval_expr_type(), pt_eval_type(), pt_evaluate_tree_internal(), pt_exec_trigger_stmt(), pt_expand_analytic_node(), pt_find_attr_in_class_list(), pt_fix_enumeration_comparison(), pt_fix_first_term_expr_for_iss(), pt_fix_first_term_func_index_for_iss(), pt_fold_const_expr(), pt_fold_const_function(), pt_fold_union(), pt_free_escape_char(), pt_free_orphans(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_get_all_attributes_and_types(), pt_get_all_showstmt_attributes_and_types(), pt_get_mvcc_reev_range_data(), pt_get_pred_attrs(), pt_get_resolution(), pt_get_select_list(), pt_get_select_query_columns(), pt_init_pred_expr_context(), pt_insert_entity(), pt_limit_to_numbering_expr(), pt_make_aptr_parent_node(), pt_make_cast_with_compatible_info(), pt_make_connect_by_proc(), pt_make_outer_select_for_show_columns(), pt_make_prefix_index_data_filter(), pt_make_prim_data_type(), pt_make_prim_data_type_fortonum(), pt_make_query_show_columns(), pt_make_query_show_index(), pt_make_query_showstmt(), pt_mvcc_flag_specs_assign_reev(), pt_mvcc_flag_specs_cond_reev(), pt_mvcc_set_spec_assign_reev_extra_indexes(), pt_name_list_diff(), pt_negate_expr(), pt_plan_query(), pt_point_l(), pt_pointer_stack_pop(), pt_print_host_var(), pt_propagate_types(), pt_remove_from_list(), pt_remove_unusable_sort_specs(), pt_replace_names_in_update_values(), pt_replace_names_index_expr(), pt_reset_error(), pt_resolve_correlation(), pt_resolve_default_value(), pt_resolve_hint(), pt_resolve_names(), pt_resolve_partition_spec(), pt_resolve_star_reserved_names(), pt_resolve_vclass_args(), pt_rewrite_set_eq_set(), pt_rewrite_to_auto_param(), pt_select_list_to_one_col(), pt_set_attr_list_types(), pt_set_orderby_for_sort_limit_plan(), pt_set_table_to_db(), pt_set_trigger_obj_post(), pt_set_update_object(), pt_sm_attribute_default_value_to_node(), pt_sort_list_from_metadomain(), pt_split_attrs(), pt_split_delete_stmt(), pt_split_hash_attrs(), pt_split_hash_attrs_for_HQ(), pt_substitute_analytic_references(), pt_substitute_assigned_name_node(), pt_to_analytic_final_node(), pt_to_buildlist_proc(), pt_to_class_spec_list(), pt_to_compatible_cast(), pt_to_constraint_pred(), pt_to_cte_table_spec_list(), pt_to_delete_xasl(), pt_to_false_subquery(), pt_to_fetch_as_scan_proc(), pt_to_index_attrs(), pt_to_list_key(), pt_to_merge_insert_query(), pt_to_merge_insert_xasl(), pt_to_merge_update_query(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_range_key(), pt_to_rangelist_key(), pt_to_regu_variable(), pt_to_single_key(), pt_to_subquery_table_spec_list(), pt_to_upd_del_query(), pt_to_update_xasl(), pt_transform_cnf_post(), pt_try_remove_order_by(), pt_type_cast_vclass_query_spec(), pt_type_cast_vclass_query_spec_column(), pt_values_query_to_compatible_cast(), pt_where_type(), qo_add_hq_iterations_access_spec(), qo_allocate_like_bound_for_index_scan(), qo_analyze_path_join(), qo_apply_range_intersection(), qo_apply_range_intersection_helper(), qo_check_condition_yields_null(), qo_check_iscan_for_multi_range_opt(), qo_converse_sarg_terms(), qo_convert_to_range(), qo_convert_to_range_helper(), qo_find_like_rewrite_bound(), qo_fold_is_and_not_null(), qo_get_orderby_num_upper_bound_node(), qo_merge_range_helper(), qo_optimize_queries_post(), qo_plan_add_to_free_list(), qo_plan_is_orderby_skip_candidate(), qo_reduce_comp_pair_terms(), qo_reduce_equality_terms(), qo_reduce_order_by(), qo_reduce_order_by_for(), qo_replace_spec_name_with_null(), qo_rewrite_hidden_col_as_derived(), qo_rewrite_index_hints(), qo_rewrite_like_for_index_scan(), qo_rewrite_one_like_term(), qo_rewrite_subqueries(), qo_set_value_to_range_list(), qo_term_free(), replace_names_alter_chg_attr(), select_delete_list(), update_check_for_constraints(), and update_real_class().

PT_NODE* parser_get_tree_list_diff ( PARSER_CONTEXT parser,
PT_NODE list1,
PT_NODE list2 
)

Definition at line 1175 of file parse_tree_cl.c.

References CAST_POINTER_TO_NODE, parser_node::next, NULL, parser_append_node(), and pt_point().

Referenced by pt_get_mvcc_reev_range_data(), and pt_make_prefix_index_data_filter().

Here is the caller graph for this function:

void parser_init_func_vectors ( void  )

Definition at line 16739 of file parse_tree_cl.c.

References pt_apply_f, pt_init_apply_f(), pt_init_f, pt_init_init_f(), pt_init_print_f(), and pt_print_f.

Referenced by parser_create_parser().

Here is the caller graph for this function:

PT_NODE* parser_keyword_func ( const char *  name,
PT_NODE args 
)

Referenced by pt_make_field_type_expr_node(), and pt_make_query_show_grants().

Here is the caller graph for this function:

PT_NODE** parser_main ( PARSER_CONTEXT p)

Referenced by parser_parse_file(), and parser_parse_string_with_escapes().

Here is the caller graph for this function:

PT_NODE* parser_new_node ( PARSER_CONTEXT parser,
PT_NODE_TYPE  node 
)

Definition at line 2153 of file parse_tree_cl.c.

References g_query_string, g_query_string_len, parser_create_node(), parser_init_node(), pt_parser_line_col(), parser_node::sql_user_text, and parser_node::sql_user_text_len.

Referenced by build_graph_for_entity(), copy_node_in_tree_pre(), create_select_to_insert_into(), do_create_odku_stmt(), do_create_partition(), do_replace_names_for_insert_values_pre(), fill_in_insert_default_function_arguments(), meth_add_conj(), meth_gen_as_attr_list(), meth_grab_conj(), meth_make_unique_range_var(), meth_translate_spec(), mq_bump_order_dep_corr_lvl_pre(), mq_class_lambda(), mq_derived_path(), mq_fetch_subqueries(), mq_invert_assign(), mq_make_derived_spec(), mq_new_spec(), mq_push_dot_in_query(), mq_rewrite_aggregate_as_derived(), mq_rewrite_order_dependent_query(), mq_rewrite_query_as_derived(), mq_rewrite_vclass_spec_as_derived(), mq_translate_insert(), parser_generate_xasl(), parser_generate_xasl_proc(), pt_add_type_to_set(), pt_and(), pt_append_omitted_on_update_expr_assignments(), pt_attr_check_default_cs_coll(), pt_bind_helper(), pt_check_analytic_function(), pt_check_assignments(), pt_check_default_vclass_query_spec(), pt_check_group_concat_order_by(), pt_check_hint(), pt_check_order_by(), pt_check_union_type_compatibility_of_values_query(), pt_coerce_node_collation(), pt_coerce_range_expr_arguments(), pt_compare_bounds_to_value(), pt_compile_trigger_stmt(), pt_convert_to_logical_expr(), pt_create_delete_stmt(), pt_create_param_for_value(), pt_create_pt_expr_and_node(), pt_create_pt_expr_equal_node(), pt_create_pt_name(), pt_dbval_to_value(), pt_derive_attribute(), pt_domain_to_data_type(), pt_dup_key_update_stmt(), pt_entity(), pt_eval_expr_type(), pt_eval_type(), pt_evaluate_tree_internal(), pt_expand_analytic_node(), pt_expand_external_path(), pt_expr_to_sort_spec(), pt_expression(), pt_filter_pseudo_specs(), pt_find_attr_in_class_list(), pt_find_omitted_default_expr(), pt_fix_buildlist_aggregate_cume_dist_percent_rank(), pt_fix_enumeration_comparison(), pt_fix_interpolation_aggregate_function_order_by(), pt_fold_const_expr(), pt_fold_union(), pt_gen_isnull_preds(), pt_get_attributes(), pt_get_object_data_type(), pt_get_resolution(), pt_insert_conjunct(), pt_insert_entity(), pt_insert_value(), pt_invert(), pt_limit_to_numbering_expr(), pt_make_cast_with_compatible_info(), pt_make_collation_expr_node(), pt_make_collection_type_subquery_node(), pt_make_dotted_identifier_internal(), pt_make_field_key_type_expr_node(), pt_make_field_type_expr_node(), pt_make_integer_value(), pt_make_method_call(), pt_make_outer_select_for_show_columns(), pt_make_outer_select_for_show_stmt(), pt_make_pred_term_is(), pt_make_prim_data_type(), pt_make_prim_data_type_fortonum(), pt_make_query_show_collation(), pt_make_query_show_columns(), pt_make_query_show_create_table(), pt_make_query_show_create_view(), pt_make_query_show_grants(), pt_make_query_show_index(), pt_make_query_show_table(), pt_make_query_show_trace(), pt_make_query_showstmt(), pt_make_query_user_groups(), pt_make_select_count_star(), pt_make_sort_spec_with_identifier(), pt_make_sort_spec_with_number(), pt_make_string_value(), pt_must_have_exposed_name(), pt_name(), pt_negate_expr(), pt_node_list(), pt_node_to_enumeration_expr(), pt_object_to_data_type(), pt_point(), pt_query_to_set_table(), pt_record_error(), pt_record_warning(), pt_register_orphan(), pt_register_orphan_db_value(), pt_resolve_default_value(), pt_resolve_object(), pt_resolve_vclass_args(), pt_rewrite_set_eq_set(), pt_select_list_to_one_col(), pt_set_default_data_type(), pt_set_orderby_for_sort_limit_plan(), pt_set_update_object(), pt_sm_attribute_default_value_to_node(), pt_spec_to_oid_attr(), pt_table_option(), pt_to_aggregate_node(), pt_to_analytic_node(), pt_to_constraint_pred(), pt_to_false_subquery(), pt_to_list_key(), pt_to_merge_insert_query(), pt_to_merge_update_query(), pt_to_odku_info(), pt_to_pred_expr_local_with_arg(), pt_to_range_key(), pt_to_rangelist_key(), pt_to_regu_variable(), pt_to_single_key(), pt_to_upd_del_query(), pt_tuple_value(), pt_type_cast_vclass_query_spec_column(), pt_type_generic_func(), pt_union(), pt_union_compatible(), pt_upd_domain_info(), pt_where_type(), pt_where_type_keep_true(), pt_wrap_collection_with_cast_op(), pt_wrap_with_cast_op(), qo_analyze_path_join(), qo_apply_range_intersection(), qo_construct_new_set(), qo_convert_to_range_helper(), qo_find_like_rewrite_bound(), qo_get_orderby_num_upper_bound_node(), qo_make_new_derived_tblspec(), qo_plan_compute_iscan_sort_list(), qo_reduce_comp_pair_terms(), qo_reduce_order_by(), qo_reduce_order_by_for(), qo_rewrite_subqueries(), and qo_set_value_to_range_list().

char* parser_print_function_index_expr ( PARSER_CONTEXT parser,
const PT_NODE expr 
)
char* parser_print_tree_list ( PARSER_CONTEXT parser,
const PT_NODE p 
)

Definition at line 2745 of file parse_tree_cl.c.

References NULL, and pt_print_bytes_l().

Referenced by mq_translate_tree(), pt_short_print_l(), qo_scan_fprint(), and qo_scan_info().

Here is the caller graph for this function:

PT_NODE* parser_walk_tree ( PARSER_CONTEXT parser,
PT_NODE node,
PT_NODE_WALK_FUNCTION  pre_function,
void *  pre_argument,
PT_NODE_WALK_FUNCTION  post_function,
void *  post_argument 
)

Definition at line 973 of file parse_tree_cl.c.

References pt_walk_arg::continue_walk, NULL, pt_walk_arg::post_argument, pt_walk_arg::post_function, pt_walk_arg::pre_argument, pt_walk_arg::pre_function, PT_CONTINUE_WALK, and pt_walk_private().

Referenced by compile_trigger_activity(), db_can_execute_statement_with_autocommit(), db_number_of_output_markers(), do_check_internal_statements(), do_evaluate_insert_values(), do_execute_select(), do_execute_session_statement(), do_insert_template(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), emit_query_specs(), get_term_subqueries(), insert_local(), insert_rewrite_names_in_value_clauses(), insert_subquery_results(), is_server_insert_allowed(), make_sort_limit_proc(), meth_bump_correlation_level(), meth_copy_hierarchical_expr_to_list(), meth_create_method_list(), meth_find_hierarchical_in_method_list(), meth_grab_cnf_conj(), meth_grab_conj(), meth_push_conjuncts(), meth_refs_to_scope(), meth_replace_hierarchical_exprs(), meth_replace_method_calls(), meth_translate(), meth_translate_helper(), meth_translate_select(), meth_translate_spec(), mq_bump_correlation_level(), mq_bump_order_dep_corr_lvl(), mq_class_lambda(), mq_clear_ids(), mq_copypush_sargable_terms_helper(), mq_derived_path(), mq_evaluate_expression(), mq_evaluate_expression_having_serial(), mq_fix_derived(), mq_get_references_node(), mq_has_class_methods_corr_subqueries(), mq_is_pushable_subquery(), mq_is_referenced(), mq_lambda(), mq_mark_location(), mq_new_spec(), mq_oid(), mq_optimize(), mq_path_name_lambda(), mq_path_spec_lambda(), mq_push_path(), mq_rename_resolved(), mq_reset_ids(), mq_reset_ids_and_references_helper(), mq_reset_ids_in_methods(), mq_reset_ids_in_statement(), mq_reset_select_specs(), mq_reset_spec_ids(), mq_reset_specs_from_column(), mq_resolve_insert_statement(), mq_rewrite_agg_names(), mq_rewrite_aggregate_as_derived(), mq_set_references_local(), mq_substitute_path(), mq_substitute_select_in_statement(), mq_translate_helper(), mq_translate_insert(), mq_translate_subqueries(), parser_copy_tree(), parser_copy_tree_list(), parser_free_tree(), parser_generate_xasl(), pt_bind_names(), pt_bind_names_in_cte(), pt_bind_names_merge_insert(), pt_bind_names_merge_update(), pt_bind_names_post(), pt_bind_scope(), pt_bind_values_to_hostvars(), pt_build_do_stmt_aptr_list(), pt_check_alter_partition(), pt_check_create_view(), pt_check_cyclic_reference_in_view_spec(), pt_check_data_default(), pt_check_drop(), pt_check_filter_index_expr(), pt_check_for_update_clause(), pt_check_function_index_expr(), pt_check_grant_revoke(), pt_check_partitions(), pt_check_single_valued_node(), pt_check_sub_insert(), pt_check_truncate(), pt_check_vacuum(), pt_check_vclass_query_spec(), pt_check_with_info(), pt_check_xaction_list(), pt_class_pre_fetch(), pt_cnf(), pt_exec_trigger_stmt(), pt_expand_isnull_preds(), pt_expand_isnull_preds_helper(), pt_filter_pseudo_specs(), pt_find_aggregate_analytic_in_where(), pt_find_aggregate_functions_pre(), pt_find_id(), pt_flat_spec_pre(), pt_get_all_json_table_attributes_and_types(), pt_get_parameters(), pt_get_resolution(), pt_has_aggregate(), pt_has_analytic(), pt_has_inst_or_orderby_num(), pt_has_modified_class(), pt_has_parameters(), pt_has_reev_in_subquery(), pt_host_info(), pt_is_filtering_expression(), pt_is_filtering_predicate(), pt_is_spec_referenced(), pt_lambda_with_arg(), pt_mark_group_having_pt_name(), pt_quick_resolve_names(), pt_replace_names_in_update_values(), pt_resolve_cte_specs(), pt_resolve_names(), pt_semantic_check_local(), pt_semantic_type(), pt_set_connect_by_operator_node_etc(), pt_set_iscycle_node_etc(), pt_set_isleaf_node_etc(), pt_set_level_node_etc(), pt_set_numbering_node_etc(), pt_set_qprior_node_etc(), pt_split_access_if_instnum(), pt_split_delete_stmt(), pt_split_hash_attrs(), pt_split_hash_attrs_for_HQ(), pt_split_having_grbynum(), pt_split_if_instnum(), pt_statement_have_methods(), pt_table_compatible(), pt_to_aggregate(), pt_to_buildlist_proc(), pt_to_corr_subquery_list(), pt_to_insert_xasl(), pt_to_merge_update_query(), pt_to_pred_expr_with_arg(), pt_transform_cnf_post(), pt_uncorr_pre(), pt_validate_query_spec(), qo_analyze_path_join(), qo_analyze_term(), qo_check_condition_yields_null(), qo_check_nullable_expr_with_spec(), qo_expr_segs(), qo_optimize_helper(), qo_optimize_queries(), qo_reduce_equality_terms(), qo_reduce_order_by(), qo_rewrite_innerjoin(), qo_rewrite_like_terms(), qo_rewrite_oid_equality(), qo_rewrite_outerjoin(), qo_rewrite_subqueries(), qo_validate(), qo_validate_index_attr_notnull(), and set_seg_expr().

PT_NODE* pt_add_class_to_entity_list ( PARSER_CONTEXT r,
struct db_object db,
PT_NODE entity,
const PT_NODE parent,
UINTPTR  id,
PT_MISC_TYPE  meta_class 
)

Definition at line 3954 of file name_resolution.c.

References parser_node::column_number, parser_node::line_number, NULL, pt_make_subclass_list(), and pt_name_list_union().

Referenced by pt_add_type_to_set(), and pt_domain_to_data_type().

Here is the caller graph for this function:

PT_NODE* pt_add_column_oid ( PARSER_CONTEXT parser,
PT_NODE stmt 
)
PT_NODE* pt_add_row_classoid_name ( PARSER_CONTEXT parser,
PT_NODE statement,
int  server_op 
)

Definition at line 361 of file compile.c.

References CLASSOID_NAME, HIDDEN_CLASSOID_NAME, and pt_add_oid_to_select_list().

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

Here is the caller graph for this function:

PT_NODE* pt_add_row_oid ( PARSER_CONTEXT parser,
PT_NODE stmt 
)

Definition at line 333 of file compile.c.

References pt_add_oid_to_select_list(), and VIEW_OID.

Referenced by db_compile_statement_local().

Here is the caller graph for this function:

PT_NODE* pt_add_row_oid_name ( PARSER_CONTEXT parser,
PT_NODE stmt 
)
PT_NODE* pt_and ( PARSER_CONTEXT parser_ptr,
const PT_NODE expression1,
const PT_NODE expression2 
)

Definition at line 223 of file parser_support.c.

References pt_expr_info::arg1, pt_expr_info::arg2, pt_statement_info::expr, parser_node::info, pt_expr_info::op, parser_new_node(), PT_AND, and PT_EXPR.

Referenced by pt_transform_cnf_post().

Here is the caller graph for this function:

PARSER_VARCHAR* pt_append_name ( const PARSER_CONTEXT parser,
PARSER_VARCHAR string,
const char *  name 
)
PARSER_VARCHAR* pt_append_nulstring ( const PARSER_CONTEXT parser,
PARSER_VARCHAR old_bytes,
const char *  new_tail 
)

Definition at line 1072 of file parse_tree.c.

References NULL, pt_append_bytes(), and strlen.

Referenced by chksum_get_quote_escaped_lower_bound(), chksum_print_attribute_list(), chksum_print_checksum_query(), chksum_print_lower_bound_string(), chksum_print_pk_list(), chksum_print_select_last_chunk(), chksum_print_select_master_checksum(), chksum_print_update_master_checksum(), chksum_set_initial_chunk_id_and_lower_bound(), parser_print_tree(), pt_append_name(), pt_append_quoted_string(), pt_append_string_prefix(), pt_dbval_to_value(), pt_print_alter(), pt_print_alter_index(), pt_print_alter_one_clause(), pt_print_alter_serial(), pt_print_alter_stored_procedure(), pt_print_alter_trigger(), pt_print_alter_user(), pt_print_and_list(), pt_print_attach(), pt_print_attr_def(), pt_print_attr_ordering(), pt_print_auth_cmd(), pt_print_auto_increment(), pt_print_bytes_l(), pt_print_col_def_constraint(), pt_print_commit_work(), pt_print_constraint(), pt_print_create_entity(), pt_print_create_index(), pt_print_create_serial(), pt_print_create_stored_procedure(), pt_print_create_trigger(), pt_print_create_user(), pt_print_cte(), pt_print_data_default(), pt_print_datatype(), pt_print_db_value(), pt_print_delete(), pt_print_difference(), pt_print_do(), pt_print_dot(), pt_print_drop(), pt_print_drop_index(), pt_print_drop_serial(), pt_print_drop_session_variables(), pt_print_drop_stored_procedure(), pt_print_drop_trigger(), pt_print_drop_user(), pt_print_drop_variable(), pt_print_error_msg(), pt_print_evaluate(), pt_print_event_spec(), pt_print_event_target(), pt_print_execute_trigger(), pt_print_expr(), pt_print_function(), pt_print_get_opt_lvl(), pt_print_get_stats(), pt_print_get_trigger(), pt_print_get_xaction(), pt_print_grant(), pt_print_host_var(), pt_print_insert(), pt_print_intersection(), pt_print_isolation_lvl(), pt_print_json_table(), pt_print_json_table_column_error_or_empty_behavior(), pt_print_json_table_column_info(), pt_print_json_table_columns(), pt_print_json_table_node(), pt_print_merge(), pt_print_method_call(), pt_print_method_def(), pt_print_name(), pt_print_named_arg(), pt_print_partition(), pt_print_parts(), pt_print_prepare_to_commit(), pt_print_query_trace(), pt_print_remove_trigger(), pt_print_rename(), pt_print_rename_trigger(), pt_print_resolution(), pt_print_revoke(), pt_print_rollback_work(), pt_print_savepoint(), pt_print_scope(), pt_print_select(), pt_print_session_variables(), pt_print_set_names(), pt_print_set_opt_lvl(), pt_print_set_session_variables(), pt_print_set_sys_params(), pt_print_set_timezone(), pt_print_set_trigger(), pt_print_set_xaction(), pt_print_showstmt(), pt_print_sort_spec(), pt_print_sp_parameter(), pt_print_spec(), pt_print_table_option(), pt_print_timeout(), pt_print_trigger_action(), pt_print_truncate(), pt_print_union_stmt(), pt_print_update(), pt_print_update_stats(), pt_print_vacuum(), pt_print_value(), pt_print_with_clause(), and pt_to_regu_variable().

PARSER_VARCHAR* pt_append_varchar ( const PARSER_CONTEXT parser,
PARSER_VARCHAR old_bytes,
const PARSER_VARCHAR new_tail 
)

Definition at line 1052 of file parse_tree.c.

References parser_varchar::bytes, parser_varchar::length, NULL, and pt_append_bytes().

Referenced by chksum_print_checksum_query(), chksum_print_select_last_chunk(), pt_print_alter(), pt_print_alter_index(), pt_print_alter_one_clause(), pt_print_alter_serial(), pt_print_alter_stored_procedure(), pt_print_alter_trigger(), pt_print_alter_user(), pt_print_and_list(), pt_print_attr_def(), pt_print_attr_ordering(), pt_print_auth_cmd(), pt_print_auto_increment(), pt_print_bytes_spec_list(), pt_print_col_def_constraint(), pt_print_constraint(), pt_print_create_entity(), pt_print_create_index(), pt_print_create_serial(), pt_print_create_stored_procedure(), pt_print_create_trigger(), pt_print_create_user(), pt_print_cte(), pt_print_data_default(), pt_print_datatype(), pt_print_delete(), pt_print_difference(), pt_print_do(), pt_print_dot(), pt_print_drop(), pt_print_drop_index(), pt_print_drop_serial(), pt_print_drop_session_variables(), pt_print_drop_stored_procedure(), pt_print_drop_trigger(), pt_print_drop_user(), pt_print_drop_variable(), pt_print_evaluate(), pt_print_event_spec(), pt_print_event_target(), pt_print_execute_trigger(), pt_print_expr(), pt_print_file_path(), pt_print_function(), pt_print_get_opt_lvl(), pt_print_get_stats(), pt_print_get_trigger(), pt_print_get_xaction(), pt_print_grant(), pt_print_host_var(), pt_print_index_columns(), pt_print_insert(), pt_print_intersection(), pt_print_isolation_lvl(), pt_print_json_table(), pt_print_json_table_column_error_or_empty_behavior(), pt_print_json_table_column_info(), pt_print_json_table_node(), pt_print_merge(), pt_print_method_call(), pt_print_method_def(), pt_print_name(), pt_print_named_arg(), pt_print_partition(), pt_print_parts(), pt_print_remove_trigger(), pt_print_rename(), pt_print_rename_trigger(), pt_print_resolution(), pt_print_revoke(), pt_print_rollback_work(), pt_print_savepoint(), pt_print_scope(), pt_print_select(), pt_print_session_variables(), pt_print_set_names(), pt_print_set_opt_lvl(), pt_print_set_session_variables(), pt_print_set_sys_params(), pt_print_set_timezone(), pt_print_set_trigger(), pt_print_set_xaction(), pt_print_showstmt(), pt_print_sort_spec(), pt_print_sp_parameter(), pt_print_spec(), pt_print_table_option(), pt_print_timeout(), pt_print_trigger_action(), pt_print_trigger_spec_list(), pt_print_truncate(), pt_print_union_stmt(), pt_print_update(), pt_print_update_stats(), pt_print_value(), and pt_print_with_clause().

PT_NODE* pt_attrs_part ( const PT_NODE insert_statement)

Definition at line 2231 of file parser_support.c.

References pt_insert_info::attr_list, parser_node::info, pt_statement_info::insert, parser_node::node_type, NULL, and PT_INSERT.

Referenced by uci_static().

Here is the caller graph for this function:

int pt_between_to_comp_op ( PT_OP_TYPE  between,
PT_OP_TYPE left,
PT_OP_TYPE right 
)
PT_NODE* pt_bind_param_node ( PARSER_CONTEXT parser,
PT_NODE node,
void *  arg,
int *  continue_walk 
)

Definition at line 419 of file name_resolution.c.

References parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::node_type, NULL, pt_bind_parameter(), PT_NAME, and PT_PARAMETER.

Referenced by do_check_internal_statements().

Here is the caller graph for this function:

PT_NODE* pt_bind_type_from_dbval ( PARSER_CONTEXT ,
PT_NODE ,
DB_VALUE  
)

Definition at line 3067 of file parse_dbi.c.

References pt_bind_helper().

Referenced by pt_bind_type_of_host_var(), and pt_value_to_db().

Here is the caller graph for this function:

PT_NODE* pt_bind_values_to_hostvars ( PARSER_CONTEXT parser,
PT_NODE node 
)

Definition at line 3238 of file name_resolution.c.

References NULL, parser_walk_tree(), pt_bind_value_to_hostvar_local(), and pt_has_error.

Referenced by db_execute_and_keep_statement_local().

Here is the caller graph for this function:

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 
)

Definition at line 1584 of file parser_support.c.

References parser_node::node_type, PT_SELECT, and PT_STOP_WALK.

Referenced by pt_semantic_check_local(), and pt_split_having_grbynum().

Here is the caller graph for this function:

int pt_check_if_query ( PARSER_CONTEXT parser,
PT_NODE stmt 
)
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 
)

Definition at line 1539 of file parser_support.c.

References parser_node::node_type, PT_SELECT, and PT_STOP_WALK.

Referenced by pt_split_access_if_instnum(), pt_split_if_instnum(), and qo_analyze_term().

Here is the caller graph for this function:

bool pt_check_ordby_num_for_multi_range_opt ( PARSER_CONTEXT parser,
PT_NODE query,
bool mro_candidate,
bool cannot_eval 
)
int pt_check_order_by ( PARSER_CONTEXT parser,
PT_NODE query 
)

Definition at line 12646 of file semantic_check.c.

References pt_query_info::all_distinct, pt_union_info::arg1, pt_union_info::arg2, pt_sort_spec_info::asc_or_desc, assert, CASE_INSENSITIVE, pt_value_info::data_value, parser_node::do_not_replace_orderby, qfile_tuple_value_position::dom, semantic_chk_info::donot_fold, ER_FAILED, error(), EXCLUDE_HIDDEN_COLUMNS, pt_sort_spec_info::expr, pt_statement_info::expr, parser_node::flag, pt_select_info::from, i, pt_data_value::i, INCLUDE_HIDDEN_COLUMNS, parser_node::info, parser_node::is_hidden_column, pt_query_info::limit, pt_select_info::list, mq_clear_ids(), mq_rewrite_aggregate_as_derived(), MSGCAT_SEMANTIC_INVALID_ORDERBY_WITH_DISTINCT, MSGCAT_SEMANTIC_NO_ORDERBY_ALLOWED, MSGCAT_SEMANTIC_ORDERBY_IS_NOT_INT, MSGCAT_SEMANTIC_ORDERBYNUM_SELECT_LIST_ERR, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SEMANTIC_SORT_DIR_CONFLICT, MSGCAT_SEMANTIC_SORT_SPEC_NAN_PATH, MSGCAT_SEMANTIC_SORT_SPEC_NOT_EXIST, MSGCAT_SEMANTIC_SORT_SPEC_RANGE_ERR, MSGCAT_SEMANTIC_SORT_SPEC_WANT_NUM, MSGCAT_SEMANTIC_UNION_INCOMPATIBLE, MSGCAT_SET_PARSER_SEMANTIC, db_value_plist::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_expr_info::op, pt_query_info::order_by, parser_append_node(), parser_copy_tree(), parser_free_node(), parser_free_tree(), parser_new_node(), parser_print_tree(), parser_walk_leaves(), pt_sort_spec_info::pos_descr, qfile_tuple_value_position::pos_no, pt_check_compatible_node_for_orderby(), pt_check_orderbynum_post(), pt_check_orderbynum_pre(), pt_check_path_eq(), PT_DIFFERENCE, PT_DISTINCT, PT_DOT_, PT_ERRORm, PT_ERRORmf, PT_ERRORmf2, PT_EXPR, pt_find_order_value_in_list(), pt_has_error, PT_HOST_VAR, PT_INTERSECTION, PT_IS_QUERY, PT_IS_QUERY_NODE_TYPE, pt_is_single_tuple(), pt_length_of_select_list(), PT_NAME, PT_ORDERBY_NUM, pt_remove_from_list(), pt_resolve_names(), PT_SELECT, pt_short_print(), pt_str_compare(), pt_to_null_ordering(), PT_TYPE_INTEGER, PT_TYPE_MAYBE, PT_TYPE_NONE, PT_UNION, PT_VALUE, pt_value_to_db(), pt_xasl_node_to_domain(), pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_statement_info::sort_spec, semantic_chk_info::top_node, parser_node::type_enum, pt_query_info::union_, and pt_statement_info::value.

Referenced by pt_fold_union(), pt_semantic_check_local(), and pt_to_upd_del_query().

Here is the caller graph for this function:

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

Definition at line 1648 of file parser_support.c.

References pt_statement_info::expr, parser_node::info, parser_node::node_type, pt_expr_info::op, PT_CONTINUE_WALK, PT_EXPR, PT_ORDERBY_NUM, and PT_SELECT.

Referenced by pt_check_order_by(), and qo_reduce_order_by().

Here is the caller graph for this function:

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

Definition at line 1629 of file parser_support.c.

References parser_node::node_type, PT_SELECT, and PT_STOP_WALK.

Referenced by pt_check_order_by(), and qo_reduce_order_by().

Here is the caller graph for this function:

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 
)

Definition at line 1674 of file parser_support.c.

References parser_node::node_type, PT_SELECT, and PT_STOP_WALK.

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

Definition at line 3334 of file parser_support.c.

References assert, char_isspace(), NULL, pt_append_string(), and strlen.

Referenced by do_insert_template().

Here is the caller graph for this function:

PT_NODE* pt_coerce_node_collation ( PARSER_CONTEXT parser,
PT_NODE node,
const int  coll_id,
const INTL_CODESET  codeset,
bool  force_mode,
bool  use_collate_modifier,
PT_TYPE_ENUM  wrap_type_for_maybe,
PT_TYPE_ENUM  wrap_type_collection 
)

Definition at line 22319 of file type_checking.c.

References pt_union_info::arg2, pt_function_info::arg_list, assert, pt_expr_info::cast_type, tp_domain::codeset, tp_domain::collation_flag, pt_data_type_info::collation_flag, tp_domain::collation_id, pt_data_type_info::collation_id, pt_statement_info::data_type, parser_node::data_type, pt_value_info::data_value, db_get_set(), db_get_string_size(), db_string_put_cs_and_collation(), pt_value_info::db_value, pt_value_info::db_value_is_initialized, DB_VALUE_TYPE, pt_data_type_info::dec_precision, parser_node::expected_domain, pt_statement_info::expr, F_MULTISET, F_SEQUENCE, F_SET, pt_statement_info::function, pt_function_info::function_type, i, parser_node::info, INTL_CODESET_RAW_BYTES, tp_domain::is_cached, pt_value_info::is_collate_allowed, LANG_COERCIBLE_CODESET, LANG_IS_COERCIBLE_COLL, LANG_SYS_CODESET, LANG_SYS_COLLATION, parser_varchar::length, pt_select_info::list, tp_domain::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_expr_info::op, parser_copy_tree_list(), parser_free_node(), parser_new_node(), pt_data_type_info::precision, pt_value_info::print_charset, PT_CAST, pt_cast_needs_wrap_for_collation(), pt_coerce_node_collection_of_collection(), PT_DATA_TYPE, PT_DIFFERENCE, PT_DOT_, PT_EXPR, PT_EXPR_INFO_CAST_COLL_MODIFIER, PT_EXPR_INFO_CAST_SHOULD_FOLD, PT_EXPR_INFO_IS_FLAGED, PT_EXPR_INFO_SET_FLAG, pt_fold_const_expr(), PT_FUNCTION, PT_HAS_COLLATION, PT_HOST_VAR, PT_INTERSECTION, PT_IS_CHAR_STRING_TYPE, PT_IS_COLLECTION_TYPE, pt_length_of_list(), PT_METHOD_CALL, PT_NAME, PT_NODE_PRINT_VALUE_TO_TEXT, pt_preset_hostvar(), PT_SELECT, PT_SET_NODE_COLL_MODIFIER, pt_type_enum_to_db(), PT_TYPE_MAYBE, PT_UNION, PT_VALUE, pt_wrap_collection_with_cast_op(), pt_wrap_select_list_with_cast_op(), pt_wrap_with_cast_op(), pt_query_info::q, pt_statement_info::query, pt_query_info::select, db_set::set, SET_EXPECTED_DOMAIN, set_size(), tp_domain::setdomain, setobj_get_element_ptr(), setobj_size(), pt_data_value::str, pt_value_info::text, tp_domain_add(), tp_domain_cache(), TP_DOMAIN_COLL_ENFORCE, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLL_NORMAL, TP_DOMAIN_COLLATION, TP_DOMAIN_COLLATION_FLAG, tp_domain_copy(), tp_domain_resolve_default(), tp_domain_resolve_default_w_coll(), TP_DOMAIN_TYPE, TP_FLOATING_PRECISION_VALUE, TP_IS_CHAR_TYPE, TP_IS_SET_TYPE, TP_TYPE_HAS_COLLATION, parser_node::type_enum, pt_query_info::union_, pt_data_type_info::units, and pt_statement_info::value.

Referenced by func_type::Node::apply_argument(), pt_check_expr_collation(), pt_check_function_collation(), pt_check_recursive_expr_collation(), pt_coerce_node_collection_of_collection(), pt_eval_function_type_old(), and func_type::Node::set_return_type().

Here is the caller graph for this function:

int pt_coerce_value_for_default_value ( PARSER_CONTEXT parser,
PT_NODE src,
PT_NODE dest,
PT_TYPE_ENUM  desired_type,
PT_NODE elem_type_list,
DB_DEFAULT_EXPR_TYPE  default_expr_type 
)
int pt_common_collation ( PT_COLL_INFER arg1_coll_infer,
PT_COLL_INFER arg2_coll_infer,
PT_COLL_INFER arg3_coll_infer,
const int  args_w_coll,
bool  op_has_3_args,
int *  common_coll,
INTL_CODESET common_cs 
)
int pt_comp_to_between_op ( PT_OP_TYPE  left,
PT_OP_TYPE  right,
PT_COMP_TO_BETWEEN_OP_CODE_TYPE  code,
PT_OP_TYPE between 
)
PT_OP_TYPE pt_converse_op ( PT_OP_TYPE  op)

Definition at line 21042 of file type_checking.c.

References PT_EQ, PT_GE, PT_GT, PT_LE, PT_LT, and PT_NE.

Referenced by pt_to_range_key(), qo_analyze_term(), and qo_converse_sarg_terms().

Here is the caller graph for this function:

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 
)

Definition at line 4042 of file parser_support.c.

References parser_node::cannot_prepare, parser_node::flag, parser_node::recompile, parser_node::si_datetime, and parser_node::si_tran_id.

Referenced by execute_create_select_query().

Here is the caller graph for this function:

int pt_count_assignments ( PARSER_CONTEXT parser,
PT_NODE assignments 
)

Definition at line 1413 of file parse_tree.c.

References pt_get_next_assignment(), and pt_init_assignments_helper().

Referenced by check_trigger().

Here is the caller graph for this function:

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

Definition at line 13373 of file semantic_check.c.

References pt_statement_info::host_var, pt_host_var_info::index, parser_node::info, and pt_is_input_hostvar.

Referenced by pt_transform_cnf_post().

Here is the caller graph for this function:

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

Definition at line 13401 of file semantic_check.c.

References pt_statement_info::host_var, pt_host_var_info::index, parser_node::info, and pt_is_output_hostvar.

Referenced by db_number_of_output_markers().

Here is the caller graph for this function:

DB_DOMAIN* pt_data_type_to_db_domain ( PARSER_CONTEXT parser,
PT_NODE dt,
const char *  class_name 
)

Definition at line 1805 of file parse_dbi.c.

References ARG_FILE_LINE, assert, ASSERT_ERROR, parser_varchar::bytes, tp_domain::class_mop, tp_domain::class_oid, tp_domain::codeset, tp_domain::collation_flag, pt_data_type_info::collation_flag, tp_domain::collation_id, db_enumeration::collation_id, pt_data_type_info::collation_id, db_enumeration::count, pt_statement_info::data_type, DB_DEFAULT_PRECISION, db_find_class(), db_json_load_validator(), DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DB_VALUE, DB_TYPE_DOUBLE, DB_TYPE_ELO, DB_TYPE_ENUMERATION, DB_TYPE_ERROR, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_MIDXKEY, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_POINTER, DB_TYPE_RESULTSET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SUB, DB_TYPE_TABLE, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, pt_data_type_info::dec_precision, DOM_SET_ENUM_ELEMENTS, DOM_SET_ENUM_ELEMS_COUNT, db_enumeration::elements, pt_data_type_info::entity, tp_domain::enumeration, er_set(), ER_SM_DOMAIN_NOT_A_CLASS, ER_WARNING_SEVERITY, parser_node::info, intl_identifier_casecmp(), pt_data_type_info::json_schema, tp_domain::json_validator, LANG_SYS_CODESET, LANG_SYS_COLLATION, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, vid_oid::oid, db_object::oid_info, pt_name_info::original, tp_domain::precision, pt_data_type_info::precision, pt_get_enumeration_from_data_type(), PT_NAME, pt_node_to_db_domain(), pt_type_enum_to_db(), pt_type_enum_to_db_domain(), tp_domain::scale, tp_domain::self_ref, tp_domain_clear_enumeration(), TP_DOMAIN_COLL_ENFORCE, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLL_NORMAL, tp_domain_construct(), tp_domain_new(), TP_DOMAIN_SELF_REF, parser_node::type_enum, pt_data_type_info::units, and pt_data_type_info::virt_object.

Referenced by do_add_methods(), pt_assignment_compatible(), pt_check_enum_data_type(), pt_coerce_expression_argument(), pt_evaluate_db_value_expr(), pt_fix_enumeration_comparison(), pt_node_data_type_to_db_domain(), pt_node_to_db_domain(), pt_node_to_function_index(), pt_string_to_db_domain(), pt_wrap_collection_with_cast_op(), and pt_xasl_data_type_to_domain().

Here is the caller graph for this function:

PT_TYPE_ENUM pt_db_to_type_enum ( const DB_TYPE  t)

Definition at line 2595 of file parse_dbi.c.

References assert, DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DB_VALUE, DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_ERROR, DB_TYPE_FIRST, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_LAST, DB_TYPE_MIDXKEY, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_POINTER, DB_TYPE_RESULTSET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_STRING, DB_TYPE_SUB, DB_TYPE_TABLE, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_UNKNOWN, DB_TYPE_VARBIT, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, PT_TYPE_BIGINT, PT_TYPE_BIT, PT_TYPE_BLOB, PT_TYPE_CHAR, PT_TYPE_CLOB, PT_TYPE_DATE, PT_TYPE_DATETIME, PT_TYPE_DATETIMELTZ, PT_TYPE_DATETIMETZ, PT_TYPE_DOUBLE, PT_TYPE_ENUMERATION, PT_TYPE_FLOAT, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_MAYBE, PT_TYPE_MIDXKEY, PT_TYPE_MONETARY, PT_TYPE_MULTISET, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_RESULTSET, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_SMALLINT, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, and PT_TYPE_VARNCHAR.

Referenced by do_add_attribute_from_select_column(), do_alter_one_clause_with_template(), do_cast_host_variables_to_expected_domain(), generate_natural_join_attrs_from_db_attrs(), pt_add_type_to_set(), pt_bind_helper(), pt_bind_names_post(), pt_bind_reserved_name(), pt_check_partitions(), pt_dbval_to_value(), pt_domain_to_data_type(), pt_eval_expr_type(), pt_eval_method_call_type(), pt_evaluate_db_value_expr(), pt_evaluate_tree_internal(), pt_expr_get_return_type(), pt_get_attr_data_type(), pt_get_attributes(), pt_infer_common_type(), pt_make_method_call(), pt_make_regu_hostvar(), pt_print_db_value(), pt_resolve_method_type(), pt_resolve_star_reserved_names(), pt_set_host_variables(), pt_sm_attribute_default_value_to_node(), pt_string_to_db_domain(), pt_to_delete_xasl(), pt_update_host_var_data_type(), pt_wrap_expr_w_exp_dom_cast(), pt_wrap_type_for_collation(), qo_rewrite_like_terms(), and func_type::Node::set_return_type().

DB_VALUE* pt_db_value_initialize ( PARSER_CONTEXT parser,
PT_NODE value,
DB_VALUE db_value,
int *  more_type_info_needed 
)

Definition at line 3195 of file parse_dbi.c.

References pt_monetary_value::amount, assert, pt_data_value::bigint, parser_varchar::bytes, pt_data_type_info::collation_id, pt_data_value::d, db_value::data, pt_statement_info::data_type, parser_node::data_type, pt_value_info::data_value, DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_json_get_json_from_str(), db_make_bigint(), db_make_bit(), db_make_char(), db_make_datetime(), db_make_datetimeltz(), db_make_datetimetz(), db_make_double(), db_make_elo(), db_make_float(), db_make_int(), db_make_monetary(), db_make_multiset(), db_make_nchar(), db_make_null(), db_make_object(), db_make_sequence(), db_make_set(), db_make_short(), db_make_timestamp(), db_make_timestampltz(), db_make_timestamptz(), db_make_varchar(), db_make_varnchar(), db_private_alloc, db_private_free_and_init, db_seq_create(), db_set_create_basic(), db_set_create_multi(), db_string_to_date(), db_string_to_datetime(), db_string_to_datetimeltz(), db_string_to_datetimetz(), db_string_to_time(), db_string_to_timestampltz(), db_string_to_timestamptz(), db_string_to_utime, DB_TYPE_BLOB, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_JSON, DB_TYPE_TIME, db_value_alter_type(), db_value_domain_init(), pt_value_info::db_value_is_in_workspace, db_value_put_encoded_date(), db_value_put_encoded_time(), db_json::document, db_value::domain, pt_data_value::elo, pt_data_value::f, db_domain_info::general_info, pt_data_value::i, if(), parser_node::info, db_domain_info::general_info::is_null, db_data::json, LANG_COERCIBLE_CODESET, LANG_COERCIBLE_COLL, parser_varchar::length, pt_data_value::money, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_RUNTIME_BAD_DATE, MSGCAT_RUNTIME_BAD_NUMERIC, MSGCAT_RUNTIME_BAD_TIME, MSGCAT_RUNTIME_BAD_UTIME, MSGCAT_RUNTIME_INVALID_JSON, MSGCAT_RUNTIME_UNDEFINED_CONVERSION, MSGCAT_RUNTIME_UNIMPLEMENTED_CONV, MSGCAT_SEMANTIC_INVALID_BITSTRING, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, db_value::need_clear, NO_ERROR, parser_node::node_type, NULL, numeric_coerce_string_to_num(), pt_data_value::op, pr_clear_value(), PT_ERROR, PT_ERRORm, PT_ERRORmf, PT_HAS_COLLATION, pt_seq_value_to_db(), pt_set_value_to_db(), pt_short_print(), PT_TYPE_BIGINT, PT_TYPE_BIT, PT_TYPE_BLOB, PT_TYPE_CHAR, PT_TYPE_CLOB, PT_TYPE_COMPOUND, PT_TYPE_DATE, PT_TYPE_DATETIME, PT_TYPE_DATETIMELTZ, PT_TYPE_DATETIMETZ, PT_TYPE_DOUBLE, pt_type_enum_to_db(), PT_TYPE_EXPR_SET, PT_TYPE_FLOAT, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_LOGICAL, PT_TYPE_MAX, PT_TYPE_MAYBE, PT_TYPE_MIDXKEY, PT_TYPE_MONETARY, PT_TYPE_MULTISET, PT_TYPE_NA, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NULL, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_RESULTSET, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_SMALLINT, PT_TYPE_STAR, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPE_VARNCHAR, PT_VALUE, qstr_bit_to_bin(), qstr_hex_to_bin(), REINTERPRET_CAST, pt_data_value::set, pt_data_value::str, pt_value_info::string_type, TP_FLOATING_PRECISION_VALUE, db_domain_info::general_info::type, pt_monetary_value::type, parser_node::type_enum, pt_data_type_info::units, and pt_statement_info::value.

Referenced by pt_value_to_db().

Here is the caller graph for this function:

PT_NODE* pt_dbval_to_value ( PARSER_CONTEXT parser,
const DB_VALUE val 
)

Definition at line 574 of file parse_dbi.c.

References db_monetary::amount, pt_monetary_value::amount, assert, pt_data_value::bigint, parser_varchar::bytes, pt_data_type_info::collation_id, pt_data_value::d, pt_statement_info::data_type, parser_node::data_type, pt_value_info::data_value, db_datetimetz::datetime, db_bit_string(), db_date_to_string(), db_datetime_to_string(), db_datetimeltz_to_string(), db_datetimetz_to_string(), db_elo_copy_structure(), db_get_bigint(), db_get_bit(), db_get_date(), db_get_datetime(), db_get_datetimetz(), db_get_double(), db_get_elo(), db_get_enum_short(), db_get_enum_string(), db_get_enum_string_size(), db_get_float(), db_get_int(), db_get_json_raw_body(), db_get_json_schema, db_get_monetary(), db_get_object(), db_get_short(), db_get_string(), db_get_string_codeset(), db_get_string_collation(), db_get_string_size(), db_get_time(), db_get_timestamp(), db_get_timestamptz(), db_json_validate_json(), db_make_object(), db_private_alloc, db_private_free, db_private_free_and_init, db_time_to_string(), db_timestampltz_to_string(), db_timestamptz_to_string(), DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DB_VALUE, DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_ERROR, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_POINTER, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SUB, DB_TYPE_TABLE, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, db_utime_to_string, pt_value_info::db_value, db_value_clone(), db_value_get_monetary_currency(), pt_value_info::db_value_is_in_workspace, pt_value_info::db_value_is_initialized, db_value_precision(), db_value_scale(), DB_VALUE_TYPE, pt_data_type_info::dec_precision, pt_data_value::elo, pt_data_value::enumeration, pt_data_value::f, pt_data_value::i, parser_node::info, pt_data_type_info::json_schema, parser_varchar::length, pt_data_value::money, MSGCAT_RUNTIME_UNDEFINED_CONVERSION, MSGCAT_SEMANTIC_DATA_OVERFLOW_ON, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, NO_ERROR, NULL, numeric_db_value_print(), pt_data_value::op, parser_free_node(), parser_new_node(), pt_data_type_info::precision, pt_add_type_to_set(), pt_append_bytes(), pt_append_nulstring(), PT_DATA_TYPE, pt_db_to_type_enum(), PT_ERRORm, PT_ERRORmf, pt_get_object_data_type(), PT_INTERNAL_ERROR, pt_set_elements_to_value(), pt_show_type_enum(), PT_TYPE_BIT, PT_TYPE_BLOB, PT_TYPE_CLOB, PT_TYPE_NULL, PT_TYPE_OBJECT, PT_VALUE, pt_data_value::set, SET_PARSER_ERROR_AND_FREE_NODE, pt_enum_element_value::short_val, pt_data_value::str, pt_enum_element_value::str_val, pt_value_info::string_type, strlen, pt_value_info::text, db_timestamptz::timestamp, db_monetary::type, pt_monetary_value::type, parser_node::type_enum, db_timestamptz::tz_id, db_datetimetz::tz_id, pt_data_type_info::units, pt_statement_info::value, vid_oid_to_object(), and vid_vobj_to_object().

Referenced by check_default_on_update_clause(), do_alter_one_clause_with_template(), do_evaluate_insert_values(), do_replace_names_for_insert_values_pre(), get_att_default_from_def(), meth_translate_spec(), mq_replace_virtual_oid_with_real_oid(), mq_set_non_updatable_oid(), mq_update_attribute(), pt_bind_parameter(), pt_bind_value_to_hostvar_local(), pt_check_access_status(), pt_check_alter_partition(), pt_check_and_replace_hostvar(), pt_check_default_vclass_query_spec(), pt_coerce_value_internal(), pt_eval_value_path(), pt_find_attr_in_class_list(), pt_find_name_in_spec(), pt_fix_first_term_expr_for_iss(), pt_fix_first_term_func_index_for_iss(), pt_fold_const_expr(), pt_fold_const_function(), pt_limit_to_numbering_expr(), pt_make_query_show_columns(), pt_make_query_show_index(), pt_resolve_default_value(), pt_set_elements_to_value(), pt_sm_attribute_default_value_to_node(), pt_to_list_key(), pt_to_regu_variable(), pt_to_upd_del_query(), qo_convert_to_range(), qo_fold_is_and_not_null(), and qo_reduce_equality_terms().

PT_NODE* pt_domain_to_data_type ( PARSER_CONTEXT parser,
DB_DOMAIN domain 
)

Definition at line 3978 of file name_resolution.c.

References assert, tp_domain::collation_flag, pt_data_type_info::collation_flag, pt_data_type_info::collation_id, pt_statement_info::data_type, db_domain_class(), db_domain_codeset(), db_domain_collation_id(), db_domain_next(), db_domain_precision(), db_domain_scale(), db_domain_set(), DB_GET_ENUM_ELEM_CODESET, DB_GET_ENUM_ELEM_STRING, DB_GET_ENUMERATION, db_json_get_schema_raw_from_validator(), DB_SET_ENUM_ELEM_CODESET, pt_data_type_info::dec_precision, DOM_GET_ENUM_ELEM, DOM_GET_ENUM_ELEMS_COUNT, pt_data_type_info::entity, pt_data_type_info::enumeration, parser_node::info, pt_data_type_info::json_schema, tp_domain::json_validator, parser_node::next, NULL, parser_append_node(), parser_new_node(), pt_data_type_info::precision, pt_add_class_to_entity_list(), pt_append_bytes(), PT_CLASS, PT_DATA_TYPE, pt_db_to_type_enum(), pt_domain_to_data_type(), PT_IS_CHAR_STRING_TYPE, pt_make_string_value(), pt_name_list_union(), PT_TYPE_BIT, PT_TYPE_CHAR, PT_TYPE_ENUMERATION, PT_TYPE_JSON, PT_TYPE_MIDXKEY, PT_TYPE_MULTISET, PT_TYPE_NCHAR, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPE_VARNCHAR, strlen, TP_DOMAIN_CODESET, TP_DOMAIN_COLLATION, TP_DOMAIN_TYPE, parser_node::type_enum, pt_data_type_info::units, and pt_data_type_info::virt_type_enum.

Referenced by do_alter_one_clause_with_template(), pt_add_type_to_set(), pt_bind_names_post(), pt_bind_reserved_name(), pt_check_alter_partition(), pt_check_partitions(), pt_domain_to_data_type(), pt_eval_expr_type(), pt_find_attr_in_class_list(), pt_fix_first_term_expr_for_iss(), pt_get_attr_data_type(), pt_get_attributes(), pt_make_method_call(), pt_resolve_default_value(), pt_resolve_method_type(), pt_resolve_star_reserved_names(), pt_string_to_db_domain(), pt_update_host_var_data_type(), and pt_value_to_db().

Here is the caller graph for this function:

PT_NODE* pt_dump ( PT_NODE node)
PT_NODE* pt_entity ( PARSER_CONTEXT parser,
const PT_NODE entity_name,
const PT_NODE range_var,
const PT_NODE flat_list 
)
PT_NODE* pt_eval_value_path ( PARSER_CONTEXT parser,
PT_NODE path 
)
int pt_evaluate_db_value_expr ( PARSER_CONTEXT parser,
PT_NODE expr,
PT_OP_TYPE  op,
DB_VALUE arg1,
DB_VALUE arg2,
DB_VALUE arg3,
DB_VALUE result,
TP_DOMAIN domain,
PT_NODE o1,
PT_NODE o2,
PT_NODE o3,
PT_MISC_TYPE  qualifier 
)

Definition at line 13684 of file type_checking.c.

References db_monetary::amount, pt_expr_info::arg1, pt_expr_info::arg2, ARG_FILE_LINE, assert, ASSERT_ERROR, au_user_name(), cmp, COMPAT_MYSQL, csession_get_last_insert_id(), d1, DATA_STATUS_OK, parser_node::data_type, pt_value_info::data_value, db_datetime::date, db_datetimetz::datetime, db_abs_dbval(), db_acos_dbval(), db_add_days_to_year(), db_add_int_to_datetime(), db_add_months(), db_add_time(), db_ascii(), db_asin_dbval(), db_atan2_dbval(), db_atan_dbval(), DB_BIGINT_MIN, db_bigint_to_binary_string(), db_bit_count_dbval(), db_bit_to_blob(), db_blob_from_file(), db_blob_length(), db_blob_to_bit(), db_ceil_dbval(), db_char_to_blob(), db_char_to_clob(), db_clob_from_file(), db_clob_length(), db_clob_to_char(), db_conv(), db_conv_tz(), db_convert_sec_to_time(), db_convert_time_to_sec(), db_convert_to_time(), db_cos_dbval(), db_cot_dbval(), db_crc32_dbval(), DB_CURRENCY_DEFAULT, db_date_add_interval_days(), db_date_add_interval_expr(), db_date_dbval(), db_date_decode(), db_date_diff(), db_date_format(), DB_DATE_MAX, DB_DATE_MIN, db_date_sub_interval_days(), db_date_sub_interval_expr(), DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_degrees_dbval(), DB_ENUM_OVERFLOW_VAL, DB_EQ, db_exp_dbval(), db_find_string_in_in_set(), db_floor_dbval(), db_format(), db_from_tz(), db_from_unixtime(), db_get_bigint(), db_get_bit(), db_get_cs_coll_info(), db_get_database_name(), db_get_database_version(), db_get_date(), db_get_date_dayofyear(), db_get_date_from_days(), db_get_date_item(), db_get_date_quarter(), db_get_date_totaldays(), db_get_date_week(), db_get_date_weekday(), db_get_datetime(), db_get_datetimetz(), db_get_double(), db_get_enum_short(), db_get_float(), db_get_int(), db_get_monetary(), db_get_numeric(), db_get_row_count(), db_get_row_count_cache(), db_get_schema_def_dbval(), db_get_set(), db_get_short(), db_get_string(), db_get_string_codeset(), db_get_string_collation(), db_get_string_length(), db_get_string_size(), db_get_time(), db_get_time_item(), db_get_timestamp(), db_get_timestamptz(), db_get_user_and_host_name(), db_get_variable(), DB_GT, db_hex(), db_inet_aton(), db_inet_ntoa(), DB_INT16_MIN, DB_INT32_MIN, DB_IS_NULL, db_last_day(), db_least_or_greatest(), db_like_bound(), db_log_dbval(), db_log_generic_dbval(), DB_LT, db_make_bigint(), db_make_char(), db_make_date(), db_make_datetime(), db_make_datetimeltz(), db_make_datetimetz(), db_make_double(), db_make_float(), db_make_int(), db_make_monetary(), db_make_nchar(), db_make_null(), db_make_numeric(), db_make_short(), db_make_string(), db_make_string_copy(), db_make_time(), db_make_timestamp(), db_make_timestampltz(), db_make_timestamptz(), db_mod_dbval(), db_months_between(), DB_NE, db_new_time(), db_power_dbval(), db_private_free, db_radians_dbval(), db_round_dbval(), DB_ROW_COUNT_NOT_SET, db_set_compare(), db_set_size(), db_sign_dbval(), db_sin_dbval(), db_sleep(), db_sqrt_dbval(), db_str_to_date(), db_string_aes_decrypt(), db_string_aes_encrypt(), db_string_bit_length(), db_string_char_length(), db_string_chr(), db_string_compare(), db_string_concatenate(), db_string_extract_dbval(), db_string_free(), db_string_from_base64(), db_string_index_prefix(), db_string_instr(), db_string_like(), db_string_lower(), db_string_md5(), db_string_pad(), db_string_position(), db_string_repeat(), db_string_replace(), db_string_reverse(), db_string_rlike(), db_string_sha_one(), db_string_sha_two(), db_string_space(), db_string_substring(), db_string_substring_index(), db_string_to_base64(), db_string_translate(), db_string_trim(), db_string_upper(), DB_SUBSET, db_subtract_int_from_datetime(), DB_SUPERSET, db_sys_timezone(), db_tan_dbval(), db_time_dbval(), db_time_decode(), db_time_diff(), db_time_encode(), db_time_format(), db_timestamp(), db_timestamp_encode_ses(), db_timestamp_encode_sys(), db_to_char(), db_to_date(), db_to_datetime(), db_to_number(), db_to_time(), db_to_timestamp(), db_trunc_dbval(), DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SMALLINT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, db_typeof_dbval(), db_tz_offset(), db_unix_timestamp(), DB_UNK, db_update_row_count_cache(), db_value_clone(), db_value_compare(), db_value_domain_init(), DB_VALUE_DOMAIN_TYPE, DB_VALUE_PRECISION, db_value_put_encoded_date(), db_value_put_encoded_time(), DB_VALUE_SCALE, db_value_to_enumeration_value(), DB_VALUE_TYPE, db_width_bucket(), db_value::domain, DOMAIN_COMPATIBLE, parser_context::drand, ER_ATTEMPT_TO_USE_ZERODATE, ER_AU_SELECT_FAILURE, er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_IT_DATA_OVERFLOW, er_msg(), ER_OBJ_NOT_A_CLASS, ER_QSTR_INVALID_DATA_TYPE, ER_REGEX_COMPILE_ERROR, ER_REGEX_EXEC_ERROR, er_set(), err, error(), pt_statement_info::expr, db_domain_info::general_info, i, pt_data_value::i, pr_type::id, parser_node::info, db_domain_info::general_info::is_null, julian_encode(), LANG_SYS_CODESET, LANG_SYS_COLLATION, LEADING, parser_context::local_transaction_id, parser_context::lrand, MILLISECONDS_OF_ONE_DAY, MSGCAT_RUNTIME_IS_NOT_AUTHORIZED_ON, MSGCAT_SEMANTIC_CANT_COERCE_TO, MSGCAT_SEMANTIC_DATA_OVERFLOW_ON, MSGCAT_SEMANTIC_DATE_UNDERFLOW, MSGCAT_SEMANTIC_IS_NOT_A, MSGCAT_SEMANTIC_TIME_UNDERFLOW, MSGCAT_SEMANTIC_ZERO_DIVIDE, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, db_value::need_clear, parser_node::next, NO_ERROR, parser_node::node_type, NULL, numeric_db_value_add(), numeric_db_value_div(), numeric_db_value_is_zero(), numeric_db_value_mul(), numeric_db_value_negate(), numeric_db_value_sub(), obt_Last_insert_id_generated, pt_expr_info::op, OR_CHECK_ADD_OVERFLOW, OR_CHECK_BIGINT_DIV_OVERFLOW, OR_CHECK_DOUBLE_OVERFLOW, OR_CHECK_FLOAT_OVERFLOW, OR_CHECK_INT_DIV_OVERFLOW, OR_CHECK_INT_OVERFLOW, OR_CHECK_MULT_OVERFLOW, OR_CHECK_SHORT_DIV_OVERFLOW, OR_CHECK_SUB_UNDERFLOW, OR_CHECK_UNS_ADD_OVERFLOW, OR_CHECK_UNS_SUB_UNDERFLOW, parser_print_tree(), pr_clear_value(), pr_clone_value(), pr_data_writeval_disk_size(), prm_get_bool_value(), prm_get_integer_value(), PRM_ID_COMPAT_MODE, PRM_ID_NO_BACKSLASH_ESCAPES, PRM_ID_ORACLE_STYLE_EMPTY_STRING, PRM_ID_PLUS_AS_CONCAT, PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, PT_ABS, PT_ACOS, PT_ADD_MONTHS, PT_ADDDATE, PT_ADDTIME, PT_AES_DECRYPT, PT_AES_ENCRYPT, PT_AND, PT_ASCII, PT_ASIN, PT_ASSIGN, PT_ATAN, PT_ATAN2, PT_BETWEEN, PT_BETWEEN_AND, PT_BETWEEN_EQ_NA, PT_BETWEEN_GE_INF, PT_BETWEEN_GE_LE, PT_BETWEEN_GE_LT, PT_BETWEEN_GT_INF, PT_BETWEEN_GT_LE, PT_BETWEEN_GT_LT, PT_BETWEEN_INF_LE, PT_BETWEEN_INF_LT, PT_BIN, PT_BIT_AND, PT_BIT_COUNT, PT_BIT_LENGTH, PT_BIT_NOT, PT_BIT_OR, PT_BIT_TO_BLOB, PT_BIT_XOR, PT_BITSHIFT_LEFT, PT_BITSHIFT_RIGHT, PT_BLOB_FROM_FILE, PT_BLOB_LENGTH, PT_BLOB_TO_BIT, PT_CASE, PT_CAST, PT_CEIL, PT_CHAR_LENGTH, PT_CHAR_TO_BLOB, PT_CHAR_TO_CLOB, PT_CHARSET, PT_CHR, PT_CLASS, PT_CLOB_FROM_FILE, PT_CLOB_LENGTH, PT_CLOB_TO_CHAR, PT_COALESCE, PT_COERCIBILITY, PT_COLLATION, pt_common_type(), PT_CONCAT, PT_CONCAT_WS, PT_CONNECT_BY_ROOT, PT_CONV, PT_CONV_TZ, PT_COS, PT_COT, PT_CRC32, PT_CURRENT_DATE, PT_CURRENT_DATETIME, PT_CURRENT_TIME, PT_CURRENT_TIMESTAMP, PT_CURRENT_USER, pt_data_type_to_db_domain(), PT_DATABASE, PT_DATE_ADD, PT_DATE_FORMAT, PT_DATE_SUB, PT_DATEDIFF, PT_DATEF, PT_DAYF, PT_DAYOFMONTH, PT_DAYOFWEEK, PT_DAYOFYEAR, pt_db_to_type_enum(), PT_DECODE, PT_DEGREES, pt_difference_sets(), PT_DISK_SIZE, PT_DIV, PT_DIVIDE, PT_DRAND, PT_DRANDOM, PT_EQ, PT_EQ_ALL, PT_EQ_SOME, PT_EQ_TORDER, PT_ERRORc, PT_ERRORm, PT_ERRORmf, PT_ERRORmf2, PT_EVALUATE_VARIABLE, PT_EXISTS, PT_EXP, PT_EXPR, PT_EXPR_INFO_CAST_NOFAIL, PT_EXPR_INFO_IS_FLAGED, PT_EXTRACT, PT_FIELD, PT_FINDINSET, PT_FLOOR, PT_FORMAT, PT_FROM_BASE64, PT_FROM_TZ, PT_FROM_UNIXTIME, PT_FROMDAYS, PT_GE, PT_GE_ALL, PT_GE_SOME, PT_GREATEST, PT_GT, PT_GT_ALL, PT_GT_SOME, PT_HEX, PT_HOURF, PT_IF, PT_IFNULL, PT_INDEX_CARDINALITY, PT_INDEX_PREFIX, PT_INET_ATON, PT_INET_NTOA, PT_INSTR, PT_IS, PT_IS_CHAR_STRING_TYPE, PT_IS_DATE_TIME_TYPE, PT_IS_IN, PT_IS_NOT, PT_IS_NOT_IN, PT_IS_NOT_NULL, PT_IS_NULL, PT_IS_NUMERIC_TYPE, pt_is_op_hv_late_bind(), PT_IS_STRING_TYPE, PT_ISNULL, PT_LAST_DAY, PT_LAST_INSERT_ID, PT_LE, PT_LE_ALL, PT_LE_SOME, PT_LEAST, PT_LEFT, PT_LIKE, PT_LIKE_ESCAPE, PT_LIKE_LOWER_BOUND, PT_LIKE_UPPER_BOUND, PT_LIST_DBS, PT_LN, PT_LOCAL_TRANSACTION_ID, PT_LOCATE, PT_LOG, PT_LOG10, PT_LOG2, PT_LOWER, PT_LPAD, PT_LT, PT_LT_ALL, PT_LT_SOME, PT_LTRIM, PT_MAKEDATE, PT_MAKETIME, PT_MD5, PT_MID, PT_MINUS, PT_MINUTEF, pt_misc_to_qp_misc_operand(), PT_MOD, PT_MODULUS, PT_MONTHF, PT_MONTHS_BETWEEN, PT_NE, PT_NE_ALL, PT_NE_SOME, PT_NEW_TIME, PT_NOT, PT_NOT_BETWEEN, PT_NOT_LIKE, PT_NOT_RLIKE, PT_NOT_RLIKE_BINARY, PT_NULLIF, PT_NULLSAFE_EQ, PT_NVL, PT_NVL2, PT_OCTET_LENGTH, PT_OR, PT_PI, PT_PLUS, PT_POSITION, PT_POWER, PT_PRIOR, pt_product_sets(), PT_QPRIOR, PT_QUARTERF, PT_RADIANS, PT_RAND, PT_RANDOM, PT_RANGE, PT_REPEAT, PT_REPLACE, PT_REVERSE, PT_RIGHT, PT_RLIKE, PT_RLIKE_BINARY, PT_ROUND, PT_ROW_COUNT, PT_RPAD, PT_RTRIM, PT_SCHEMA, PT_SCHEMA_DEF, PT_SECONDF, PT_SECTOTIME, PT_SETEQ, PT_SETNEQ, PT_SHA_ONE, PT_SHA_TWO, pt_short_print(), pt_show_misc_type(), pt_show_type_enum(), PT_SIGN, PT_SIN, PT_SLEEP, PT_SPACE, PT_SQRT, PT_STR_TO_DATE, PT_STRCAT, PT_STRCMP, PT_SUBDATE, PT_SUBSET, PT_SUBSETEQ, PT_SUBSTRING, PT_SUBSTRING_INDEX, PT_SUPERSET, PT_SUPERSETEQ, PT_SYS_CONNECT_BY_PATH, PT_SYS_DATE, PT_SYS_DATETIME, PT_SYS_GUID, PT_SYS_TIME, PT_SYS_TIMESTAMP, PT_TAN, PT_TIME_FORMAT, PT_TIMEDIFF, PT_TIMEF, PT_TIMES, PT_TIMESTAMP, PT_TIMETOSEC, PT_TO_BASE64, PT_TO_CHAR, PT_TO_DATE, PT_TO_DATETIME, PT_TO_DATETIME_TZ, PT_TO_ENUMERATION_VALUE, PT_TO_NUMBER, PT_TO_TIME, PT_TO_TIMESTAMP, PT_TO_TIMESTAMP_TZ, PT_TODAYS, PT_TRANSLATE, PT_TRIM, PT_TRUNC, PT_TYPE_DOUBLE, pt_type_enum_to_db(), PT_TYPE_INTEGER, PT_TYPE_MULTISET, PT_TYPE_NA, PT_TYPE_NULL, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPEOF, PT_TZ_OFFSET, PT_UNARY_MINUS, pt_union_sets(), PT_UNIX_TIMESTAMP, PT_UPPER, PT_USER, PT_UTC_DATE, PT_UTC_TIME, PT_UTC_TIMESTAMP, PT_VALUE, pt_value_to_db(), PT_VERSION, PT_WEEKDAY, PT_WEEKF, PT_WIDTH_BUCKET, PT_XOR, PT_YEARF, QSTR_IS_BIT, pt_expr_info::qualifier, SECONDS_OF_ONE_DAY, set_issome(), strlen, SUBSTRING, parser_context::sys_datetime, parser_context::sys_epochtime, db_datetime::time, db_timestamptz::timestamp, tp_domain_cache(), tp_domain_resolve_default(), tp_domain_resolve_value(), tp_domain_status_er_set(), TP_DOMAIN_TYPE, tp_infer_common_domain(), tp_Integer_domain, TP_IS_DATE_OR_TIME_TYPE, TP_IS_DATE_TYPE, TP_IS_SET_TYPE, tp_value_cast(), tp_value_coerce(), tp_value_compare(), TRAILING, tp_domain::type, db_domain_info::general_info::type, parser_node::type_enum, tz_conv_tz_datetime_w_region(), tz_conv_tz_time_w_zone_name(), tz_datetimetz_fix_zone(), tz_get_session_local_timezone(), tz_get_session_tz_region(), tz_get_system_timezone(), tz_get_system_tz_region(), db_timestamptz::tz_id, db_datetimetz::tz_id, tz_timestamp_decode_no_leap_sec(), tz_timestamptz_fix_zone(), V_FALSE, V_TRUE, and pt_statement_info::value.

Referenced by pt_evaluate_tree_internal(), and pt_fold_const_expr().

Here is the caller graph for this function:

int pt_evaluate_function_w_args ( PARSER_CONTEXT parser,
FUNC_TYPE  fcode,
DB_VALUE args[],
const int  num_args,
DB_VALUE result 
)

Definition at line 19731 of file type_checking.c.

References assert, db_evaluate_json_array(), db_evaluate_json_array_append(), db_evaluate_json_array_insert(), db_evaluate_json_contains(), db_evaluate_json_contains_path(), db_evaluate_json_depth(), db_evaluate_json_extract(), db_evaluate_json_get_all_paths(), db_evaluate_json_insert(), db_evaluate_json_keys(), db_evaluate_json_length(), db_evaluate_json_merge_patch(), db_evaluate_json_merge_preserve(), db_evaluate_json_object(), db_evaluate_json_pretty(), db_evaluate_json_quote(), db_evaluate_json_remove(), db_evaluate_json_replace(), db_evaluate_json_search(), db_evaluate_json_set(), db_evaluate_json_type_dbval(), db_evaluate_json_unquote(), db_evaluate_json_valid(), db_string_elt(), db_string_insert_substring(), db_string_regexp_count(), db_string_regexp_instr(), db_string_regexp_like(), db_string_regexp_replace(), db_string_regexp_substr(), er_msg(), error(), F_ELT, F_INSERT_SUBSTRING, F_JSON_ARRAY, F_JSON_ARRAY_APPEND, F_JSON_ARRAY_INSERT, F_JSON_CONTAINS, F_JSON_CONTAINS_PATH, F_JSON_DEPTH, F_JSON_EXTRACT, F_JSON_GET_ALL_PATHS, F_JSON_INSERT, F_JSON_KEYS, F_JSON_LENGTH, F_JSON_MERGE, F_JSON_MERGE_PATCH, F_JSON_OBJECT, F_JSON_PRETTY, F_JSON_QUOTE, F_JSON_REMOVE, F_JSON_REPLACE, F_JSON_SEARCH, F_JSON_SET, F_JSON_TYPE, F_JSON_UNQUOTE, F_JSON_VALID, F_REGEXP_COUNT, F_REGEXP_INSTR, F_REGEXP_LIKE, F_REGEXP_REPLACE, F_REGEXP_SUBSTR, i, NO_ERROR, NULL, and PT_ERRORc.

Referenced by pt_evaluate_function().

Here is the caller graph for this function:

int pt_exec_trigger_stmt ( PARSER_CONTEXT parser,
PT_NODE trigger_stmt,
DB_OBJECT object1,
DB_OBJECT object2,
DB_VALUE result 
)
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_ptr,
PT_OP_TYPE  op,
PT_NODE arg1,
PT_NODE arg2,
PT_NODE arg3 
)
PT_NODE* pt_expression_0 ( PARSER_CONTEXT parser_ptr,
PT_OP_TYPE  op 
)

Definition at line 364 of file parser_support.c.

References NULL, and pt_expression().

Referenced by pt_find_attr_in_class_list(), and pt_resolve_default_value().

Here is the caller graph for this function:

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

Definition at line 370 of file parser_support.c.

References NULL, and pt_expression().

Referenced by pt_dup_key_update_stmt(), and qo_rewrite_like_for_index_scan().

Here is the caller graph for this function:

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

Definition at line 382 of file parser_support.c.

References pt_expression().

UINTPTR pt_find_id ( PARSER_CONTEXT parser,
PT_NODE node,
UINTPTR  id 
)

Definition at line 1103 of file parse_tree_cl.c.

References pt_find_id_info::found, pt_find_id_info::id, NULL, parser_walk_tree(), and pt_find_id_node().

Referenced by mq_reset_spec_distr_subpath_post().

Here is the caller graph for this function:

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

Definition at line 601 of file parser_support.c.

References parser_node::next, NULL, and pt_name_equal().

Referenced by pt_append_assignment_references(), pt_collect_parameters(), pt_expand_analytic_node(), and pt_to_aggregate_node().

Here is the caller graph for this function:

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

Definition at line 9210 of file parser_support.c.

References parser_node::node_type, NULL, and PT_STOP_WALK.

Referenced by insert_local().

Here is the caller graph for this function:

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

Definition at line 9240 of file parser_support.c.

References pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, pt_expr_info::op, PT_EXPR, and PT_STOP_WALK.

Referenced by pt_semantic_check_local().

Here is the caller graph for this function:

int pt_find_var ( PT_NODE p,
PT_NODE **  result 
)

Definition at line 12529 of file semantic_check.c.

References pt_expr_info::arg1, pt_expr_info::arg2, pt_statement_info::expr, parser_node::info, parser_node::node_type, p, PT_DOT_, PT_EXPR, and PT_NAME.

Referenced by mq_invert_insert_subquery(), and pt_invert().

Here is the caller graph for this function:

void pt_free_host_info ( PT_HOST_VARS hv)

Definition at line 3133 of file parser_support.c.

References free_and_init.

Referenced by db_get_input_markers(), and db_get_output_markers().

Here is the caller graph for this function:

void pt_free_label_table ( void  )

Definition at line 867 of file parse_evaluate.c.

References mht_destroy(), mht_map(), NULL, and pt_free_label().

Referenced by parser_final().

Here is the caller graph for this function:

void pt_free_orphans ( PARSER_CONTEXT parser)

Definition at line 3475 of file parser_support.c.

References parser_node::next, NULL, parser_context::orphans, and parser_free_tree().

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

Here is the caller graph for this function:

void pt_free_query_etc_area ( PARSER_CONTEXT parser,
PT_NODE query 
)
void pt_frob_error ( PARSER_CONTEXT parser,
const PT_NODE statement,
const char *  fmt,
  ... 
)
void pt_frob_warning ( PARSER_CONTEXT parser,
const PT_NODE statement,
const char *  fmt,
  ... 
)
PT_NODE* pt_from_entity_part ( const PT_NODE node)

Definition at line 2026 of file parser_support.c.

References pt_spec_info::entity_name, parser_node::info, parser_node::node_type, NULL, PT_SPEC, and pt_statement_info::spec.

Referenced by uci_static().

Here is the caller graph for this function:

bool pt_get_collation_info ( const PT_NODE node,
PT_COLL_INFER coll_infer 
)

Definition at line 21650 of file type_checking.c.

References pt_expr_info::arg1, assert, pt_coll_infer::can_force_cs, lang_collation::codeset, pt_coll_infer::codeset, pt_coll_infer::coerc_level, pt_coll_infer::coll_id, pt_data_type_info::collation_flag, pt_data_type_info::collation_id, pt_statement_info::data_type, parser_node::data_type, parser_node::expected_domain, pt_statement_info::expr, if(), parser_node::info, LANG_COERCIBLE_CODESET, LANG_COERCIBLE_COLL, LANG_COLL_BINARY, lang_get_collation(), LANG_IS_COERCIBLE_COLL, LANG_SYS_CODESET, LANG_SYS_COLLATION, parser_node::node_type, NULL, pt_expr_info::op, PT_CAST, PT_COLLATION_FULLY_COERC, PT_COLLATION_L1_BIN_COERC, PT_COLLATION_L1_COERC, PT_COLLATION_L1_ISO_BIN_COERC, PT_COLLATION_L2_BIN_COERC, PT_COLLATION_L2_BINARY_COERC, PT_COLLATION_L2_COERC, PT_COLLATION_L3_COERC, PT_COLLATION_L4_BIN_COERC, PT_COLLATION_L4_BINARY_COERC, PT_COLLATION_L4_COERC, PT_COLLATION_L5_COERC, PT_COLLATION_NOT_COERC, PT_CURRENT_USER, PT_DATABASE, PT_DEFINE_VARIABLE, PT_DIFFERENCE, PT_DOT_, PT_EVALUATE_VARIABLE, PT_EXPR, PT_EXPR_INFO_CAST_SHOULD_FOLD, PT_EXPR_INFO_IS_FLAGED, PT_FUNCTION, PT_GET_COLLATION_MODIFIER, PT_HAS_COLLATION, PT_HOST_VAR, PT_INTERSECTION, pt_is_input_parameter, PT_METHOD_CALL, PT_NAME, PT_NAME_GENERATED_DERIVED_SPEC, PT_NAME_INFO_IS_FLAGED, PT_SCHEMA, PT_SELECT, PT_TYPE_MAYBE, PT_UNION, PT_USER, PT_VALUE, PT_VERSION, TP_DOMAIN_CODESET, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLLATION, TP_DOMAIN_COLLATION_FLAG, TP_DOMAIN_TYPE, TP_TYPE_HAS_COLLATION, parser_node::type_enum, and pt_data_type_info::units.

Referenced by func_type::Node::check_arg_compat(), pt_assignment_compatible(), pt_check_expr_collation(), pt_check_function_collation(), pt_check_recursive_expr_collation(), pt_eval_function_type_old(), pt_fold_const_expr(), pt_get_compatible_info_from_node(), and func_type::Node::set_return_type().

Here is the caller graph for this function:

int pt_get_correlation_level ( PT_NODE node)
PT_NODE* pt_get_cursor ( const PT_HOST_VARS hv)

Definition at line 3193 of file parser_support.c.

References pt_host_vars::cursor, and NULL.

int pt_get_expression_number ( PT_NODE node)
PT_NODE* pt_get_input_host_vars ( const PT_HOST_VARS hv)

Definition at line 3252 of file parser_support.c.

References pt_host_vars::inputs, and NULL.

Referenced by db_get_input_markers().

Here is the caller graph for this function:

KEYWORD_RECORD* pt_get_keyword_rec ( int *  rec_count)

Definition at line 757 of file keyword.c.

References keywords.

Referenced by start_csql().

Here is the caller graph for this function:

PT_NODE* pt_get_node_from_list ( PT_NODE list,
int  index 
)

Definition at line 3168 of file parse_tree_cl.c.

References parser_node::next, and NULL.

Referenced by pt_resolve_sort_spec_expr().

Here is the caller graph for this function:

PT_NODE* pt_get_output_host_vars ( const PT_HOST_VARS hv)

Definition at line 3271 of file parser_support.c.

References NULL, pt_host_vars::out_descr, and pt_host_vars::outputs.

Referenced by db_get_output_markers().

Here is the caller graph for this function:

PT_NODE* pt_get_parameters ( PARSER_CONTEXT parser,
PT_NODE statement 
)

Definition at line 3177 of file parser_support.c.

References NULL, parser_walk_tree(), and pt_collect_parameters().

Referenced by db_get_parameters().

Here is the caller graph for this function:

const char* pt_get_proxy_spec_name ( const char *  qspec)

Definition at line 3364 of file parser_support.c.

References free_and_init, NULL, parser_create_parser(), parser_free_parser(), parser_parse_string(), pt_get_spec_name(), pt_has_error, and strlen.

Referenced by pt_vclass_compatible().

Here is the caller graph for this function:

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

Definition at line 2754 of file parser_support.c.

References parser_node::info, pt_statement_info::name, NULL, pt_name_info::original, pt_append_string(), pt_get_select_from_spec(), and pt_name_info::resolved.

Referenced by pt_get_spec_name().

Here is the caller graph for this function:

PT_NODE* pt_get_select_list ( PARSER_CONTEXT parser,
PT_NODE query 
)

Definition at line 404 of file query_result.c.

References parser_node::alias_print, pt_union_info::arg1, pt_union_info::arg2, assert, parser_node::data_type, db_make_null(), pt_value_info::db_value, EXCLUDE_HIDDEN_COLUMNS, parser_node::flag, parser_context::id, INCLUDE_HIDDEN_COLUMNS, parser_node::info, parser_node::is_hidden_column, pt_node_list_info::list, pt_select_info::list, MSGCAT_SEMANTIC_ARITY_MISMATCH, MSGCAT_SET_PARSER_SEMANTIC, parser_node::next, pt_statement_info::node_list, parser_node::node_type, NULL, parser_copy_tree_list(), parser_free_tree(), parser_node::parser_id, pt_append_string(), pt_common_type(), PT_DIFFERENCE, PT_ERRORmf2, PT_INTERSECTION, PT_IS_COMPLEX_TYPE, PT_IS_PARAMETERIZED_TYPE, pt_is_value_node, pt_length_of_select_list(), PT_NAME, PT_NODE_LIST, PT_SELECT, PT_TYPE_ENUMERATION, PT_TYPE_NA, PT_TYPE_NONE, PT_TYPE_NULL, PT_TYPE_STAR, PT_UNION, PT_VALUE, pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_union_info::select_list, parser_node::type_enum, pt_query_info::union_, and pt_statement_info::value.

Referenced by db_get_query_type_list(), insert_subquery_results(), mq_make_derived_spec(), mq_rewrite_query_as_derived(), pt_add_oid_to_select_list(), pt_append_odku_references(), pt_apply_union_select_list_collation(), pt_check_assignments(), pt_check_create_entity(), pt_check_create_view(), pt_check_default_vclass_query_spec(), pt_check_into_clause(), pt_check_union_compatibility(), pt_check_union_type_compatibility_of_values_query(), pt_check_vclass_query_spec(), pt_check_vclass_union_spec(), pt_check_with_clause(), pt_coerce_insert_values(), pt_coerce_range_expr_arguments(), pt_eval_function_type_old(), pt_fillin_type_size(), pt_get_attr_list_of_derived_table(), pt_get_one_tuple_from_list_id(), pt_get_select_list_coll_compat(), pt_get_titles(), pt_make_aptr_parent_node(), pt_new_query_result_descriptor(), pt_semantic_check_local(), pt_set_attr_list_types(), pt_set_orderby_for_sort_limit_plan(), pt_set_table_to_db(), pt_to_after_groupby(), pt_to_after_iscan(), pt_to_compatible_cast(), pt_to_groupby(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_orderby(), pt_to_outlist(), pt_to_regu_variable(), pt_try_remove_order_by(), pt_type_cast_vclass_query_spec(), pt_wrap_select_list_with_cast_op(), qo_check_iscan_for_multi_range_opt(), qo_discover_sort_limit_nodes(), qo_reduce_equality_terms(), qo_rewrite_subqueries(), and func_type::Node::set_return_type().

const char* pt_get_spec_name ( PARSER_CONTEXT parser,
const PT_NODE selqry 
)
int pt_get_varchar_length ( const PARSER_VARCHAR string)

Definition at line 1106 of file parse_tree.c.

References NULL.

Referenced by pt_get_enumeration_from_data_type(), and pt_is_same_enum_data_type().

Here is the caller graph for this function:

PT_NODE* pt_get_warnings ( const PARSER_CONTEXT parser)

Definition at line 2622 of file parser_support.c.

References NULL, and parser_context::warnings.

Referenced by db_get_warnings().

Here is the caller graph for this function:

bool pt_has_inst_or_orderby_num ( PARSER_CONTEXT parser,
PT_NODE node 
)

Definition at line 2975 of file parser_support.c.

References parser_walk_tree(), pt_is_inst_or_orderby_num_node(), and pt_is_inst_or_orderby_num_node_post().

Referenced by pt_to_analytic_final_node().

Here is the caller graph for this function:

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

Definition at line 9663 of file parser_support.c.

References parser_node::node_type, PT_DATA_TYPE, PT_IS_OID_NAME, PT_NAME, PT_STOP_WALK, PT_TYPE_OBJECT, and parser_node::type_enum.

Referenced by db_can_execute_statement_with_autocommit().

Here is the caller graph for this function:

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 
)
PT_NODE* pt_has_using_index_clause ( PARSER_CONTEXT parser,
PT_NODE node,
void *  arg,
int *  continue_walk 
)
PT_HOST_VARS* pt_host_info ( PARSER_CONTEXT parser,
PT_NODE stmt 
)

Definition at line 3113 of file parser_support.c.

References NULL, parser_walk_tree(), and pt_collect_host_info().

Referenced by db_get_input_markers(), and db_get_output_markers().

Here is the caller graph for this function:

int pt_host_var_index ( const PT_NODE hv)

Definition at line 3233 of file parser_support.c.

References pt_statement_info::host_var, pt_host_var_info::index, parser_node::info, parser_node::node_type, and PT_HOST_VAR.

Referenced by db_marker_index().

Here is the caller graph for this function:

PT_NODE* pt_insert_value ( PARSER_CONTEXT parser,
PT_NODE node 
)

Definition at line 466 of file parser_support.c.

References parser_node::info, pt_statement_info::insert_value, NULL, pt_insert_value_info::original_node, parser_new_node(), and PT_INSERT_VALUE.

Referenced by do_evaluate_insert_values().

Here is the caller graph for this function:

void* pt_internal_error ( PARSER_CONTEXT parser,
const char *  file,
int  line,
const char *  what 
)
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 
)

Definition at line 1061 of file parser_support.c.

References PT_CONTINUE_WALK, and PT_STOP_WALK.

Referenced by pt_has_analytic().

Here is the caller graph for this function:

bool pt_is_const_expr_node ( PT_NODE node)

Definition at line 16761 of file parse_tree_cl.c.

References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, pt_function_info::arg_list, assert, pt_statement_info::expr, pt_statement_info::function, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, PT_ABS, PT_ACOS, PT_ADD_MONTHS, PT_ADDDATE, PT_ADDTIME, PT_AES_DECRYPT, PT_AES_ENCRYPT, PT_ASCII, PT_ASIN, PT_ATAN, PT_ATAN2, PT_BIN, PT_BIT_AND, PT_BIT_COUNT, PT_BIT_LENGTH, PT_BIT_NOT, PT_BIT_OR, PT_BIT_XOR, PT_BITSHIFT_LEFT, PT_BITSHIFT_RIGHT, PT_CASE, PT_CAST, PT_CEIL, PT_CHAR_LENGTH, PT_CHARSET, PT_CHR, PT_COALESCE, PT_COERCIBILITY, PT_COLLATION, PT_CONCAT, PT_CONCAT_WS, PT_CONV, PT_CONV_TZ, PT_COS, PT_COT, PT_CRC32, PT_CURRENT_DATE, PT_CURRENT_DATETIME, PT_CURRENT_TIME, PT_CURRENT_TIMESTAMP, PT_CURRENT_USER, PT_CURRENT_VALUE, PT_DATABASE, PT_DATE_ADD, PT_DATE_FORMAT, PT_DATE_SUB, PT_DATEDIFF, PT_DATEF, PT_DAYF, PT_DAYOFMONTH, PT_DAYOFWEEK, PT_DAYOFYEAR, PT_DBTIMEZONE, PT_DECODE, PT_DEFAULTF, PT_DEGREES, PT_DISK_SIZE, PT_DIV, PT_DIVIDE, PT_EQ, PT_EXP, PT_EXPR, PT_EXTRACT, PT_FIELD, PT_FINDINSET, PT_FLOOR, PT_FORMAT, PT_FROM_BASE64, PT_FROM_TZ, PT_FROM_UNIXTIME, PT_FROMDAYS, PT_FUNCTION_HOLDER, PT_GE, PT_GREATEST, PT_GT, PT_HEX, PT_HOST_VAR, PT_HOURF, PT_IF, PT_IFNULL, PT_INDEX_PREFIX, PT_INET_ATON, PT_INET_NTOA, PT_INSTR, pt_is_const_expr_node(), PT_ISNULL, PT_LAST_DAY, PT_LE, PT_LEAST, PT_LEFT, PT_LIKE_LOWER_BOUND, PT_LIKE_UPPER_BOUND, PT_LIST_DBS, PT_LN, PT_LOCAL_TRANSACTION_ID, PT_LOCATE, PT_LOG, PT_LOG10, PT_LOG2, PT_LOWER, PT_LPAD, PT_LT, PT_LTRIM, PT_MAKEDATE, PT_MAKETIME, PT_MD5, PT_MID, PT_MINUS, PT_MINUTEF, PT_MOD, PT_MODULUS, PT_MONTHF, PT_MONTHS_BETWEEN, PT_NAME, PT_NE, PT_NEW_TIME, PT_NEXT_VALUE, PT_NULLIF, PT_NULLSAFE_EQ, PT_NVL, PT_NVL2, PT_OCTET_LENGTH, PT_OID_OF_DUPLICATE_KEY, PT_PARAMETER, PT_PI, PT_PLUS, PT_POSITION, PT_POWER, PT_QUARTERF, PT_RADIANS, PT_REPEAT, PT_REPLACE, PT_REVERSE, PT_RIGHT, PT_ROUND, PT_ROW_COUNT, PT_RPAD, PT_RTRIM, PT_SCHEMA, PT_SCHEMA_DEF, PT_SECONDF, PT_SECTOTIME, PT_SESSIONTIMEZONE, PT_SHA_ONE, PT_SHA_TWO, PT_SIGN, PT_SIN, PT_SQRT, PT_STR_TO_DATE, PT_STRCMP, PT_SUBDATE, PT_SUBSTRING, PT_SUBSTRING_INDEX, PT_SYS_DATE, PT_SYS_DATETIME, PT_SYS_TIME, PT_SYS_TIMESTAMP, PT_TAN, PT_TIME_FORMAT, PT_TIMEDIFF, PT_TIMEF, PT_TIMES, PT_TIMESTAMP, PT_TIMETOSEC, PT_TO_BASE64, PT_TO_CHAR, PT_TO_DATE, PT_TO_DATETIME, PT_TO_DATETIME_TZ, PT_TO_ENUMERATION_VALUE, PT_TO_NUMBER, PT_TO_TIME, PT_TO_TIMESTAMP, PT_TO_TIMESTAMP_TZ, PT_TODAYS, PT_TRANSLATE, PT_TRIM, PT_TRUNC, PT_TZ_OFFSET, PT_UNARY_MINUS, PT_UNIX_TIMESTAMP, PT_UPPER, PT_USER, PT_UTC_DATE, PT_UTC_TIME, PT_UTC_TIMESTAMP, PT_VALUE, PT_VERSION, PT_WEEKDAY, PT_WEEKF, PT_WIDTH_BUCKET, and PT_YEARF.

Referenced by pt_check_cume_dist_percent_rank_order_by(), pt_is_const_expr_node(), pt_is_function_index_expr(), pt_remove_unusable_sort_specs(), and qo_search_comp_pair_term().

Here is the caller graph for this function:

int pt_is_function_index_expression ( PT_NODE node)

Definition at line 1294 of file parser_support.c.

References parser_node::node_type, NULL, PT_EXPR, PT_EXPR_INFO_FUNCTION_INDEX, and PT_EXPR_INFO_IS_FLAGED.

Referenced by qo_analyze_term(), qo_convert_to_range(), qo_reduce_equality_terms(), and qo_rewrite_subqueries().

Here is the caller graph for this function:

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

Definition at line 1179 of file parser_support.c.

References parser_node::node_type, PT_IS_INSTNUM, PT_IS_ORDERBYNUM, PT_IS_QUERY_NODE_TYPE, PT_LIST_WALK, and PT_STOP_WALK.

Referenced by pt_has_inst_or_orderby_num().

Here is the caller graph for this function:

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

Definition at line 1154 of file parser_support.c.

References PT_CONTINUE_WALK, and PT_STOP_WALK.

Referenced by pt_has_inst_or_orderby_num().

Here is the caller graph for this function:

bool pt_is_keyword ( const char *  s)

Definition at line 724 of file keyword.c.

References pt_find_keyword().

Referenced by pt_append_name().

Here is the caller graph for this function:

int pt_is_method_call ( PT_NODE node)

Definition at line 1251 of file parser_support.c.

References parser_node::node_type, NULL, pt_get_end_path_node(), and PT_METHOD_CALL.

Referenced by pt_check_and_replace_hostvar(), and pt_fillin_type_size().

Here is the caller graph for this function:

bool pt_is_pseudo_const ( PT_NODE expr)

Definition at line 3655 of file query_graph.c.

References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, pt_function_info::arg_list, assert, pt_query_info::correlation_level, pt_statement_info::expr, F_MULTISET, F_SEQUENCE, F_SET, pt_statement_info::function, pt_function_info::function_type, parser_node::info, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, p, PT_ABS, PT_ACOS, PT_ADD_MONTHS, PT_ADDDATE, PT_ADDTIME, PT_AES_DECRYPT, PT_AES_ENCRYPT, PT_ASCII, PT_ASIN, PT_ATAN, PT_ATAN2, PT_BETWEEN_AND, PT_BETWEEN_EQ_NA, PT_BETWEEN_GE_INF, PT_BETWEEN_GE_LE, PT_BETWEEN_GE_LT, PT_BETWEEN_GT_INF, PT_BETWEEN_GT_LE, PT_BETWEEN_GT_LT, PT_BETWEEN_INF_LE, PT_BETWEEN_INF_LT, PT_BIN, PT_BIT_AND, PT_BIT_COUNT, PT_BIT_LENGTH, PT_BIT_NOT, PT_BIT_OR, PT_BIT_XOR, PT_BITSHIFT_LEFT, PT_BITSHIFT_RIGHT, PT_CASE, PT_CAST, PT_CEIL, PT_CHAR_LENGTH, PT_CHARSET, PT_CHR, PT_COALESCE, PT_COERCIBILITY, PT_COLLATION, PT_CONCAT, PT_CONCAT_WS, PT_CONV, PT_CONV_TZ, PT_COS, PT_COT, PT_CRC32, PT_CURRENT_DATE, PT_CURRENT_DATETIME, PT_CURRENT_TIME, PT_CURRENT_TIMESTAMP, PT_CURRENT_USER, PT_CURRENT_VALUE, PT_DATABASE, PT_DATE_ADD, PT_DATE_FORMAT, PT_DATE_SUB, PT_DATEDIFF, PT_DATEF, PT_DAYF, PT_DAYOFMONTH, PT_DAYOFWEEK, PT_DAYOFYEAR, PT_DBTIMEZONE, PT_DECODE, PT_DEFAULTF, PT_DEGREES, PT_DIFFERENCE, PT_DISK_SIZE, PT_DIV, PT_DIVIDE, PT_DOT_, PT_EVALUATE_VARIABLE, PT_EXP, PT_EXPR, PT_EXTRACT, PT_FIELD, PT_FINDINSET, PT_FLOOR, PT_FORMAT, PT_FROM_BASE64, PT_FROM_TZ, PT_FROM_UNIXTIME, PT_FROMDAYS, PT_FUNCTION, PT_FUNCTION_HOLDER, PT_GREATEST, PT_HEX, PT_HOST_VAR, PT_HOURF, PT_IF, PT_IFNULL, PT_INDEX_PREFIX, PT_INET_ATON, PT_INET_NTOA, PT_INSTR, PT_INTERSECTION, pt_is_pseudo_const(), PT_ISNULL, PT_LAST_DAY, PT_LAST_INSERT_ID, PT_LEAST, PT_LEFT, PT_LIKE_LOWER_BOUND, PT_LIKE_UPPER_BOUND, PT_LIST_DBS, PT_LN, PT_LOCAL_TRANSACTION_ID, PT_LOCATE, PT_LOG, PT_LOG10, PT_LOG2, PT_LOWER, PT_LPAD, PT_LTRIM, PT_MAKEDATE, PT_MAKETIME, PT_MD5, PT_MID, PT_MINUS, PT_MINUTEF, PT_MOD, PT_MODULUS, PT_MONTHF, PT_MONTHS_BETWEEN, PT_NAME, PT_NEW_TIME, PT_NEXT_VALUE, PT_NULLIF, PT_NVL, PT_NVL2, PT_OCTET_LENGTH, PT_OID_OF_DUPLICATE_KEY, PT_PI, PT_PLUS, PT_POSITION, PT_POWER, PT_PRIOR, PT_QPRIOR, PT_QUARTERF, PT_RADIANS, PT_REPEAT, PT_REPLACE, PT_REVERSE, PT_RIGHT, PT_ROUND, PT_ROW_COUNT, PT_RPAD, PT_RTRIM, PT_SCHEMA, PT_SCHEMA_DEF, PT_SECONDF, PT_SECTOTIME, PT_SELECT, PT_SHA_ONE, PT_SHA_TWO, PT_SIGN, PT_SIN, PT_SPACE, PT_SQRT, PT_STR_TO_DATE, PT_STRCAT, PT_STRCMP, PT_SUBDATE, PT_SUBSTRING, PT_SUBSTRING_INDEX, PT_SYS_DATE, PT_SYS_DATETIME, PT_SYS_TIME, PT_SYS_TIMESTAMP, PT_TAN, PT_TIME_FORMAT, PT_TIMEDIFF, PT_TIMEF, PT_TIMES, PT_TIMESTAMP, PT_TIMETOSEC, PT_TO_BASE64, PT_TO_CHAR, PT_TO_DATE, PT_TO_DATETIME, PT_TO_DATETIME_TZ, PT_TO_ENUMERATION_VALUE, PT_TO_NUMBER, PT_TO_TIME, PT_TO_TIMESTAMP, PT_TO_TIMESTAMP_TZ, PT_TODAYS, PT_TRANSLATE, PT_TRIM, PT_TRUNC, PT_TZ_OFFSET, PT_UNARY_MINUS, PT_UNION, PT_UNIX_TIMESTAMP, PT_UPPER, PT_USER, PT_UTC_DATE, PT_UTC_TIME, PT_UTC_TIMESTAMP, PT_VALUE, PT_VERSION, PT_WEEKDAY, PT_WEEKF, PT_YEARF, and pt_statement_info::query.

Referenced by pt_is_pseudo_const(), qo_analyze_term(), and qo_rewrite_like_terms().

Here is the caller graph for this function:

PT_NODE* pt_is_pseudocolumn_node ( PARSER_CONTEXT parser,
PT_NODE tree,
void *  arg,
int *  continue_walk 
)
bool pt_is_reserved_word ( const char *  s)

Definition at line 697 of file keyword.c.

References pt_find_keyword(), and keyword_record::unreserved.

Referenced by db_create_vclass().

Here is the caller graph for this function:

int pt_is_server_insert_with_generated_keys ( PARSER_CONTEXT parser,
PT_NODE statement 
)
bool pt_is_symmetric_op ( PT_OP_TYPE  op)

Definition at line 6348 of file type_checking.c.

References PT_ABS, PT_ADD_MONTHS, PT_ADDDATE, PT_ADDTIME, PT_AES_DECRYPT, PT_AES_ENCRYPT, PT_ASSIGN, PT_ATAN2, PT_BETWEEN_EQ_NA, PT_BETWEEN_GE_INF, PT_BETWEEN_GT_INF, PT_BETWEEN_INF_LE, PT_BETWEEN_INF_LT, PT_BIN, PT_BIT_LENGTH, PT_BIT_TO_BLOB, PT_BLOB_FROM_FILE, PT_BLOB_LENGTH, PT_BLOB_TO_BIT, PT_CASE, PT_CAST, PT_CHAR_LENGTH, PT_CHAR_TO_BLOB, PT_CHAR_TO_CLOB, PT_CHARSET, PT_CHR, PT_CLOB_FROM_FILE, PT_CLOB_LENGTH, PT_CLOB_TO_CHAR, PT_COALESCE, PT_COERCIBILITY, PT_COLLATION, PT_CONCAT, PT_CONCAT_WS, PT_CONNECT_BY_ISCYCLE, PT_CONNECT_BY_ISLEAF, PT_CONNECT_BY_ROOT, PT_CONV, PT_CONV_TZ, PT_CRC32, PT_CURRENT_DATE, PT_CURRENT_DATETIME, PT_CURRENT_TIME, PT_CURRENT_TIMESTAMP, PT_CURRENT_USER, PT_CURRENT_VALUE, PT_DATABASE, PT_DATE_ADD, PT_DATE_FORMAT, PT_DATE_SUB, PT_DAYF, PT_DAYOFMONTH, PT_DAYOFWEEK, PT_DAYOFYEAR, PT_DBTIMEZONE, PT_DECODE, PT_DECR, PT_DEFINE_VARIABLE, PT_DISK_SIZE, PT_DRAND, PT_DRANDOM, PT_EQ_ALL, PT_EQ_SOME, PT_EVALUATE_VARIABLE, PT_EXEC_STATS, PT_EXTRACT, PT_FIELD, PT_FINDINSET, PT_FORMAT, PT_FROM_TZ, PT_FROM_UNIXTIME, PT_FROMDAYS, PT_FUNCTION_HOLDER, PT_GE_ALL, PT_GE_SOME, PT_GT_ALL, PT_GT_INF, PT_GT_SOME, PT_HOURF, PT_IF, PT_IFNULL, PT_INCR, PT_INDEX_CARDINALITY, PT_INDEX_PREFIX, PT_INST_NUM, PT_INSTR, PT_IS, PT_IS_IN, PT_IS_NOT, PT_IS_NOT_IN, PT_IS_NOT_NULL, PT_IS_NULL, PT_LAST_DAY, PT_LAST_INSERT_ID, PT_LE_ALL, PT_LE_SOME, PT_LEFT, PT_LEVEL, PT_LIKE_ESCAPE, PT_LIKE_LOWER_BOUND, PT_LIKE_UPPER_BOUND, PT_LIST_DBS, PT_LOCAL_TRANSACTION_ID, PT_LOCATE, PT_LPAD, PT_LT_ALL, PT_LT_INF, PT_LT_SOME, PT_LTRIM, PT_MAKEDATE, PT_MAKETIME, PT_MID, PT_MINUTEF, PT_MONTHF, PT_MONTHS_BETWEEN, PT_NE_ALL, PT_NE_SOME, PT_NEW_TIME, PT_NEXT_VALUE, PT_NOT_RLIKE, PT_NOT_RLIKE_BINARY, PT_NVL, PT_NVL2, PT_OCTET_LENGTH, PT_ORDERBY_NUM, PT_PI, PT_POSITION, PT_POWER, PT_QPRIOR, PT_QUARTERF, PT_RAND, PT_RANDOM, PT_REPEAT, PT_REPLACE, PT_REVERSE, PT_RIGHT, PT_RLIKE, PT_RLIKE_BINARY, PT_ROUND, PT_ROW_COUNT, PT_ROWNUM, PT_RPAD, PT_RTRIM, PT_SCHEMA, PT_SCHEMA_DEF, PT_SECONDF, PT_SECTOTIME, PT_SESSIONTIMEZONE, PT_SHA_ONE, PT_SHA_TWO, PT_SLEEP, PT_STR_TO_DATE, PT_SUBDATE, PT_SUBSTRING, PT_SUBSTRING_INDEX, PT_SYS_CONNECT_BY_PATH, PT_SYS_DATE, PT_SYS_DATETIME, PT_SYS_GUID, PT_SYS_TIME, PT_SYS_TIMESTAMP, PT_TIME_FORMAT, PT_TIMEF, PT_TIMESTAMP, PT_TIMETOSEC, PT_TO_CHAR, PT_TO_DATE, PT_TO_DATETIME, PT_TO_DATETIME_TZ, PT_TO_ENUMERATION_VALUE, PT_TO_NUMBER, PT_TO_TIME, PT_TO_TIMESTAMP, PT_TO_TIMESTAMP_TZ, PT_TODAYS, PT_TRACE_STATS, PT_TRANSLATE, PT_TRIM, PT_TRUNC, PT_TYPEOF, PT_TZ_OFFSET, PT_UNIX_TIMESTAMP, PT_USER, PT_UTC_DATE, PT_UTC_TIME, PT_UTC_TIMESTAMP, PT_VERSION, PT_WEEKDAY, PT_WEEKF, PT_WIDTH_BUCKET, and PT_YEARF.

Referenced by pt_coerce_expr_arguments(), pt_coerce_expression_argument(), pt_eval_expr_type(), pt_expr_get_return_type(), pt_infer_common_type(), and qo_reduce_equality_terms().

Here is the caller graph for this function:

PT_NODE* pt_lambda ( PARSER_CONTEXT parser_ptr,
PT_NODE expression,
PT_NODE name,
PT_NODE named_expression 
)

Definition at line 1090 of file parse_tree_cl.c.

References pt_lambda_with_arg().

Referenced by meth_replace_referenced_attrs(), and mq_push_path().

Here is the caller graph for this function:

PT_NODE* pt_left_part ( const PT_NODE expr)

Definition at line 2042 of file parser_support.c.

References pt_dot_info::arg1, pt_expr_info::arg1, pt_statement_info::dot, pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, PT_DOT_, and PT_EXPR.

Referenced by gen_outer().

Here is the caller graph for this function:

bool pt_list_has_logical_nodes ( PT_NODE list)

Definition at line 7875 of file parser_support.c.

References parser_node::next, PT_TYPE_LOGICAL, and parser_node::type_enum.

Referenced by pt_eval_expr_type(), pt_eval_function_type_new(), and pt_eval_function_type_old().

Here is the caller graph for this function:

DB_QUERY_RESULT* pt_make_cache_hit_result_descriptor ( void  )

Definition at line 1127 of file query_result.c.

References db_alloc_query_result(), db_init_query_result(), NULL, and T_CACHE_HIT.

Referenced by db_execute_and_keep_statement_local().

Here is the caller graph for this function:

PT_NODE* pt_make_prim_data_type_fortonum ( PARSER_CONTEXT parser,
int  prec,
int  scale 
)
PT_NODE* pt_make_query_show_grants_curr_usr ( PARSER_CONTEXT parser)

Definition at line 7053 of file parser_support.c.

References au_user_name(), db_string_free(), NULL, and pt_make_query_show_grants().

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

Definition at line 8515 of file parser_support.c.

References assert_release, parser_node::next, NULL, parser_copy_tree(), pt_check_path_eq(), PT_INTERNAL_ERROR, and pt_tuple_value().

Referenced by pt_append_odku_references().

Here is the caller graph for this function:

MISC_OPERAND pt_misc_to_qp_misc_operand ( PT_MISC_TYPE  misc_specifier)
PT_NODE* pt_name ( PARSER_CONTEXT parser_ptr,
const char *  name 
)

Definition at line 302 of file parser_support.c.

References parser_node::info, pt_statement_info::name, NULL, pt_name_info::original, parser_new_node(), pt_append_string(), and PT_NAME.

Referenced by char_array_to_name_list(), create_select_to_insert_into(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), mq_make_derived_spec(), mq_new_spec(), mq_rewrite_agg_names(), mq_rewrite_aggregate_as_derived(), mq_rewrite_order_dependent_nodes(), mq_rewrite_order_dependent_query(), mq_rewrite_query_as_derived(), pt_add_table_name_to_from_list(), pt_check_union_type_compatibility_of_values_query(), pt_copy_data_type_entity(), pt_derive_attribute(), pt_expand_external_path(), pt_filter_pseudo_specs(), pt_find_class_of_index(), pt_fix_first_term_expr_for_iss(), pt_fold_const_expr(), pt_function_name_is_spec_attr(), pt_get_all_attributes_and_types(), pt_get_all_json_table_attributes_and_types(), pt_get_all_showstmt_attributes_and_types(), pt_get_attr_list_of_derived_table(), pt_get_attributes(), pt_get_object_data_type(), pt_get_resolution(), pt_make_dotted_identifier_internal(), pt_make_field_key_type_expr_node(), pt_make_field_type_expr_node(), pt_make_flat_name_list(), pt_make_outer_select_for_show_columns(), pt_make_outer_select_for_show_stmt(), pt_make_query_user_groups(), pt_make_subclass_list(), pt_replace_names_index_expr(), pt_resolve_correlation(), pt_resolve_star(), pt_resolve_star_reserved_names(), pt_rewrite_derived_for_upd_del(), pt_select_list_to_one_col(), pt_semantic_check_local(), pt_spec_to_oid_attr(), pt_to_delete_xasl(), pt_to_false_subquery(), qo_convert_attref_to_dotexpr(), qo_make_new_derived_tblspec(), and replace_names_alter_chg_attr().

int pt_name_occurs_in_from_list ( PARSER_CONTEXT parser,
const char *  name,
PT_NODE from_list 
)
DB_DOMAIN* pt_node_data_type_to_db_domain ( PARSER_CONTEXT parser,
PT_NODE dt,
PT_TYPE_ENUM  type 
)

Definition at line 2029 of file parse_dbi.c.

References ARG_FILE_LINE, assert, ASSERT_ERROR, parser_varchar::bytes, tp_domain::class_mop, tp_domain::codeset, tp_domain::collation_flag, pt_data_type_info::collation_flag, tp_domain::collation_id, db_enumeration::collation_id, pt_data_type_info::collation_id, db_enumeration::count, pt_statement_info::data_type, DB_DEFAULT_PRECISION, db_find_class(), db_json_load_validator(), DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DB_VALUE, DB_TYPE_DOUBLE, DB_TYPE_ELO, DB_TYPE_ENUMERATION, DB_TYPE_ERROR, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_MIDXKEY, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_POINTER, DB_TYPE_RESULTSET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SUB, DB_TYPE_TABLE, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, pt_data_type_info::dec_precision, DOM_SET_ENUM_ELEMENTS, DOM_SET_ENUM_ELEMS_COUNT, db_enumeration::elements, pt_data_type_info::entity, tp_domain::enumeration, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ER_SM_DOMAIN_NOT_A_CLASS, error(), parser_node::info, pt_data_type_info::json_schema, tp_domain::json_validator, LANG_SYS_CODESET, LANG_SYS_COLLATION, parser_varchar::length, pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, tp_domain::precision, pt_data_type_info::precision, pt_data_type_to_db_domain(), pt_get_enumeration_from_data_type(), PT_NAME, pt_type_enum_to_db(), pt_type_enum_to_db_domain(), tp_domain::scale, tp_domain::self_ref, tp_domain_add(), tp_domain_clear_enumeration(), TP_DOMAIN_COLL_ENFORCE, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLL_NORMAL, tp_domain_construct(), tp_domain_new(), parser_node::type_enum, pt_data_type_info::units, and pt_data_type_info::virt_object.

Referenced by pt_coerce_value_internal(), and pt_to_regu_variable().

Here is the caller graph for this function:

void* pt_node_etc ( const PT_NODE col)

Definition at line 2572 of file parser_support.c.

References parser_node::etc, and NULL.

Referenced by db_execute_and_keep_statement_local(), and pt_count_ctes_post().

Here is the caller graph for this function:

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

Definition at line 395 of file parser_support.c.

References parser_node::info, pt_node_list_info::list, pt_node_list_info::list_type, pt_statement_info::node_list, parser_new_node(), and PT_NODE_LIST.

Referenced by create_select_to_insert_into().

Here is the caller graph for this function:

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

Definition at line 4412 of file parser_support.c.

References assert, ER_GENERIC_ERROR, error(), parser_node::next, NO_ERROR, and NULL.

Referenced by pt_eval_function_type_old().

Here is the caller graph for this function:

PT_NODE* pt_node_next ( const PT_NODE node)

Definition at line 2540 of file parser_support.c.

References parser_node::etc, parser_node::next, and NULL.

Referenced by db_marker_next(), db_parameter_next(), and pmeta_get_info_internal().

Here is the caller graph for this function:

const char* pt_node_to_db_domain_name ( PT_NODE node)
void pt_null_etc ( PT_NODE node)

Definition at line 2587 of file parser_support.c.

References parser_node::etc, and NULL.

Referenced by db_execute_and_keep_statement_local(), do_execute_do(), do_select_internal(), and pt_count_ctes_post().

Here is the caller graph for this function:

int pt_null_where ( PARSER_CONTEXT parser,
PT_NODE node 
)
PT_OP_TYPE pt_op_type_from_default_expr ( DB_DEFAULT_EXPR_TYPE  expr_type)
const char* pt_partition_name ( PARSER_CONTEXT parser,
const char *  class_name,
const char *  partition 
)
PT_NODE* pt_point_l ( PARSER_CONTEXT parser,
const PT_NODE tree 
)

Definition at line 1268 of file parse_tree_cl.c.

References parser_node::next, NULL, parser_append_node(), parser_free_tree(), pt_point(), and pt_lambda_arg::tree.

Referenced by pt_make_aptr_parent_node().

Here is the caller graph for this function:

PT_NODE* pt_point_ref ( PARSER_CONTEXT parser,
const PT_NODE node 
)

Definition at line 1314 of file parse_tree_cl.c.

References parser_node::info, NULL, pt_statement_info::pointer, pt_point(), PT_POINTER_REF, and pt_pointer_info::type.

Referenced by pt_expand_analytic_node(), and pt_to_analytic_final_node().

Here is the caller graph for this function:

PT_NODE* pt_pointer_stack_pop ( PARSER_CONTEXT parser,
PT_NODE stack,
PT_NODE **  node 
)
PT_NODE* pt_pointer_stack_push ( PARSER_CONTEXT parser,
PT_NODE stack,
PT_NODE node 
)
PT_NODE* pt_pop ( PARSER_CONTEXT parser)

Definition at line 1638 of file parse_tree_cl.c.

References parser_context::node_stack, NULL, and parser_context::stack_top.

Referenced by pt_make_query_show_exec_stats(), pt_make_query_show_exec_stats_all(), and pt_rewrite_set_eq_set().

Here is the caller graph for this function:

int pt_prepare_count_optim_classes ( PARSER_CONTEXT parser,
PT_NODE stmt 
)
char* pt_print_alias ( PARSER_CONTEXT parser,
const PT_NODE node 
)

Definition at line 2608 of file parse_tree_cl.c.

References NULL, and pt_print_bytes_alias().

Referenced by pt_get_node_title().

Here is the caller graph for this function:

PARSER_VARCHAR* pt_print_bytes ( PARSER_CONTEXT parser,
const PT_NODE node 
)

Definition at line 2268 of file parse_tree_cl.c.

References CAST_POINTER_TO_NODE, parser_node::flag, parser_context::flag, parser_node::is_cnf_start, parser_context::is_in_and_list, parser_node::node_type, NULL, PT_LAST_NODE_NUMBER, pt_print_and_list(), and pt_print_f.

Referenced by create_or_drop_index_helper(), do_recreate_filter_index_constr(), do_replicate_statement(), parser_print_tree(), parser_print_tree_with_quotes(), pt_fold_const_expr(), pt_get_attr_list_of_derived_table(), pt_print_alter(), pt_print_alter_index(), pt_print_alter_one_clause(), pt_print_alter_serial(), pt_print_alter_stored_procedure(), pt_print_alter_trigger(), pt_print_alter_user(), pt_print_and_list(), pt_print_attr_def(), pt_print_attr_ordering(), pt_print_auto_increment(), pt_print_bytes_alias(), pt_print_bytes_l(), pt_print_bytes_spec_list(), pt_print_col_def_constraint(), pt_print_constraint(), pt_print_create_entity(), pt_print_create_index(), pt_print_create_serial(), pt_print_create_stored_procedure(), pt_print_create_trigger(), pt_print_create_user(), pt_print_data_default(), pt_print_datatype(), pt_print_delete(), pt_print_difference(), pt_print_dot(), pt_print_drop_index(), pt_print_drop_serial(), pt_print_drop_user(), pt_print_evaluate(), pt_print_event_spec(), pt_print_event_target(), pt_print_expr(), pt_print_file_path(), pt_print_function(), pt_print_get_opt_lvl(), pt_print_get_stats(), pt_print_get_trigger(), pt_print_get_xaction(), pt_print_host_var(), pt_print_index_columns(), pt_print_insert(), pt_print_intersection(), pt_print_isolation_lvl(), pt_print_json_table(), pt_print_json_table_column_info(), pt_print_json_table_node(), pt_print_merge(), pt_print_method_call(), pt_print_method_def(), pt_print_name(), pt_print_named_arg(), pt_print_partition(), pt_print_parts(), pt_print_range_op(), pt_print_rename(), pt_print_rename_trigger(), pt_print_resolution(), pt_print_rollback_work(), pt_print_savepoint(), pt_print_scope(), pt_print_select(), pt_print_session_variables(), pt_print_set_names(), pt_print_set_opt_lvl(), pt_print_set_sys_params(), pt_print_set_timezone(), pt_print_set_trigger(), pt_print_sort_spec(), pt_print_sp_parameter(), pt_print_spec(), pt_print_timeout(), pt_print_trigger_action(), pt_print_union_stmt(), and pt_print_update().

PARSER_VARCHAR* pt_print_bytes_alias ( PARSER_CONTEXT parser,
const PT_NODE node 
)

Definition at line 2244 of file parse_tree_cl.c.

References parser_node::alias_print, NULL, pt_append_name(), and pt_print_bytes().

Referenced by pt_print_alias(), and pt_print_pointer().

Here is the caller graph for this function:

PARSER_VARCHAR* pt_print_bytes_l ( PARSER_CONTEXT parser,
const PT_NODE node 
)
char* pt_print_query_spec_no_list ( PARSER_CONTEXT parser,
const PT_NODE node 
)
int pt_push ( PARSER_CONTEXT parser,
PT_NODE q 
)

Definition at line 1591 of file parse_tree_cl.c.

References DELTA, INITIAL_EXTENT, parser_context::node_stack, parser_alloc(), parser_context::stack_size, and parser_context::stack_top.

Referenced by pt_rewrite_set_eq_set().

Here is the caller graph for this function:

void pt_put_type_enum ( PARSER_CONTEXT parser,
PT_NODE node,
PT_NODE data_type 
)
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 
)
PT_NODE* pt_remove_from_list ( PARSER_CONTEXT parser,
PT_NODE node,
PT_NODE list 
)

Definition at line 12559 of file semantic_check.c.

References parser_node::next, NULL, and parser_free_tree().

Referenced by pt_check_analytic_function(), pt_check_function_index_expr(), pt_check_order_by(), and qo_reduce_order_by().

Here is the caller graph for this function:

PT_NODE* pt_resolve_names ( PARSER_CONTEXT parser,
PT_NODE statement,
SEMANTIC_CHK_INFO sc_info 
)
void pt_restore_assignment_links ( PT_NODE assigns,
PT_NODE **  links,
int  count 
)
PT_NODE* pt_right_part ( const PT_NODE expr)

Definition at line 2065 of file parser_support.c.

References pt_dot_info::arg2, pt_expr_info::arg2, pt_statement_info::dot, pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, PT_DOT_, and PT_EXPR.

Referenced by gen_outer().

Here is the caller graph for this function:

DB_VALUE* pt_seq_value_to_db ( PARSER_CONTEXT parser,
PT_NODE values,
DB_VALUE db_value,
PT_NODE **  el_types 
)
void pt_set_expected_domain ( PT_NODE node,
TP_DOMAIN domain 
)

Definition at line 8502 of file type_checking.c.

References parser_node::expected_domain, NULL, parser_node::or_next, PT_TYPE_MAYBE, and parser_node::type_enum.

Referenced by pt_assignment_compatible().

Here is the caller graph for this function:

PT_NODE* pt_set_is_view_spec ( PARSER_CONTEXT parser,
PT_NODE node,
void *  dummy,
int *  continue_walk 
)
DB_VALUE* pt_set_value_to_db ( PARSER_CONTEXT parser,
PT_NODE **  values,
DB_VALUE db_value,
PT_NODE **  el_types 
)
char* pt_short_print ( PARSER_CONTEXT parser,
const PT_NODE p 
)

Definition at line 2829 of file parse_tree_cl.c.

References parser_context::max_print_len, NULL, parser_print_tree(), and strlen.

Referenced by check_default_on_update_clause(), do_alter_one_clause_with_template(), do_evaluate_insert_values(), do_insert_template(), do_replace_names_for_insert_values_pre(), get_att_default_from_def(), mq_class_lambda(), mq_invert_insert_select(), pt_apply_union_select_list_collation(), pt_bind_name_or_path_in_scope(), pt_bind_names(), pt_bind_names_post(), pt_bind_spec_attrs(), pt_check_analytic_function(), pt_check_cast_op(), pt_check_class_eq(), pt_check_create_entity(), pt_check_create_index(), pt_check_create_view(), pt_check_cume_dist_percent_rank_order_by(), pt_check_filter_index_expr(), pt_check_group_concat_order_by(), pt_check_order_by(), pt_check_path_eq(), pt_check_single_valued_node(), pt_check_vclass_query_spec(), pt_check_vclass_union_spec(), pt_check_with_info(), pt_coerce_value_internal(), pt_db_value_initialize(), pt_eval_function_type_new(), pt_eval_function_type_old(), pt_eval_path_expr(), pt_evaluate_db_value_expr(), pt_evaluate_tree_internal(), pt_get_common_type_for_union(), pt_get_compatible_info(), pt_get_resolution(), pt_get_values_query_compatible_info(), pt_insert_entity(), pt_node_to_enumeration_expr(), pt_resolve_correlation(), pt_resolve_group_having_alias_pt_name(), pt_resolve_using_index(), pt_semantic_check_local(), pt_set_attr_list_types(), pt_to_sort_list(), pt_undef_names_pre(), qo_optimize_queries_post(), qo_reduce_equality_terms(), and qo_reduce_order_by().

char* pt_short_print_l ( PARSER_CONTEXT parser,
const PT_NODE p 
)

Definition at line 2859 of file parse_tree_cl.c.

References parser_context::max_print_len, NULL, parser_print_tree_list(), and strlen.

Referenced by pt_check_create_entity(), pt_flat_spec_pre(), pt_get_resolution(), and pt_set_attr_list_types().

Here is the caller graph for this function:

const char* pt_show_binopcode ( PT_OP_TYPE  n)

Definition at line 3347 of file parse_tree_cl.c.

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

Referenced by pt_check_data_default(), pt_check_expr_collation(), pt_check_filter_index_expr_pre(), pt_check_recursive_expr_collation(), pt_coerce_expression_argument(), pt_eval_expr_type(), pt_expr_disallow_op_pre(), pt_is_function_index_expr(), pt_print_expr(), pt_print_range_op(), pt_rewrite_set_eq_set(), and pt_to_regu_variable().

Here is the caller graph for this function:

const char* pt_show_misc_type ( PT_MISC_TYPE  p)

Definition at line 3190 of file parse_tree_cl.c.

References PT_ACTIVE, PT_AFTER, PT_ALL, PT_ASC, PT_ATTRIBUTE, PT_BEFORE, PT_BIT_STRING, PT_CHAR_STRING, PT_CLASS, PT_CONSTRAINT_NAME, PT_DAY, PT_DEFAULT, PT_DEFERRED, PT_DESC, PT_DISTINCT, PT_FILE_RENAME, PT_FUNCTION_RENAME, PT_GRANT_OPTION, PT_HEX_STRING, PT_HOUR, PT_INACTIVE, PT_INDEX_NAME, PT_INPUT, PT_INPUTOUTPUT, PT_INVALIDATE_XACTION, PT_IS_SUBINSERT, PT_IS_SUBQUERY, PT_IS_VALUE, PT_ISOLATION_LEVEL, PT_LOCK_TIMEOUT, PT_MATCH_FULL, PT_MATCH_PARTIAL, PT_MATCH_REGULAR, PT_META_ATTR, PT_META_CLASS, PT_METHOD, PT_MILLISECOND, PT_MINUTE, PT_MISC_DUMMY, PT_MONTH, PT_NCHAR_STRING, PT_NO_GRANT_OPTION, PT_NO_ISOLATION_LEVEL, PT_NOPUT, PT_NORMAL, PT_ONLY, PT_OPT_COST, PT_OPT_LVL, PT_OUTPUT, PT_PRINT, PT_READ_COMMITTED, PT_REJECT, PT_REPEATABLE_READ, PT_RULE_CASCADE, PT_RULE_NO_ACTION, PT_RULE_RESTRICT, PT_RULE_SET_NULL, PT_SEARCHED_CASE, PT_SECOND, PT_SERIALIZABLE, PT_SHARED, PT_SIMPLE_CASE, PT_SP_FUNCTION, PT_SP_PROCEDURE, PT_TRACE_FORMAT_JSON, PT_TRACE_FORMAT_TEXT, PT_TRACE_OFF, PT_TRACE_ON, PT_TRIGGER_DEPTH, PT_TRIGGER_TRACE, PT_VCLASS, and PT_YEAR.

Referenced by map_iso_levels(), pt_check_alter(), pt_check_create_entity(), pt_check_drop(), pt_check_truncate(), pt_eval_expr_type(), pt_evaluate_db_value_expr(), pt_help_show_create_table(), pt_print_alter(), pt_print_alter_one_clause(), pt_print_alter_trigger(), pt_print_col_def_constraint(), pt_print_constraint(), pt_print_create_entity(), pt_print_create_stored_procedure(), pt_print_create_trigger(), pt_print_drop_stored_procedure(), pt_print_get_opt_lvl(), pt_print_get_trigger(), pt_print_get_xaction(), pt_print_isolation_lvl(), pt_print_query_trace(), pt_print_rename(), pt_print_set_opt_lvl(), pt_print_set_trigger(), pt_print_sp_parameter(), and pt_print_trigger_action().

const char* pt_show_partition_type ( PT_PARTITION_TYPE  t)

Definition at line 4124 of file parse_tree_cl.c.

References PT_PARTITION_HASH, PT_PARTITION_LIST, and PT_PARTITION_RANGE.

Referenced by pt_print_partition().

Here is the caller graph for this function:

const char* pt_show_priv ( PT_PRIV_TYPE  t)
const char* pt_show_type_enum ( PT_TYPE_ENUM  t)

Definition at line 3948 of file parse_tree_cl.c.

References PT_ADD_ATTR_MTHD, PT_ADD_HASHPARTITION, PT_ADD_PARTITION, PT_ADD_QUERY, PT_ADD_SUPCLASS, PT_ALTER_DEFAULT, PT_ANALYZE_PARTITION, PT_APPLY_PARTITION, PT_COALESCE_PARTITION, PT_DROP_ATTR_MTHD, PT_DROP_CONSTRAINT, PT_DROP_FK_CLAUSE, PT_DROP_INDEX_CLAUSE, PT_DROP_PARTITION, PT_DROP_PRIMARY_CLAUSE, PT_DROP_QUERY, PT_DROP_RESOLUTION, PT_DROP_SUPCLASS, PT_MODIFY_ATTR_MTHD, PT_MODIFY_DEFAULT, PT_MODIFY_QUERY, PT_PROMOTE_PARTITION, PT_REMOVE_PARTITION, PT_RENAME_ATTR_MTHD, PT_RENAME_ENTITY, PT_RENAME_RESOLUTION, PT_REORG_PARTITION, PT_RESET_QUERY, PT_TYPE_BIGINT, PT_TYPE_BIT, PT_TYPE_BLOB, PT_TYPE_CHAR, PT_TYPE_CLOB, PT_TYPE_COMPOUND, PT_TYPE_DATE, PT_TYPE_DATETIME, PT_TYPE_DATETIMELTZ, PT_TYPE_DATETIMETZ, PT_TYPE_DOUBLE, PT_TYPE_ELO, PT_TYPE_ENUMERATION, PT_TYPE_FLOAT, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_LOGICAL, PT_TYPE_MAX, PT_TYPE_MAYBE, PT_TYPE_MONETARY, PT_TYPE_MULTISET, PT_TYPE_NA, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NULL, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_RESULTSET, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_SMALLINT, PT_TYPE_STAR, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, and PT_TYPE_VARNCHAR.

Referenced by check_att_chg_allowed(), check_default_on_update_clause(), do_add_attribute_from_select_column(), do_update_new_notnull_cols_without_default(), get_att_default_from_def(), func_type::Node::invalid_arg_error(), func_type::Node::preprocess(), pt_arg_type_to_string_buffer(), pt_check_cast_op(), pt_check_cume_dist_percent_rank_order_by(), pt_coerce_expression_argument(), pt_coerce_value_internal(), pt_dbval_to_value(), pt_eval_expr_type(), pt_eval_function_type_old(), pt_eval_opt_type(), pt_evaluate_db_value_expr(), pt_get_resolution(), pt_node_to_enumeration_expr(), pt_print_attr_def(), pt_print_create_stored_procedure(), pt_print_datatype(), pt_print_db_value(), pt_print_method_def(), pt_print_sp_parameter(), pt_print_value(), pt_semantic_check_local(), qo_reduce_equality_terms(), and validate_attribute_domain().

PT_NODE* pt_sort_in_desc_order ( PT_NODE vlist)

Definition at line 2484 of file parse_dbi.c.

References pt_value_info::data_value, pt_data_value::i, parser_node::info, parser_node::next, NULL, and pt_statement_info::value.

Referenced by do_alter_one_clause_with_template().

Here is the caller graph for this function:

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

Definition at line 204 of file method_transform.c.

References meth_have_methods(), NULL, and parser_walk_tree().

int pt_statement_line_number ( const PT_NODE stmt)

Definition at line 2717 of file parser_support.c.

References parser_node::line_number.

Referenced by db_get_start_line().

Here is the caller graph for this function:

const char* pt_string_part ( const PT_NODE tbl)

Definition at line 2297 of file parser_support.c.

References pt_name_info::db_object, parser_node::info, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, PT_NAME, and pt_name_info::resolved.

Referenced by db_parameter_name().

Here is the caller graph for this function:

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

Definition at line 323 of file parser_support.c.

References parser_node::info, pt_table_option_info::option, parser_new_node(), PT_TABLE_OPTION, pt_statement_info::table_option, and pt_table_option_info::val.

Referenced by pt_check_create_entity().

Here is the caller graph for this function:

void pt_to_regu_resolve_domain ( int *  p_precision,
int *  p_scale,
const PT_NODE node 
)
PT_NODE* pt_top ( PARSER_CONTEXT parser)

Definition at line 1660 of file parse_tree_cl.c.

References parser_context::node_stack, NULL, and parser_context::stack_top.

PT_NODE* pt_tuple_value ( PARSER_CONTEXT parser,
PT_NODE name,
CURSOR_ID cursor_p,
int  index 
)
DB_TYPE pt_type_enum_to_db ( const PT_TYPE_ENUM  dt)

Definition at line 2314 of file parse_dbi.c.

References DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_MIDXKEY, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_RESULTSET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, PT_TYPE_BIGINT, PT_TYPE_BIT, PT_TYPE_BLOB, PT_TYPE_CHAR, PT_TYPE_CLOB, PT_TYPE_DATE, PT_TYPE_DATETIME, PT_TYPE_DATETIMELTZ, PT_TYPE_DATETIMETZ, PT_TYPE_DOUBLE, PT_TYPE_ENUMERATION, PT_TYPE_FLOAT, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_LOGICAL, PT_TYPE_MAYBE, PT_TYPE_MIDXKEY, PT_TYPE_MONETARY, PT_TYPE_MULTISET, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_RESULTSET, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_SMALLINT, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, and PT_TYPE_VARNCHAR.

Referenced by check_change_attribute(), jsp_add_stored_procedure(), jsp_add_stored_procedure_argument(), pmeta_get_info_internal(), pt_assignment_compatible(), pt_check_alter_partition(), pt_coerce_expression_argument(), pt_coerce_node_collation(), pt_coerce_range_expr_arguments(), pt_data_type_init_value(), pt_data_type_to_db_domain(), pt_db_value_initialize(), pt_eval_expr_type(), pt_evaluate_db_value_expr(), pt_fillin_type_size(), pt_is_json_doc_type(), pt_is_json_value_type(), pt_node_data_type_to_db_domain(), pt_node_to_db_domain(), pt_node_to_db_type(), pt_to_aggregate_node(), pt_to_upd_del_query(), pt_type_enum_to_db_domain(), qo_get_attr_info_func_index(), and qo_rewrite_subqueries().

DB_DOMAIN* pt_type_enum_to_db_domain ( const PT_TYPE_ENUM  t)

Definition at line 1549 of file parse_dbi.c.

References assert, DB_BIGINT_PRECISION, DB_DATE_PRECISION, DB_DATETIME_DECIMAL_SCALE, DB_DATETIME_PRECISION, DB_DATETIMETZ_PRECISION, DB_DEFAULT_NUMERIC_PRECISION, DB_DEFAULT_NUMERIC_SCALE, DB_DOUBLE_DECIMAL_PRECISION, DB_FLOAT_DECIMAL_PRECISION, DB_INTEGER_PRECISION, DB_MONETARY_DECIMAL_PRECISION, DB_SHORT_PRECISION, DB_TIME_PRECISION, DB_TIMESTAMP_PRECISION, DB_TIMESTAMPTZ_PRECISION, DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DB_VALUE, DB_TYPE_DOUBLE, DB_TYPE_ELO, DB_TYPE_ENUMERATION, DB_TYPE_ERROR, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_MIDXKEY, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_POINTER, DB_TYPE_RESULTSET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SUB, DB_TYPE_TABLE, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, NULL, pt_type_enum_to_db(), tp_domain_construct(), TP_FLOATING_PRECISION_VALUE, tp_Null_domain, and tp_Variable_domain.

Referenced by do_cast_host_variables_to_expected_domain(), pt_check_partitions(), pt_data_type_to_db_domain(), pt_make_method_call(), pt_node_data_type_to_db_domain(), pt_node_to_db_domain(), pt_node_to_function_index(), and pt_xasl_type_enum_to_domain().

Here is the caller graph for this function:

DB_VALUE* pt_value_to_db ( PARSER_CONTEXT parser,
PT_NODE value 
)

Definition at line 1088 of file parse_dbi.c.

References assert, parser_node::data_type, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_ENUMERATION, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, pt_value_info::db_value, DB_VALUE_DOMAIN_TYPE, pt_value_info::db_value_is_initialized, DOMAIN_COMPATIBLE, parser_node::expected_domain, parser_context::flag, pt_statement_info::host_var, parser_context::host_var_count, pt_host_var_info::index, parser_node::info, pt_name_info::meta_class, MSGCAT_RUNTIME_HOSTVAR_INDEX_ERROR, MSGCAT_RUNTIME_PARM_IS_NOT_SET, MSGCAT_SEMANTIC_CANT_COERCE_TO, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, pr_type_name(), pt_bind_type_from_dbval(), pt_db_value_initialize(), pt_domain_to_data_type(), PT_ERRORmf, PT_ERRORmf2, pt_find_value_of_label(), PT_HOST_IN, PT_HOST_VAR, pt_host_var_db_value(), pt_is_const, PT_NAME, pt_node_to_db_domain(), pt_node_to_db_domain_name(), PT_PARAMETER, PT_TYPE_BIT, PT_TYPE_CHAR, PT_TYPE_ENUMERATION, PT_TYPE_MAYBE, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NULL, PT_TYPE_NUMERIC, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPE_VARNCHAR, parser_context::set_host_var, tp_domain_cache(), TP_DOMAIN_TYPE, tp_value_cast(), tp_value_cast_preserve_domain(), tp_value_coerce(), parser_node::type_enum, pt_statement_info::value, and pt_host_var_info::var_type.

Referenced by call_method(), do_alter_serial(), do_change_auto_increment_serial(), do_create_auto_increment_serial(), do_create_partition(), do_create_serial(), do_drop_session_variables(), do_set_session_variables(), get_priority(), init_update_data(), jsp_call_stored_procedure(), mq_translate_value(), pt_bind_names_post(), pt_bind_value_to_hostvar_local(), pt_check_alter_partition(), pt_check_analytic_function(), pt_check_and_coerce_to_date(), pt_check_and_coerce_to_time(), pt_check_and_replace_hostvar(), pt_check_enum_data_type(), pt_check_group_concat_order_by(), pt_check_order_by(), pt_check_range_partition_strict_increasing(), pt_coerce_node_collection_of_collection(), pt_coerce_value_internal(), pt_compare_bounds_to_value(), pt_eval_expr_type(), pt_evaluate_db_value_expr(), pt_evaluate_function(), pt_evaluate_tree_internal(), pt_expand_analytic_node(), pt_fix_enumeration_comparison(), pt_fold_const_expr(), pt_get_default_expression_from_data_default_node(), pt_node_to_partition_info(), pt_print_node_value(), pt_print_value(), pt_resolve_object(), pt_rewrite_to_auto_param(), pt_to_list_key(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_regu_variable(), pt_to_upd_del_query(), pt_to_update_xasl(), pt_value_links_add(), pt_where_type(), pt_where_type_keep_true(), qo_apply_range_intersection(), qo_apply_range_intersection_helper(), qo_find_like_rewrite_bound(), qo_merge_range_helper(), qo_reduce_comp_pair_terms(), qo_reduce_equality_terms(), qo_reduce_order_by(), uci_static(), and values_list_to_values_array().

PT_NODE* pt_values_part ( const PT_NODE insert_statement)
PT_NODE* pt_where_type_keep_true ( PARSER_CONTEXT parser,
PT_NODE where 
)

Variable Documentation

size_t json_table_column_count