53 #if defined (SUPPRESS_STRLEN_WARNING) 54 #define strlen(s1) ((int) strlen(s1)) 58 #define SM_SPRINTF_UNIQUE_PROPERTY_VALUE(buffer, volid, fileid, pageid) \ 59 sprintf(buffer, "%d|%d|%d", (int)volid, (int)fileid, (int)pageid) 89 #define NUM_CONSTRAINT_TYPES \ 90 ((int)(sizeof(Constraint_types)/sizeof(Constraint_types[0]))) 91 #define NUM_CONSTRAINT_PROPERTIES \ 92 ((int)(sizeof(Constraint_properties)/sizeof(Constraint_properties[0]))) 105 bool has_function_constraint);
148 const char *
const like_class_name);
150 const char *
const like_class_name);
170 if (Template_area ==
NULL)
186 if (Template_area !=
NULL)
189 Template_area =
NULL;
226 ptr = (
char *) array;
227 for (i = 0; i < (count - 1); i++)
254 for (l = array; l !=
NULL; l = l->
next)
294 if (properties !=
NULL)
324 if (properties ==
NULL || name ==
NULL || pvalue ==
NULL)
330 for (i = 0; i < max && !found && error ==
NO_ERROR; i += 2)
344 if (strcmp (name, val_str) == 0)
404 if (properties ==
NULL || name ==
NULL)
410 for (i = 0; i < max && !dropped && error ==
NO_ERROR; i += 2)
424 if (strcmp (name, val_str) == 0)
462 fprintf (stdout,
"\n");
467 if (properties ==
NULL)
474 for (i = 0; i <
max; i++)
477 fprintf (stdout,
"*** error *** ");
480 help_fprint_value (stdout, &value);
482 fprintf (stdout,
" ");
485 fprintf (stdout,
"\n");
504 const char *property_type =
NULL;
534 return property_type;
554 if (properties ==
NULL)
559 *new_properties =
set_copy (properties);
561 if (*new_properties ==
NULL)
568 if (filter_class !=
NULL)
576 goto error_condition;
594 goto error_condition;
597 for (c = constraints; c !=
NULL; c = c->
next)
602 goto error_condition;
616 goto error_condition;
622 goto error_condition;
634 goto error_condition;
647 if (*new_properties !=
NULL)
652 if (constraints !=
NULL)
753 return (
char *)
"CASCADE";
755 return (
char *)
"RESTRICT";
757 return (
char *)
"NO ACTION";
759 return (
char *)
"SET NULL";
780 if (prefix_seq ==
NULL)
785 for (i = 0; i < num_attrs; i++)
787 if (attrs_prefix_length !=
NULL)
816 if (filter_index_info ==
NULL)
822 if (pred_seq ==
NULL)
856 for (i = 0; i < filter_index_info->
num_attrs; i++)
910 int subseq_index = 0;
977 const int *asc_desc,
const int *attr_prefix_length,
const BTID *
id,
980 bool attr_name_instead_of_id)
987 bool is_new_created =
false;
988 char buf[128], *pbuf;
989 int constraint_seq_index;
998 if (*properties ==
NULL)
1001 if (*properties ==
NULL)
1006 is_new_created =
true;
1022 if (unique_property ==
NULL)
1031 if (constraint ==
NULL)
1036 constraint_seq_index = 0;
1041 size_t len =
strlen (shared_cons_name) + 10;
1043 pbuf = (
char *) malloc (len);
1046 sprintf (pbuf,
"SHARED:%s", shared_cons_name);
1070 if (pbuf && pbuf != &(buf[0]))
1076 for (i = 0, num_attrs = 0; atts[
i] !=
NULL; i++, num_attrs++)
1078 if (attr_name_instead_of_id)
1106 int num_live_fk = 0;
1108 for (fk = fk_info; fk !=
NULL; fk = fk->
next)
1116 if (0 < num_live_fk)
1121 if (fk_container ==
NULL)
1127 for (fk = fk_info; fk; fk = fk->
next)
1141 assert (num_live_fk == fk_index);
1149 fk_container =
NULL;
1154 if (filter_index_info ==
NULL && func_index_info ==
NULL)
1174 if (filter_index_info !=
NULL)
1186 attr_prefix_length))
1194 if (func_index_info !=
NULL)
1232 unique_property =
NULL;
1248 if (is_new_created && *properties !=
NULL)
1259 if (unique_property !=
NULL)
1265 if (constraint !=
NULL)
1300 for (fk_ref = pk->
fk_info; fk_ref; fk_ref = fk_ref->
next)
1328 if (fk_name !=
NULL)
1333 if (include_self_ref)
1335 if (fk_info !=
NULL)
1337 if (fk_name !=
NULL)
1339 *fk_name = fk_info->
name;
1354 cls_oid =
ws_oid (clsop);
1356 for (fk_ref = fk_info; fk_ref; fk_ref = fk_ref->
next)
1360 if (fk_name !=
NULL)
1362 *fk_name = fk_ref->
name;
1383 DB_VALUE prop_val, pk_val, fk_container_val, fk_val;
1384 DB_SEQ *pk_property, *pk_seq, *fk_container, *fk_seq;
1386 int fk_container_pos, pk_seq_pos;
1418 fk_container =
db_get_set (&fk_container_val);
1419 fk_container_pos =
set_size (fk_container);
1420 pk_seq_pos = size - 3;
1425 if (fk_container ==
NULL)
1430 fk_container_pos = 0;
1431 pk_seq_pos = size - 2;
1447 if (pk_seq_pos == size - 3)
1523 #if defined (ENABLE_RENAME_CONSTRAINT) 1534 classobj_rename_foreign_key_ref (
DB_SEQ ** properties,
const BTID *
btid,
const char *old_name,
const char *new_name)
1536 DB_VALUE prop_val, pk_val, fk_container_val;
1540 DB_SEQ *pk_property, *pk_seq, *fk_container, *fk_seq =
NULL;
1542 int fk_container_pos, pk_seq_pos;
1544 int fk_container_len;
1546 int volid, pageid, fileid;
1581 fk_container =
db_get_set (&fk_container_val);
1582 fk_container_len =
set_size (fk_container);
1583 pk_seq_pos = size - 2;
1586 for (i = 0; i < fk_container_len; i++)
1632 fk_container_pos =
i;
1711 int i, fk_container_pos, fk_count;
1712 DB_VALUE prop_val, pk_val, fk_container_val, fk_val, btid_val;
1713 DB_SEQ *pk_property, *pk_seq, *fk_container, *fk_seq;
1715 const char *cons_name =
NULL;
1716 int volid, pageid, fileid;
1739 fk_container_pos =
set_size (pk_seq) - 3;
1754 fk_container =
db_get_set (&fk_container_val);
1755 fk_count =
set_size (fk_container);
1757 for (i = 0; i < fk_count; i++)
1881 #if defined (ENABLE_RENAME_CONSTRAINT) 1893 classobj_rename_constraint (
DB_SEQ * properties,
const char *prop_name,
const char *old_name,
const char *new_name)
1895 DB_VALUE prop_val, cnstr_val, new_val;
1956 DB_VALUE prop_val, cnstr_val, curr_comment, new_comment;
1957 DB_SEQ *prop_seq, *idx_seq;
1958 const char *property_type;
2048 const char *btid_string =
NULL;
2049 int volid, pageid, fileid;
2054 goto structure_error;
2058 if (btid_string ==
NULL)
2060 goto structure_error;
2063 if (strncasecmp (
"SHARED:", btid_string, 7) == 0)
2065 if (shared_cons_name)
2067 *shared_cons_name =
strdup (btid_string + 7);
2076 goto structure_error;
2102 const char *oid_string;
2103 int volid, pageid, slotid;
2108 goto structure_error;
2112 if (oid_string ==
NULL)
2114 goto structure_error;
2120 goto structure_error;
2152 for (cnstr = constraints; cnstr !=
NULL; cnstr = cnstr->
next)
2154 if (cnstr->
type != type)
2182 for (c = constraints; c !=
NULL; c = c->
next)
2204 for (c = constraints; c !=
NULL; c = c->
next)
2226 for (c = constraints; c !=
NULL; c = c->
next)
2254 if (constraint ==
NULL)
2261 constraint->
type = type;
2265 if (name && !constraint->
name)
2284 if (constraint ==
NULL)
2289 if (constraint->
next)
2294 if (constraint->
name)
2338 int i, e, info_len, att_cnt;
2344 bool has_function_constraint =
false;
2350 info_len =
set_size (constraint_seq);
2351 att_cnt = (info_len - 3) / 2;
2372 for (i = 0; i < att_cnt && ok; i++)
2468 for (i = 0; i < max && error ==
NO_ERROR && ok; i += 2)
2542 for (i = 0; i < num_constraint_types && ok; i++)
2582 else if (att->
id ==
id)
2639 for (p = fk_info;
p; p = next)
2662 for (c = constraints, next =
NULL; c !=
NULL; c = next)
2727 if (fk_info ==
NULL)
2765 fk_info->
name = (
char *) cons_name;
2793 const char *val_str;
2796 if (fk_info ==
NULL)
2840 if (val_str ==
NULL)
2876 for (i = 0; i < size; i++)
2886 if (fk_info ==
NULL)
2900 cur->
next = fk_info;
2932 prefix_length = (
int *)
db_ws_alloc (
sizeof (
int) * num_attrs);
2933 if (prefix_length ==
NULL)
2938 for (i = 0; i < num_attrs; i++)
2949 return prefix_length;
2963 const char *val_str =
NULL;
2964 size_t val_str_len = 0;
2965 const char *buffer =
NULL;
2968 int att_seq_size = 0,
i;
2996 if (filter_predicate ==
NULL)
3000 if (val_str_len > 0)
3007 memset (filter_predicate->
pred_string, 0, val_str_len + 1);
3008 memcpy (filter_predicate->
pred_string, (val_str), val_str_len);
3032 memcpy (filter_predicate->
pred_stream, buffer, buffer_len);
3049 if (att_seq_size == 0)
3061 for (
i = 0;
i < att_seq_size;
i++)
3075 return filter_predicate;
3078 if (filter_predicate)
3090 if (filter_predicate->
att_ids)
3118 DB_SET *props, *info, *fk;
3119 DB_VALUE pvalue, uvalue, bvalue, avalue, fvalue, cvalue, statusval;
3120 int i, j, k, e, len, info_len, att_cnt;
3124 if (con_ptr !=
NULL)
3138 constraints = last =
NULL;
3143 for (k = 0; k < num_constraint_types; k++)
3150 goto structure_error;
3158 for (i = 0; i < len; i += 2)
3168 goto structure_error;
3178 if (constraints ==
NULL)
3192 goto structure_error;
3196 goto structure_error;
3202 att_cnt = (info_len - 3) / 2;
3210 goto structure_error;
3214 goto structure_error;
3235 for (j = 0; j < att_cnt; j++)
3240 goto structure_error;
3260 goto structure_error;
3271 e = 1 + att_cnt * 2;
3278 goto structure_error;
3292 goto structure_error;
3306 for (; j < att_cnt + 1; j++)
3315 goto structure_error;
3322 goto structure_error;
3331 goto structure_error;
3339 goto structure_error;
3349 goto structure_error;
3358 goto structure_error;
3365 goto structure_error;
3381 goto structure_error;
3386 goto structure_error;
3406 goto structure_error;
3411 goto structure_error;
3444 goto structure_error;
3449 goto structure_error;
3461 goto structure_error;
3463 for (j = 0; j < att_cnt; j++)
3471 goto structure_error;
3479 goto structure_error;
3499 goto structure_error;
3510 if (con_ptr ==
NULL)
3516 *con_ptr = constraints;
3580 const char *att_names[2];
3581 char *ws_name =
NULL;
3582 char *constraint_name =
NULL;
3588 constraints = last = *con_ptr;
3609 att_names[1] =
NULL;
3611 if (constraint_name ==
NULL)
3617 if (ws_name ==
NULL)
3636 if (constraints ==
NULL)
3662 *con_ptr = constraints;
3671 if (constraint_name)
3721 &(class_->constraints));
3742 for (con = constraints; con !=
NULL; con = con->
next)
3767 for (con = constraints; con !=
NULL; con = con->
next)
3789 for (cons = cons_list; cons; cons = cons->
next)
3824 for (cons = cons_list; cons; cons = cons->
next)
3847 #if defined(ENABLE_UNUSED_FUNCTION) 3855 classobj_count_class_foreign_key (
SM_CLASS * class_)
4027 for (i = 0; i < local_stats->
n_attrs && !key_type; i++, attr_statsp++)
4030 for (j = 0; j < attr_statsp->
n_btstats && !key_type; j++, bt_statsp++)
4045 if (local_stats !=
NULL)
4065 const int *asc_desc)
4072 for (cons = cons_list; cons; cons = cons->
next)
4078 if (!attp || !namep)
4093 for (i = 0; i < len; i++)
4096 order = (asc_desc ? asc_desc[
i] : 0);
4097 assert (order == 0 || order == 1);
4128 for (con = *constraints; con !=
NULL; con = next)
4139 *constraints = con->
next;
4165 const char *property_type;
4170 if (property_type ==
NULL)
4184 for (con = constraints; con !=
NULL && !
error; con = con->
next)
4186 if (con->
type != type)
4215 bool has_index =
false;
4575 first = last =
NULL;
4577 for (att = attlist, next =
NULL; att !=
NULL; att = next)
4588 if ((filter_class ==
NULL) || (filter_class == att->
class_mop))
4901 for (arg = *arglist; arg !=
NULL && found ==
NULL; arg = arg->
next)
4903 if (arg->
index == index)
4908 if ((found ==
NULL) && create)
4913 found->next = *arglist;
5279 SM_METHOD *meth, *new_meth, *first, *last;
5281 first = last =
NULL;
5285 if ((filter_class ==
NULL) || (meth->
class_mop == filter_class))
5288 if (new_meth ==
NULL)
5443 first = last =
NULL;
5445 for (r = src; r !=
NULL; r = r->
next)
5450 if (new_resolution ==
NULL)
5457 first = new_resolution;
5461 last->
next = new_resolution;
5463 last = new_resolution;
5512 for (res = reslist, found; res !=
NULL && found ==
NULL; res = res->
next)
5515 && (strcmp (res->
name, name) == 0))
5605 if (new_method_file ==
NULL)
5627 return new_method_file;
5630 if (new_method_file !=
NULL)
5651 first = last =
NULL;
5653 for (f = files; f !=
NULL; f = f->
next)
5658 if (new_method_file ==
NULL)
5664 first = new_method_file;
5668 last->
next = new_method_file;
5670 last = new_method_file;
5843 if (query_spec ==
NULL)
5851 if (specification !=
NULL)
5861 return (query_spec);
5875 first = last =
NULL;
5876 for (p = query_spec; p !=
NULL; p = p->
next)
5909 if (query_spec !=
NULL)
5955 if (partition_info->
pname)
5959 if (partition_info->
expr)
5979 if (template_ptr ==
NULL)
6013 (void)
area_free (Template_area, template_ptr);
6035 if (template_ptr ==
NULL)
6041 template_ptr->
op = op;
6042 template_ptr->
current = class_;
6165 return (template_ptr);
6168 if (template_ptr !=
NULL)
6195 const char *existing_name =
NULL;
6206 if (class_->partition !=
NULL)
6210 "CREATE TABLE ... PARTITION BY");
6214 if (class_->inheritance !=
NULL || class_->users !=
NULL || class_->resolutions !=
NULL)
6219 "CREATE CLASS ... UNDER");
6223 if (class_->methods !=
NULL || class_->class_methods !=
NULL || class_->method_files !=
NULL 6224 || class_->loader_commands !=
NULL)
6230 "CREATE CLASS ... METHOD");
6235 if (template_ptr ==
NULL)
6240 if (class_->attributes !=
NULL || class_->shared !=
NULL)
6242 for (a = class_->ordered_attributes; a !=
NULL; a = a->
order_link)
6251 if (class_->class_attributes !=
NULL)
6262 if (class_->constraints !=
NULL)
6264 for (c = class_->constraints; c; c = c->
next)
6283 return template_ptr;
6286 if (template_ptr !=
NULL)
6308 const char *names[2];
6360 const char **att_names =
NULL;
6365 for (attribute_p = constraint->
attributes, count = 0; *attribute_p; ++attribute_p)
6369 att_names = (
const char **) malloc ((count + 1) *
sizeof (
const char *));
6370 if (att_names ==
NULL)
6375 for (attribute_p = constraint->
attributes, i = 0; *attribute_p !=
NULL; ++attribute_p, ++i)
6377 att_names[
i] = (*attribute_p)->header.name;
6379 att_names[
i] =
NULL;
6381 if (count_ref !=
NULL)
6403 const char *
const like_class_name)
6407 const char **att_names =
NULL;
6408 const char **ref_attrs =
NULL;
6411 char *auto_cons_name =
NULL;
6412 char *new_cons_name =
NULL;
6423 if (att_names ==
NULL)
6430 if (auto_cons_name ==
NULL)
6438 if (strcmp (auto_cons_name, constraint->
name) == 0)
6443 if (new_cons_name ==
NULL)
6453 new_cons_name = (
char *) constraint->
name;
6456 if (auto_cons_name !=
NULL)
6476 if (ref_clsop ==
NULL)
6493 if (ref_attrs ==
NULL)
6497 assert (count == count_ref);
6516 if (new_cons_name !=
NULL && new_cons_name != constraint->
name)
6525 if (att_names !=
NULL)
6530 if (ref_attrs !=
NULL)
6535 if (new_cons_name !=
NULL && new_cons_name != constraint->
name)
6544 #if defined(ENABLE_UNUSED_FUNCTION) 6557 classobj_add_template_reference (
SM_TEMPLATE * template_ptr,
MOP obj)
6750 size +=
ml_size (class_->users);
6751 size +=
ml_size (class_->inheritance);
6759 if (class_->loader_commands !=
NULL)
6761 size +=
strlen (class_->loader_commands) + 1;
6764 if (class_->comment !=
NULL)
6766 size +=
strlen (class_->comment) + 1;
6851 int i, offset, fixed_count;
6883 if (i == fixed_count)
7008 for (att = *source, next =
NULL; att !=
NULL; att = next)
7040 SM_METHOD *sorted, *next, *prev, *ins, *method;
7043 for (method = *source, next =
NULL; method !=
NULL; method = next)
7090 SM_METHOD *meth, *methods, *class_methods;
7092 int fixed_size, fixed_count, variable_count;
7093 int att_count, shared_count, class_attribute_count;
7094 int method_count, class_method_count;
7112 class_methods =
NULL;
7162 if (shared_atts ==
NULL)
7178 if (class_attribute_count)
7181 if (class_atts ==
NULL)
7200 if (methods ==
NULL)
7216 if (class_method_count)
7219 if (class_methods ==
NULL)
7249 class_->
shared = shared_atts;
7379 for (comp = *complist, next =
NULL; comp !=
NULL; comp = next)
7396 comp->
next = filtered;
7403 #if defined (CUBRID_DEBUG) 7425 if (class_->properties !=
NULL)
7427 output_ctx (
" Properties : ");
7431 if (class_->ordered_attributes !=
NULL)
7433 output_ctx (
"Attributes\n");
7434 for (att = class_->ordered_attributes; att !=
NULL; att = att->
order_link)
7436 output_ctx (
" Name=%-25s, id=%3d", att->
header.
name, att->
id);
7442 output_ctx (
" mem_offset=%3d, order=%3d, storage_order=%3d\n", att->
offset, att->
order,
7447 output_ctx (
" Properties : ");
7458 if (class_->class_attributes !=
NULL)
7460 output_ctx (
"Class Attributes\n");
7461 for (att = class_->class_attributes; att !=
NULL; att = att->
order_link)
7463 output_ctx (
" Name=%-25s, id=%3d", att->
header.
name, att->
id);
7469 output_ctx (
" mem_offset=%3d, order=%3d, storage_order=%3d\n", att->
offset, att->
order,
7474 output_ctx (
" Properties : ");
7485 if (class_->methods !=
NULL)
7487 output_ctx (
"Methods\n");
7493 output_ctx (
" Properties : ");
7498 if (class_->class_methods !=
NULL)
7500 output_ctx (
"Class Methods\n");
7506 output_ctx (
" Properties : ");
7529 if (class_attribute)
7572 if (class_attribute)
7651 if (class_component)
7708 for (comp = list; comp !=
NULL; comp = comp->
next)
7760 for (next =
NULL; dl !=
NULL; dl = next)
7840 if (class_mop !=
NULL)
7867 desc->
valid = valid;
7936 if (prim_con !=
NULL)
7938 *primary_con = prim_con;
7943 if (existing_con ==
NULL)
7952 goto check_filter_function;
7976 if (filter_predicate !=
NULL || func_index_info !=
NULL)
7985 check_filter_function:
8027 DB_CONSTRAINT_TYPE constraint_type,
const char *constraint_name,
const char **att_names,
8035 if (constraints ==
NULL)
8049 #if defined (ENABLE_UNUSED_FUNCTION) 8050 if (existing_con !=
NULL)
8061 existing_con, &prim_con);
8062 switch (compat_state)
8068 if (out_shared_cons_name !=
NULL)
8070 *out_shared_cons_name =
strdup (existing_con->
name);
8105 if (func_seq ==
NULL)
8111 if (fi_info ==
NULL)
8131 memset (fi_info->
expr_str, 0, size + 1);
8132 memcpy (fi_info->
expr_str, buffer, size);
8203 char *fi_domain_buf =
NULL, *ptr =
NULL;
8205 if (func_index_info ==
NULL)
8211 fi_domain_buf = (
char *) malloc (fi_domain_size);
8212 if (fi_domain_buf ==
NULL)
8217 ptr = fi_domain_buf;
8268 int constraint_seq_len =
set_size (constraint_seq);
8271 assert (constraint_seq !=
NULL && has_function_constraint !=
NULL);
8274 *has_function_constraint =
false;
8281 goto structure_error;
8290 goto structure_error;
8306 goto structure_error;
8311 goto structure_error;
8316 *has_function_constraint =
true;
8332 goto structure_error;
8337 goto structure_error;
8345 goto structure_error;
8353 goto structure_error;
8385 if (partition_info ==
NULL)
8397 return (partition_info);
8408 if (partition_info ==
NULL)
8444 if (new_partition_info ==
NULL)
8464 if (new_partition_info->
expr ==
NULL)
8488 return new_partition_info;
8529 DB_VALUE prop_val, cnstr_val, curr_status, new_status;
8530 DB_SEQ *prop_seq, *idx_seq;
8531 const char *property_type;
struct tr_schema_cache * triggers
char * sm_produce_constraint_name_tmpl(SM_TEMPLATE *tmpl, DB_CONSTRAINT_TYPE constraint_type, const char **att_names, const int *asc_desc, const char *given_name)
SM_REPRESENTATION * classobj_find_representation(SM_CLASS *class_, int id)
static SM_METHOD_SIGNATURE * classobj_copy_method_signature(SM_METHOD_SIGNATURE *sig)
int tp_domain_disk_size(TP_DOMAIN *domain)
bool classobj_has_unique_constraint(SM_CONSTRAINT *constraints)
static DB_SEQ * classobj_make_function_index_info_seq(SM_FUNCTION_INFO *func_index_info)
const char ** classobj_point_at_att_names(SM_CLASS_CONSTRAINT *constraint, int *count_ref)
int set_get_element_nocopy(DB_COLLECTION *set, int index, DB_VALUE *value)
static int classobj_query_spec_size(SM_QUERY_SPEC *query_spec)
#define ws_free_string_and_init(str)
int db_value_put_null(DB_VALUE *value)
static void classobj_free_constraint(SM_CONSTRAINT *constraint)
int set_drop_seq_element(DB_COLLECTION *set, int index)
DB_COLLECTION * db_get_set(const DB_VALUE *value)
int dbt_add_foreign_key(DB_CTMPL *def, const char *constraint_name, const char **attnames, const char *ref_class, const char **ref_attrs, int del_action, int upd_action, const char *comment)
#define LANG_SYS_COLLATION
#define DB_IS_CONSTRAINT_UNIQUE_FAMILY(c)
#define classobj_free_prop_and_init(properties)
SM_CLASS * classobj_make_class(const char *name)
void classobj_free_query_spec(SM_QUERY_SPEC *query_spec)
SM_CLASS_CONSTRAINT * classobj_find_constraint_by_attrs(SM_CLASS_CONSTRAINT *cons_list, DB_CONSTRAINT_TYPE new_cons, const char **att_names, const int *asc_desc)
SM_FOREIGN_KEY_INFO * fk_info
void classobj_initialize_attributes(SM_ATTRIBUTE *attributes)
static int classobj_put_seq_and_iterate(DB_SEQ *destination, int &index, DB_SEQ *element)
void classobj_free_method(SM_METHOD *meth)
TP_DOMAIN * classobj_find_cons_index2_col_type_list(SM_CLASS_CONSTRAINT *cons, OID *root_oid)
static SM_CONSTRAINT_COMPATIBILITY classobj_check_index_compatibility(SM_CLASS_CONSTRAINT *constraints, const DB_CONSTRAINT_TYPE constraint_type, const SM_PREDICATE_INFO *filter_predicate, const SM_FUNCTION_INFO *func_index_info, const SM_CLASS_CONSTRAINT *existing_con, SM_CLASS_CONSTRAINT **primary_con)
static SM_FOREIGN_KEY_INFO * classobj_make_foreign_key_info(DB_SEQ *fk_seq, const char *cons_name, SM_ATTRIBUTE *attributes)
int or_packed_value_size(const DB_VALUE *value, int collapse_null, int include_domain, int include_domain_classoids)
MOP ws_mop(const OID *oid, MOP class_mop)
static SM_PREDICATE_INFO * classobj_make_index_filter_pred_info(DB_SEQ *pred_seq)
SM_PREDICATE_INFO * filter_predicate
static int classobj_method_arg_size(SM_METHOD_ARGUMENT *arg)
void area_destroy(AREA *area)
int classobj_install_template(SM_CLASS *class_, SM_TEMPLATE *flat, int saverep)
int classobj_copy_attlist(SM_ATTRIBUTE *attlist, MOP filter_class, int ordered, SM_ATTRIBUTE **copy_ptr)
int classobj_put_index(DB_SEQ **properties, SM_CONSTRAINT_TYPE type, const char *constraint_name, SM_ATTRIBUTE **atts, const int *asc_desc, const int *attr_prefix_length, const BTID *id, SM_PREDICATE_INFO *filter_index_info, SM_FOREIGN_KEY_INFO *fk_info, char *shared_cons_name, SM_FUNCTION_INFO *func_index_info, const char *comment, SM_INDEX_STATUS index_status, bool attr_name_instead_of_id)
SM_ATTRIBUTE * classobj_find_attribute_list(SM_ATTRIBUTE *attlist, const char *name, int id)
DB_ATTRIBUTE * partition_parent_atts
#define TP_IS_SET_TYPE(typenum)
void set_free(DB_COLLECTION *set)
void classobj_free_foreign_key_ref(SM_FOREIGN_KEY_INFO *fk_info)
int db_get_int(const DB_VALUE *value)
static void classobj_sort_methlist(SM_METHOD **source)
void *(* LCOPIER)(void *)
int classobj_area_init(void)
unsigned triggers_validated
struct tp_domain TP_DOMAIN
SM_METHOD * class_methods
struct sm_constraint SM_CONSTRAINT
SM_CLASS_CONSTRAINT * classobj_find_class_primary_key(SM_CLASS *class_)
DB_COLLECTION * set_copy(DB_COLLECTION *set)
SM_CLASS_CONSTRAINT * classobj_find_cons_primary_key(SM_CLASS_CONSTRAINT *cons_list)
static int classobj_copy_attribute_like(DB_CTMPL *ctemplate, SM_ATTRIBUTE *attribute, const char *const like_class_name)
struct tp_domain * setdomain
SM_CONSTRAINT_COMPATIBILITY
struct sm_partition SM_PARTITION
#define SM_FILTER_INDEX_ID
void classobj_initialize_methods(SM_METHOD *methods)
int classobj_get_prop(DB_SEQ *properties, const char *name, DB_VALUE *pvalue)
struct ws_object_header WS_OBJECT_HEADER
int classobj_copy_default_expr(DB_DEFAULT_EXPR *dest, const DB_DEFAULT_EXPR *src)
SM_ATTRIBUTE * attributes
struct sm_representation SM_REPRESENTATION
SM_COMPONENT * classobj_find_component(SM_CLASS *class_, const char *name, int class_component)
SM_RESOLUTION * resolutions
int classobj_class_size(SM_CLASS *class_)
int classobj_change_constraint_status(DB_SEQ *properties, SM_CLASS_CONSTRAINT *cons, SM_INDEX_STATUS index_status)
void classobj_free_template(SM_TEMPLATE *template_ptr)
DB_COLLECTION * set_create_sequence(int size)
#define classobj_free_class_constraints_and_init(constraints)
void classobj_free_desclist(SM_DESCRIPTOR_LIST *dl)
struct sm_attribute SM_ATTRIBUTE
SM_DEFAULT_VALUE default_value
struct sm_descriptor * next
static int classobj_put_seq_with_name_and_iterate(DB_SEQ *destination, int &index, const char *name, DB_SEQ *seq)
int classobj_oid_from_property_value(DB_VALUE *value, OID *oid)
static int classobj_constraint_size(SM_CONSTRAINT *constraint)
#define SM_IS_CONSTRAINT_UNIQUE_FAMILY(c)
static int classobj_method_size(SM_METHOD *meth)
SM_CLASS_CONSTRAINT * classobj_find_constraint_by_name(SM_CLASS_CONSTRAINT *cons_list, const char *name)
static AREA * Template_area
struct sm_component * next
static DB_SEQ * classobj_make_index_attr_prefix_seq(int num_attrs, const int *attrs_prefix_length)
#define OID_SET_NULL(oidp)
int db_make_sequence(DB_VALUE *value, DB_C_SET *set)
SM_FUNCTION_INFO * func_index_info
int smt_add_constraint(SM_TEMPLATE *template_, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name, const char **att_names, const int *asc_desc, const int *attrs_prefix_length, int class_attribute, SM_FOREIGN_KEY_INFO *fk_info, SM_PREDICATE_INFO *filter_index, SM_FUNCTION_INFO *function_index, const char *comment, SM_INDEX_STATUS index_status)
TP_DOMAIN * tp_domain_copy(const TP_DOMAIN *domain, bool check_cache)
SM_ATTRIBUTE * classobj_find_attribute(SM_CLASS *class_, const char *name, int class_attribute)
bool classobj_class_has_indexes(SM_CLASS *class_)
struct sm_method_file SM_METHOD_FILE
SM_METHOD_ARGUMENT * value
struct sm_class_constraint * next
#define BTID_IS_EQUAL(b1, b2)
static int classobj_check_function_constraint_info(DB_SEQ *constraint_seq, bool *has_function_constraint)
int set_size(DB_COLLECTION *set)
int or_packed_domain_size(struct tp_domain *domain, int include_classoids)
int classobj_drop_foreign_key_ref(DB_SEQ **properties, const BTID *btid, const char *name)
SM_METHOD_ARGUMENT * classobj_make_method_arg(int index)
static void classobj_filter_attribute_props(DB_SEQ *props)
struct sm_foreign_key_info * next
static DB_SEQ * classobj_make_foreign_key_ref_seq(SM_FOREIGN_KEY_INFO *fk_info)
void db_ws_free(void *ptr)
#define mq_free_virtual_query_cache_and_init(virtual_query_cache)
struct parser_context * virtual_query_cache
void classobj_area_final(void)
struct sm_partition * next
AREA * area_create(const char *name, size_t element_size, size_t alloc_count)
static int * classobj_make_index_prefix_info(DB_SEQ *prefix_seq, int num_attrs)
SM_FOREIGN_KEY_ACTION update_action
void ws_free_string(const char *str)
struct sm_representation * next
#define ER_FK_REF_CLASS_HAS_NOT_PK
SM_CLASS_CONSTRAINT * classobj_find_class_constraint_by_btid(SM_CLASS_CONSTRAINT *constraints, SM_CONSTRAINT_TYPE type, BTID btid)
const char * expanded_name
SM_PARTITION * classobj_copy_partition_info(SM_PARTITION *partition_info)
DB_DEFAULT_EXPR_TYPE default_expr_type
static SM_REPRESENTATION * classobj_capture_representation(SM_CLASS *class_)
int classobj_copy_props(DB_SEQ *properties, MOP filter_class, DB_SEQ **new_properties)
int classobj_cache_class_constraints(SM_CLASS *class_)
static SM_METHOD_ARGUMENT * classobj_copy_method_arg(SM_METHOD_ARGUMENT *src)
int db_make_string(DB_VALUE *value, DB_CONST_C_CHAR str)
int class_attribute_count
static int classobj_representation_size(SM_REPRESENTATION *rep)
const char TEXT_CONSTRAINT_PREFIX[]
DB_DEFAULT_EXPR default_expr
struct sm_method_signature SM_METHOD_SIGNATURE
static SM_FOREIGN_KEY_INFO * classobj_make_foreign_key_ref_list(DB_SEQ *fk_container)
static void classobj_clear_attribute(SM_ATTRIBUTE *att)
static int classobj_domain_size(TP_DOMAIN *domain)
int classobj_decompose_property_oid(const char *buffer, int *volid, int *fileid, int *pageid)
void classobj_initialize_default_expr(DB_DEFAULT_EXPR *default_expr)
void er_set(int severity, const char *file_name, const int line_no, int err_id, int num_args,...)
int classobj_put_foreign_key_ref(DB_SEQ **properties, SM_FOREIGN_KEY_INFO *fk_info)
static SM_CLASS_CONSTRAINT * classobj_make_class_constraint(const char *name, SM_CONSTRAINT_TYPE type)
bool classobj_is_pk_referred(MOP clsop, SM_FOREIGN_KEY_INFO *fk_info, bool include_self_ref, char **fk_name)
const char * sm_ch_name(const MOBJ clobj)
struct tr_schema_cache * triggers
SM_METHOD_SIGNATURE * classobj_make_method_signature(const char *name)
void classobj_free_descriptor(SM_DESCRIPTOR *desc)
int classobj_copy_methfiles(SM_METHOD_FILE *files, MOP filter_class, SM_METHOD_FILE **copy_ptr)
int classobj_change_constraint_comment(DB_SEQ *properties, SM_CLASS_CONSTRAINT *cons, const char *comment)
SM_ATTRIBUTE * shared_attributes
static bool classobj_cache_constraint_list(DB_SEQ *seq, SM_CLASS *class_, SM_CONSTRAINT_TYPE constraint_type)
unsigned int virtual_cache_snapshot_version
unsigned recache_constraints
int * attrs_prefix_length
#define ER_SM_CANT_COPY_WITH_FEATURE
unsigned int virtual_cache_local_schema_id
#define stats_free_statistics_and_init(stats)
SM_PARTITION * classobj_make_partition_info(void)
void ws_list_free(DB_LIST *list, LFREEER function)
#define ERROR1(error, code, arg1)
void stats_free_statistics(CLASS_STATS *stats)
SM_DESCRIPTOR * classobj_make_descriptor(MOP class_mop, SM_CLASS *classobj, SM_COMPONENT *comp, int write_access)
SM_REPRESENTATION * representations
static const char * Constraint_properties[]
unsigned dont_decache_constraints_or_flush
#define ER_OUT_OF_VIRTUAL_MEMORY
struct sm_query_spec * next
static SM_CONSTRAINT_TYPE Constraint_types[]
static int classobj_copy_constraint_like(DB_CTMPL *ctemplate, SM_CLASS_CONSTRAINT *constraint, const char *const like_class_name)
void classobj_free_class(SM_CLASS *class_)
DB_OBJLIST * ext_references
SM_QUERY_SPEC * classobj_make_query_spec(const char *specification)
int smt_add_attribute_w_dflt(DB_CTMPL *def, const char *name, const char *domain_string, DB_DOMAIN *domain, DB_VALUE *default_value, const SM_NAME_SPACE name_space, DB_DEFAULT_EXPR *default_expr, DB_DEFAULT_EXPR_TYPE *on_update, const char *comment)
static SM_METHOD_FILE * classobj_copy_methfile(SM_METHOD_FILE *src)
SM_ATTRIBUTE * class_attributes
static int classobj_resolution_size(SM_RESOLUTION *res)
void classobj_free_method_file(SM_METHOD_FILE *file)
DB_SEQ * db_seq_copy(DB_SEQ *source)
int intl_identifier_casecmp(const char *str1, const char *str2)
int classobj_make_class_constraints(DB_SET *class_props, SM_ATTRIBUTE *attributes, SM_CLASS_CONSTRAINT **con_ptr)
SM_METHOD_FILE * method_files
struct sm_descriptor_list * next
int stats_get_statistics(OID *classoid, unsigned int timestamp, CLASS_STATS **stats_p)
SM_QUERY_SPEC * query_spec
static int classobj_init_attribute(SM_ATTRIBUTE *src, SM_ATTRIBUTE *dest, int copy)
static DB_SEQ * classobj_make_index_filter_pred_seq(SM_PREDICATE_INFO *filter_index_info)
#define HFID_SET_NULL(hfid)
static void classobj_insert_ordered_attribute(SM_ATTRIBUTE **attlist, SM_ATTRIBUTE *att)
#define tr_free_schema_cache_and_init(cache)
SM_ATTRIBUTE * instance_attributes
#define NUM_CONSTRAINT_TYPES
static SM_FUNCTION_INFO * classobj_make_function_index_info(DB_SEQ *func_seq)
#define OID_EQ(oidp1, oidp2)
void classobj_free_attribute(SM_ATTRIBUTE *att)
const char * function_name
int classobj_get_cached_constraint(SM_CONSTRAINT *constraints, SM_CONSTRAINT_TYPE type, BTID *id)
#define TP_DOMAIN_TYPE(dom)
static bool classobj_is_possible_constraint(SM_CONSTRAINT_TYPE existed, DB_CONSTRAINT_TYPE new_)
SM_REPR_ATTRIBUTE * classobj_make_repattribute(int attid, DB_TYPE type_id, TP_DOMAIN *domain)
static int classobj_init_method(SM_METHOD *src, SM_METHOD *dest, int copy)
SM_METHOD_SIGNATURE * signatures
#define ER_REGU_NOT_IMPLEMENTED
static DB_SEQ * classobj_make_foreign_key_info_seq(SM_FOREIGN_KEY_INFO *fk_info)
struct sm_repr_attribute * next
#define DB_ATT_ALIGN(offset)
SM_QUERY_SPEC * classobj_copy_query_spec_list(SM_QUERY_SPEC *query_spec)
#define SM_PROPERTY_UNIQUE
#define SM_IS_SHARE_WITH_FOREIGN_KEY(c)
#define BTID_SET_NULL(btid)
void setobj_free(COL *col)
#define ws_list_free_and_init(list, function)
#define SM_IS_CONSTRAINT_INDEX_FAMILY(c)
struct sm_resolution SM_RESOLUTION
SM_COMPONENT * classobj_complist_search(SM_COMPONENT *list, const char *name)
void classobj_remove_class_constraint_node(SM_CLASS_CONSTRAINT **constraints, SM_CLASS_CONSTRAINT *node)
void PRIM_SET_NULL(DB_VALUE *value)
static void classobj_print_props(DB_SEQ *properties)
const char * loader_commands
void classobj_free_threaded_array(DB_LIST *array, LFREEER clear)
SM_METHOD * classobj_make_method(const char *name, SM_NAME_SPACE name_space)
SM_ATTRIBUTE * classobj_make_attribute(const char *name, struct pr_type *type, SM_NAME_SPACE name_space)
int ml_ext_add(DB_OBJLIST **list, MOP mop, int *added_ptr)
#define CONST_CAST(dest_type, expr)
int set_get_element(DB_COLLECTION *set, int index, DB_VALUE *value)
void ml_free(DB_OBJLIST *list)
static void classobj_sort_attlist(SM_ATTRIBUTE **source)
SM_ATTRIBUTE * class_attributes
const char * classobj_map_constraint_to_property(SM_CONSTRAINT_TYPE constraint)
int count(int &result, const cub_regex_object ®, const std::string &src, const int position, const INTL_CODESET codeset)
int pr_clear_value(DB_VALUE *value)
SM_ATTRIBUTE * classobj_find_attribute_id(SM_CLASS *class_, int id, int class_attribute)
unsigned post_load_cleanup
void classobj_free_representation(SM_REPRESENTATION *rep)
SM_CONSTRAINT * constraints
struct sm_method SM_METHOD
static bool classobj_cache_constraint_entry(const char *name, DB_SEQ *constraint_seq, SM_CLASS *class_, SM_CONSTRAINT_TYPE constraint_type)
SM_METHOD * class_methods
SM_QUERY_SPEC * query_spec
SM_RESOLUTION * resolutions
#define WS_LIST_NCONC(lst1, lst2)
static void classobj_clear_method(SM_METHOD *meth)
SM_CLASS_CONSTRAINT * constraints
void classobj_free_class_constraints(SM_CLASS_CONSTRAINT *constraints)
int set_put_element(DB_COLLECTION *set, int index, DB_VALUE *value)
static void error(const char *msg)
static int classobj_method_signature_size(SM_METHOD_SIGNATURE *sig)
int classobj_btid_from_property_value(DB_VALUE *value, BTID *btid, char **shared_cons_name)
SM_DESCRIPTOR_LIST * classobj_make_desclist(MOP classobj, SM_CLASS *class_, SM_COMPONENT *comp, int write_access)
DB_DEFAULT_EXPR_TYPE on_update_default_expr
void classobj_free_resolution(SM_RESOLUTION *res)
SM_TEMPLATE * classobj_make_template(const char *name, MOP op, SM_CLASS *class_)
int sm_is_global_only_constraint(MOP classmop, SM_CLASS_CONSTRAINT *constraint, int *is_global, SM_TEMPLATE *template_)
SM_CLASS_CONSTRAINT * classobj_find_class_constraint(SM_CLASS_CONSTRAINT *constraints, SM_CONSTRAINT_TYPE type, const char *name)
struct sm_method_signature * next
SM_REPR_ATTRIBUTE * attributes
SM_CLASS_CONSTRAINT * classobj_find_class_index(SM_CLASS *class_, const char *name)
SM_TEMPLATE * classobj_make_template_like(const char *name, SM_CLASS *class_)
const int SM_MAX_STRING_LENGTH
DB_OBJLIST * ml_copy(DB_OBJLIST *list)
const char * sql_definition
#define classobj_free_threaded_array_and_init(list, clear)
DB_OBJLIST * validated_classes
SM_METHOD_FILE * method_files
int pr_clone_value(const DB_VALUE *src, DB_VALUE *dest)
#define SM_PROPERTY_INDEX
int dbt_add_constraint(DB_CTMPL *def, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name, const char **attnames, int class_attributes, const char *comment)
const char * default_expr_format
#define SM_PROPERTY_PRIMARY_KEY
int classobj_populate_class_properties(DB_SET **properties, SM_CLASS_CONSTRAINT *constraints, SM_CONSTRAINT_TYPE type)
SM_FOREIGN_KEY_ACTION delete_action
char * sm_produce_constraint_name(const char *class_name, DB_CONSTRAINT_TYPE constraint_type, const char **att_names, const int *asc_desc, const char *given_name)
static int classobj_cache_not_null_constraints(const char *class_name, SM_ATTRIBUTE *attributes, SM_CLASS_CONSTRAINT **con_ptr)
SM_METHOD_FILE * classobj_make_method_file(const char *name)
unsigned has_active_triggers
void classobj_free_partition_info(SM_PARTITION *partition_info)
static int classobj_partition_info_size(SM_PARTITION *partition_info)
void classobj_decache_class_constraints(SM_CLASS *class_)
SM_METHOD * classobj_copy_method(SM_METHOD *src, const char *alias)
DB_DOMAIN * last_setdomain
#define free_and_init(ptr)
struct sm_repr_attribute SM_REPR_ATTRIBUTE
int classobj_check_index_exist(SM_CLASS_CONSTRAINT *constraints, char **out_shared_cons_name, const char *class_name, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name, const char **att_names, const int *asc_desc, const SM_PREDICATE_INFO *filter_index, const SM_FUNCTION_INFO *func_index_info)
DB_CONSTRAINT_TYPE db_constraint_type(const DB_CONSTRAINT *constraint)
#define ERROR2(error, code, arg1, arg2)
void help_print_describe_comment(print_output &output_ctx, const char *comment)
static void classobj_clear_attribute_value(DB_VALUE *value)
bool classobj_has_class_unique_constraint(SM_CLASS_CONSTRAINT *constraints)
char * or_pack_domain(char *ptr, struct tp_domain *domain, int include_classoids, int is_null)
SM_COMPONENT * classobj_filter_components(SM_COMPONENT **complist, SM_NAME_SPACE name_space)
SM_RESOLUTION * classobj_make_resolution(MOP class_mop, const char *name, const char *alias, SM_NAME_SPACE name_space)
void classobj_free_prop(DB_SEQ *properties)
void set_print(DB_COLLECTION *set)
void ml_ext_free(DB_OBJLIST *list)
void * area_alloc(AREA *area)
SM_TEMPLATE * smt_def_class(const char *name)
static SM_CONSTRAINT * classobj_make_constraint(const char *name, SM_CONSTRAINT_TYPE type, BTID *id, bool has_function_constraint)
SM_ATTRIBUTE ** attributes
int db_get_string_size(const DB_VALUE *value)
void classobj_free_function_index_ref(SM_FUNCTION_INFO *func_index_info)
static int classobj_repattribute_size(void)
void * db_ws_alloc(size_t size)
SM_METHOD_ARGUMENT * args
int pr_value_mem_size(const DB_VALUE *value)
int area_free(AREA *area, void *ptr)
#define au_free_authorization_cache_and_init(cache)
const char * specification
unsigned int virtual_cache_global_schema_id
int classobj_copy_reslist(SM_RESOLUTION *src, SM_NAME_SPACE resspace, SM_RESOLUTION **copy_ptr)
#define DB_VALUE_TYPE(value)
TR_SCHEMA_CACHE * tr_copy_schema_cache(TR_SCHEMA_CACHE *cache, MOP filter_class)
int db_make_null(DB_VALUE *value)
#define SM_FUNCTION_INDEX_ID
#define SM_PROPERTY_FOREIGN_KEY
#define DB_IS_NULL(value)
bool classobj_has_function_constraint(SM_CONSTRAINT *constraints)
#define ER_SM_INVALID_CONSTRAINT
char * strdup(const char *str)
static void classobj_free_repattribute(SM_REPR_ATTRIBUTE *rat)
SM_INDEX_STATUS index_status
DB_SEQ * classobj_make_prop()
struct sm_attribute * order_link
#define ER_SM_INDEX_EXISTS
int ws_list_length(DB_LIST *list)
#define BTID_IS_NULL(btid)
static void classobj_put_value_and_iterate(DB_SEQ *destination, int &index, DB_VALUE &value)
int db_make_int(DB_VALUE *value, const int num)
bool classobj_is_exist_foreign_key_ref(MOP refop, SM_FOREIGN_KEY_INFO *fk_info)
int db_make_char(DB_VALUE *value, const int char_length, DB_CONST_C_CHAR str, const int char_str_byte_size, const int codeset, const int collation_id)
#define db_ws_free_and_init(obj)
#define SM_PREFIX_INDEX_ID
static SM_FOREIGN_KEY_INFO * classobj_make_foreign_key_ref(DB_SEQ *fk_seq)
int ml_size(DB_OBJLIST *list)
SM_CONSTRAINT_EXTRA_FLAG extra_status
#define SM_PROPERTY_REVERSE_INDEX
void tr_free_schema_cache(TR_SCHEMA_CACHE *cache)
static int classobj_attribute_size(SM_ATTRIBUTE *att)
char * ws_copy_string(const char *str)
SM_RESOLUTION * class_resolutions
struct sm_resolution * next
DB_LIST * ws_list_copy(DB_LIST *src, LCOPIER copier, LFREEER freeer)
struct sm_constraint * next
SM_ATTRIBUTE * ordered_attributes
struct sm_method_argument SM_METHOD_ARGUMENT
#define OBJ_BOUND_BIT_BYTES
bool classobj_cache_constraints(SM_CLASS *class_)
char * or_unpack_domain(char *ptr, struct tp_domain **domain_ptr, int *is_null)
#define SM_PROPERTY_REVERSE_UNIQUE
DB_LIST * classobj_alloc_threaded_array(int size, int count)
void classobj_free_method_signature(SM_METHOD_SIGNATURE *sig)
static int classobj_method_file_size(SM_METHOD_FILE *file)
#define SM_PROPERTY_NOT_NULL
int ws_list_total(DB_LIST *list, LTOTALER function)
static void classobj_free_method_arg(SM_METHOD_ARGUMENT *arg)
SM_ATTRIBUTE * classobj_copy_attribute(SM_ATTRIBUTE *src, const char *alias)
void classobj_fixup_loaded_class(SM_CLASS *class_)
SM_ATTRIBUTE * attributes
SM_REPRESENTATION * classobj_make_representation()
static int classobj_copy_methlist(SM_METHOD *methlist, MOP filter_class, SM_METHOD **copy_ptr)
char * classobj_describe_foreign_key_action(SM_FOREIGN_KEY_ACTION action)
int au_fetch_class_force(MOP op, SM_CLASS **class_, AU_FETCHMODE fetchmode)
struct sm_method_file * next
void tp_domain_free(TP_DOMAIN *dom)
DB_CONST_C_CHAR db_get_string(const DB_VALUE *value)
const char * loader_commands
#define ml_free_and_init(list)
SM_METHOD_ARGUMENT * classobj_find_method_arg(SM_METHOD_ARGUMENT **arglist, int index, int create)
struct sm_method_argument * next
SM_RESOLUTION * classobj_find_resolution(SM_RESOLUTION *reslist, MOP class_mop, const char *name, SM_NAME_SPACE name_space)
const char * rel_major_release_string(void)
int classobj_drop_prop(DB_SEQ *properties, const char *name)
#define ER_SM_PRIMARY_KEY_EXISTS
int tp_domain_memory_size(TP_DOMAIN *domain)
int classobj_find_prop_constraint(DB_SEQ *properties, const char *prop_name, const char *cnstr_name, DB_VALUE *cnstr_val)
int classobj_put_prop(DB_SEQ *properties, const char *name, DB_VALUE *pvalue)
struct sm_query_spec SM_QUERY_SPEC
void clear(cub_regex_object *®ex, char *&pattern)
SM_METHOD * classobj_find_method(SM_CLASS *class_, const char *name, int class_method)
#define ER_SM_INVALID_PROPERTY