323 sprintf (buf,
"Internal error- reporting %s error.",
342 char *stmt_string =
NULL;
356 if (stmt_string ==
NULL)
358 stmt_string = (
char *)
"";
390 sprintf (buf,
"Internal error- reporting %s error.",
407 PT_NODE *arg1, *arg2, *attr1, *attr2, *select_list, *col, *next;
439 for (attr = list; attr; attr = attr->
next)
456 if (select_list && select_list->
parser_id != parser->
id)
474 if (select_list ==
NULL)
495 for (col = select_list; col && col->
next; col = next)
508 for (col = select_list, attr1 = arg1, attr2 = arg2; col && attr1 && attr2;
509 col = col->
next, attr1 = attr1->
next, attr2 = attr2->
next)
627 for (col = columns; col !=
NULL; col = col->
next)
703 unsigned int save_custom;
704 PT_NODE *node, *spec, *range_var;
738 original_name = name;
750 original_name =
NULL;
755 original_name =
NULL;
778 original_name = name;
791 for (spec = (
PT_NODE *) from_list; spec; spec = spec->
next)
804 name = strchr (original_name,
'.');
805 if (name ==
NULL || name[0] ==
'\0')
807 name = original_name;
894 bool want_spec_entity_name,
bool fixup_columns_type)
898 const char *spec_name;
909 if (fixup_columns_type)
917 if (oids_included == 1)
941 for (t = list; s && t; s = s->
next, t = t->
next)
994 t->spec_name = (spec_name) ?
strdup (spec_name) :
NULL;
996 if (!t->original_name)
1003 t->original_name = (
char *) malloc (
strlen (original_name) + 1);
1009 t->original_name = (
char *) malloc (
strlen (original_name) + 1);
1011 if (!t->original_name)
1016 strcpy ((
char *) t->original_name, original_name);
1037 int oids_included = 0;
1038 bool failure =
false;
1152 if (query && query->
etc 1171 assert (query_id_self != 0);
1172 assert (query_id_self == NULL_QUERY_ID || query_id_self > 0);
1219 if (class_mop ==
NULL)
1225 if (*col_spec ==
NULL)
1230 for (i = 0, t = *col_spec, name = attrs; i < num_attrs && t && name && err ==
NO_ERROR; i++, t = t->
next, name++)
1234 t->name = (
char *) malloc (1 +
strlen (*name));
1237 strcpy ((
char *) t->name, *name);
1246 t->attr_name =
NULL;
1247 t->src_domain =
NULL;
1248 err =
sm_att_info (class_mop, *name, &attrid, &tmp_dom, &shared, 0);
1282 bool r_inited =
false;
1294 if (class_mop ==
NULL)
1321 k < num_attrs && t && name && v && err == NO_ERROR; k++, t = t->next, name++, v++)
1325 t->
name = (
char *) malloc (1 +
strlen (*name));
1328 strcpy ((
char *) t->
name, *name);
1341 err =
obj_get (obj_mop, *name, *v);
DB_OBJECT * db_find_class(const char *name)
#define pt_is_expr_node(n)
#define QFILE_CLEAR_LIST_ID(list_id)
#define ER_LK_UNILATERALLY_ABORTED
COL_VISIBLE_TYPE visible_type
DB_QUERY_RESULT * db_alloc_query_result(DB_RESULT_TYPE r_type, int col_cnt)
PT_METHOD_CALL_INFO method_call
void tp_domain_init(TP_DOMAIN *domain, DB_TYPE type_id)
void db_free_query_result(DB_QUERY_RESULT *r)
void db_init_query_result(DB_QUERY_RESULT *r, DB_RESULT_TYPE r_type)
int db_object_describe(DB_OBJECT *obj_mop, int num_attrs, const char **attrs, DB_QUERY_TYPE **col_spec)
int qmgr_end_query(QUERY_ID query_id)
static DB_QUERY_TYPE * pt_get_node_title(PARSER_CONTEXT *parser, const PT_NODE *col, const PT_NODE *from_list)
#define pt_is_oid_name(n)
DB_QUERY_TYPE * pt_get_titles(PARSER_CONTEXT *parser, PT_NODE *query)
#define ER_IS_LOCK_TIMEOUT_ERROR(err)
#define PT_NODE_PRINT_TO_ALIAS(p, n, c)
enum pt_type_enum PT_TYPE_ENUM
int db_object_fetch(DB_OBJECT *obj_mop, int num_attrs, const char **attrs, DB_QUERY_RESULT **result)
#define ER_OBJ_NO_COMPONENTS
PT_NODE * pt_get_end_path_node(PT_NODE *node)
union pt_query_info::@124 q
bool tran_was_latest_query_ended(void)
#define cursor_free_self_list_id(list_id)
unsigned int custom_print
SM_ATTRIBUTE * classobj_find_attribute(SM_CLASS *class_, const char *name, int class_attribute)
void pt_fixup_column_type(PT_NODE *col)
static char * pt_get_attr_name(PARSER_CONTEXT *parser, PT_NODE *node)
#define PT_NAME_INFO_IS_FLAGED(e, f)
PT_NODE_LIST_INFO node_list
#define COPY_OID(dest_oid_ptr, src_oid_ptr)
struct parser_context::@134 flag
#define pt_is_dot_node(n)
TP_DOMAIN * pt_xasl_node_to_domain(PARSER_CONTEXT *parser, const PT_NODE *node)
SERVER_INSERT_ALLOWED server_allowed
DB_TYPE pt_type_enum_to_db(const PT_TYPE_ENUM t)
static DB_COL_TYPE pt_get_col_type(const PARSER_CONTEXT *parser, const PT_NODE *node)
PR_TYPE * pr_type_from_id(DB_TYPE id)
#define WS_CLASS_MOP(mop)
void er_set(int severity, const char *file_name, const int line_no, int err_id, int num_args,...)
int pr_mem_size(const PR_TYPE *type)
static void pt_set_domain_class(SM_DOMAIN *dom, const PT_NODE *nam, const DB_OBJECT *virt)
#define PT_ERRORmf2(parser, node, setNo, msgNo, arg1, arg2)
static int pt_arity_of_query_type(const DB_QUERY_TYPE *qt)
DB_QUERY_TYPE * query_type
void pt_report_to_ersys_with_statement(PARSER_CONTEXT *parser, const PT_ERROR_TYPE error_type, PT_NODE *statement)
PT_NODE * flat_entity_list
#define PT_IS_PARAMETERIZED_TYPE(t)
#define PT_NAME_INFO_STAR
char * pt_print_alias(PARSER_CONTEXT *parser, const PT_NODE *node)
#define PT_NAME_INFO_DOT_STAR
DB_QUERY_RESULT * pt_make_cache_hit_result_descriptor(void)
DB_OBJECT * pt_find_users_class(PARSER_CONTEXT *parser, PT_NODE *name)
struct db_query_type * next
PT_NODE * pt_find_entity(PARSER_CONTEXT *parser, const PT_NODE *scope, UINTPTR id)
CUBRID_STMT_TYPE pt_node_to_cmd_type(PT_NODE *node)
DB_VALUE * pr_make_ext_value(void)
char * pt_append_string(const PARSER_CONTEXT *parser, const char *old_string, const char *new_tail)
PT_ZZ_ERROR_MSG_INFO error_msg
#define MSGCAT_SEMANTIC_CLASS_DOES_NOT_EXIST
int pt_is_server_insert_with_generated_keys(PARSER_CONTEXT *parser, PT_NODE *statement)
#define ER_OBJ_INVALID_ATTRIBUTE
int pt_check_path_eq(PARSER_CONTEXT *parser, const PT_NODE *p, const PT_NODE *q)
DB_QUERY_TYPE * db_alloc_query_format(int cnt)
void db_free_query_format(DB_QUERY_TYPE *q)
static SM_DOMAIN * pt_get_src_domain(PARSER_CONTEXT *parser, const PT_NODE *s, const PT_NODE *specs)
int pt_resolved(const PT_NODE *expr)
DB_TYPE sm_att_type_id(MOP classop, const char *name)
#define pt_is_value_node(n)
SM_DOMAIN * sm_domain_alloc()
static void error(const char *msg)
int sm_att_info(MOP classop, const char *name, int *idp, TP_DOMAIN **domainp, int *sharedp, int class_attr)
static void pt_fixup_select_columns_type(PT_NODE *columns)
static PT_NODE * pt_get_from_list(const PARSER_CONTEXT *parser, const PT_NODE *query)
void parser_free_tree(PARSER_CONTEXT *parser, PT_NODE *tree)
void pt_free_query_etc_area(PARSER_CONTEXT *parser, PT_NODE *query)
#define MSGCAT_SET_PARSER_SEMANTIC
QFILE_TUPLE_RECORD tuple_record
#define pt_is_name_node(n)
void pt_end_query(PARSER_CONTEXT *parser, QUERY_ID query_id_self)
#define free_and_init(ptr)
#define PT_IS_COMPLEX_TYPE(t)
DB_OBJECT * pt_check_user_owns_class(PARSER_CONTEXT *parser, PT_NODE *cls_ref)
#define ER_OBJ_INVALID_ARGUMENTS
DB_QUERY_TYPE * pt_fillin_type_size(PARSER_CONTEXT *parser, PT_NODE *query, DB_QUERY_TYPE *list, const int oids_included, bool want_spec_entity_name, bool fixup_columns_type)
static void pt_set_domain_class_list(SM_DOMAIN *dom, const PT_NODE *nam, const DB_OBJECT *virt)
DB_ATTRIBUTE * db_get_attributes_force(DB_OBJECT *obj)
int pt_is_attr(PT_NODE *node)
PT_TYPE_ENUM pt_common_type(PT_TYPE_ENUM arg1_type, PT_TYPE_ENUM arg2_type)
static int pt_find_size_from_dbtype(const DB_TYPE T_type)
char * parser_print_tree(PARSER_CONTEXT *parser, const PT_NODE *node)
#define MSGCAT_SEMANTIC_ARITY_MISMATCH
int pt_length_of_select_list(PT_NODE *list, int hidden_col)
int db_make_null(DB_VALUE *value)
MOP sm_get_class(MOP obj)
int obj_get(MOP op, const char *name, DB_VALUE *value)
char * strdup(const char *str)
#define pt_is_function(n)
unsigned return_generated_keys
#define PT_INTERNAL_ERROR(parser, what)
#define ER_IS_SERVER_DOWN_ERROR(err)
struct db_object * class_mop
void pt_report_to_ersys(const PARSER_CONTEXT *parser, const PT_ERROR_TYPE error_type)
SM_ATTRIBUTE * ordered_attributes
int pt_is_method_call(PT_NODE *node)
int pt_length_of_list(const PT_NODE *list)
CUBRID_STMT_TYPE stmt_type
struct parser_node::@132 flag
bool cursor_open(CURSOR_ID *cursor_id_p, QFILE_LIST_ID *list_id_p, bool updatable, bool is_oid_included)
#define PT_NAME_INFO_DOT_NAME
PT_NODE * parser_copy_tree_list(PARSER_CONTEXT *parser, PT_NODE *tree)
int au_fetch_class_force(MOP op, SM_CLASS **class_, AU_FETCHMODE fetchmode)
DB_QUERY_RESULT * pt_new_query_result_descriptor(PARSER_CONTEXT *parser, PT_NODE *query)
#define PT_ERRORmf(parser, node, setNo, msgNo, arg1)
unsigned is_hidden_column
PT_NODE * pt_get_select_list(PARSER_CONTEXT *parser, PT_NODE *query)
#define CHECK_CONNECT_ERROR()
SM_DOMAIN * sm_domain_copy(SM_DOMAIN *ptr)
union db_query_result::@47 res
DB_ATTRIBUTE * db_get_attribute_force(DB_OBJECT *obj, const char *name)