71 #define OBJ_MAX_ARGS 32 72 #define MAX_DOMAIN_NAME 128 173 bool find_class_attribute =
false;
188 find_class_attribute = (is_class > 0 ?
true :
false);
191 if (find_class_attribute)
363 if (att->
id == attid)
395 if (att->
id == attid)
403 memory = (
char *) (((
char *) obj) + found->
offset);
410 if (att->
id == attid)
516 SETREF *new_set, *current_set;
574 if (new_set !=
NULL && new_set != setref)
587 if (current_set !=
NULL)
729 const char *base_name;
835 error =
obj_set (ref_mop, base_name, &base_value);
875 mem = (
char *) (((
char *) obj) + att->
offset);
900 #if defined(ENABLE_UNUSED_FUNCTION) 903 error = vid_record_update (op, class_, att);
1040 if (actual != value)
1164 if (current !=
NULL)
1339 error =
get_set_value (op, att, (
char *) mem, source, dest);
1446 mem = (
char *) (((
char *) obj) + att->
offset);
1593 char delimiter, nextdelim;
1598 (void) strcpy (&buf[0], attpath);
1601 for (token = &buf[0];
char_isspace (*token) && *token !=
'\0'; token++);
1604 while (delimiter !=
'\0' && error ==
NO_ERROR)
1607 if (delimiter ==
'.')
1615 for (end = token; !
char_isspace (*end) && *end !=
'\0';)
1617 if ((*end !=
'.') && (*end !=
'['))
1638 else if (delimiter ==
'[')
1649 for (end = token;
char_isdigit (*end) && *end !=
'\0'; end++)
1660 index = atoi (token);
1672 for (++end; nextdelim !=
']' && nextdelim !=
'\0'; nextdelim = *end++)
1674 if (nextdelim !=
'\0')
1688 delimiter = nextdelim;
1694 *value = temp_value;
1742 if (assignment !=
NULL)
1884 for (i = 0; i < nwords; i++)
1886 if (bound_bit_status)
1888 bits[
i] = 0xFFFFFFFF;
1929 if (obj_template !=
NULL)
1957 if (class_mop !=
NULL)
2024 if (obj_template !=
NULL)
2071 mem = ((
char *) obj) + att->
offset;
2099 bool unpin_on_error =
false;
2150 if (base_op ==
NULL)
2160 if (base_op !=
NULL && base_op != op)
2162 pin2 =
ws_pin (base_op, 1);
2164 unpin_on_error =
true;
2167 if (base_class !=
NULL)
2219 if (base_op !=
NULL && base_op != op)
2221 (void)
ws_pin (base_op, pin2);
2223 unpin_on_error =
false;
2240 if (trstate !=
NULL)
2256 if (base_op !=
NULL && base_op != op)
2258 (void)
ws_pin (base_op, pin2);
2260 unpin_on_error =
false;
2295 for (i = 0; arg !=
NULL; arg = arg->
next, i++)
2318 if (argarray ==
NULL)
2331 for (j = 0; argarray[
i] !=
NULL; i++, j++)
2385 for (i = 0; i < state->
nargs; i++)
2455 ((
METHOD_FUNC_ARG4) (*method)) (obj, returnval, values[0], values[1], values[2], values[3]);
2458 ((
METHOD_FUNC_ARG5) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4]);
2461 ((
METHOD_FUNC_ARG6) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5]);
2464 ((
METHOD_FUNC_ARG7) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2468 ((
METHOD_FUNC_ARG8) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2469 values[6], values[7]);
2472 ((
METHOD_FUNC_ARG9) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2473 values[6], values[7], values[8]);
2476 ((
METHOD_FUNC_ARG10) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2477 values[6], values[7], values[8], values[9]);
2480 ((
METHOD_FUNC_ARG11) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2481 values[6], values[7], values[8], values[9], values[10]);
2484 ((
METHOD_FUNC_ARG12) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2485 values[6], values[7], values[8], values[9], values[10], values[11]);
2488 ((
METHOD_FUNC_ARG13) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2489 values[6], values[7], values[8], values[9], values[10], values[11], values[12]);
2492 ((
METHOD_FUNC_ARG14) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2493 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2497 ((
METHOD_FUNC_ARG15) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2498 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2499 values[13], values[14]);
2502 ((
METHOD_FUNC_ARG16) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2503 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2504 values[13], values[14], values[15]);
2507 ((
METHOD_FUNC_ARG17) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2508 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2509 values[13], values[14], values[15], values[16]);
2512 ((
METHOD_FUNC_ARG18) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2513 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2514 values[13], values[14], values[15], values[16], values[17]);
2517 ((
METHOD_FUNC_ARG19) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2518 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2519 values[13], values[14], values[15], values[16], values[17], values[18]);
2522 ((
METHOD_FUNC_ARG20) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2523 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2524 values[13], values[14], values[15], values[16], values[17], values[18],
2528 ((
METHOD_FUNC_ARG21) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2529 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2530 values[13], values[14], values[15], values[16], values[17], values[18],
2531 values[19], values[20]);
2534 ((
METHOD_FUNC_ARG22) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2535 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2536 values[13], values[14], values[15], values[16], values[17], values[18],
2537 values[19], values[20], values[21]);
2540 ((
METHOD_FUNC_ARG23) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2541 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2542 values[13], values[14], values[15], values[16], values[17], values[18],
2543 values[19], values[20], values[21], values[22]);
2546 ((
METHOD_FUNC_ARG24) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2547 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2548 values[13], values[14], values[15], values[16], values[17], values[18],
2549 values[19], values[20], values[21], values[22], values[23]);
2552 ((
METHOD_FUNC_ARG25) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2553 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2554 values[13], values[14], values[15], values[16], values[17], values[18],
2555 values[19], values[20], values[21], values[22], values[23], values[24]);
2558 ((
METHOD_FUNC_ARG26) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2559 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2560 values[13], values[14], values[15], values[16], values[17], values[18],
2561 values[19], values[20], values[21], values[22], values[23], values[24],
2565 ((
METHOD_FUNC_ARG27) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2566 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2567 values[13], values[14], values[15], values[16], values[17], values[18],
2568 values[19], values[20], values[21], values[22], values[23], values[24],
2569 values[25], values[26]);
2572 ((
METHOD_FUNC_ARG28) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2573 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2574 values[13], values[14], values[15], values[16], values[17], values[18],
2575 values[19], values[20], values[21], values[22], values[23], values[24],
2576 values[25], values[26], values[27]);
2579 ((
METHOD_FUNC_ARG29) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2580 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2581 values[13], values[14], values[15], values[16], values[17], values[18],
2582 values[19], values[20], values[21], values[22], values[23], values[24],
2583 values[25], values[26], values[27], values[28]);
2586 ((
METHOD_FUNC_ARG30) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2587 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2588 values[13], values[14], values[15], values[16], values[17], values[18],
2589 values[19], values[20], values[21], values[22], values[23], values[24],
2590 values[25], values[26], values[27], values[28], values[29]);
2593 ((
METHOD_FUNC_ARG31) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2594 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2595 values[13], values[14], values[15], values[16], values[17], values[18],
2596 values[19], values[20], values[21], values[22], values[23], values[24],
2597 values[25], values[26], values[27], values[28], values[29], values[30]);
2600 ((
METHOD_FUNC_ARG32) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2601 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2602 values[13], values[14], values[15], values[16], values[17], values[18],
2603 values[19], values[20], values[21], values[22], values[23], values[24],
2604 values[25], values[26], values[27], values[28], values[29], values[30],
2608 ((
METHOD_FUNC_ARG33) (*method)) (obj, returnval, values[0], values[1], values[2], values[3], values[4], values[5],
2609 values[6], values[7], values[8], values[9], values[10], values[11], values[12],
2610 values[13], values[14], values[15], values[16], values[17], values[18],
2611 values[19], values[20], values[21], values[22], values[23], values[24],
2612 values[25], values[26], values[27], values[28], values[29], values[30],
2613 values[31], overflow);
2845 if ((obj ==
NULL) || (name ==
NULL))
2888 if ((obj ==
NULL) || (desc ==
NULL))
2904 #if defined(ENABLE_UNUSED_FUNCTION) 2921 obj_send_stack (
MOP obj,
const char *name,
DB_VALUE * returnval, ...)
2926 va_start (args, returnval);
2953 va_start (args, returnval);
3050 if ((obj ==
NULL) || (name ==
NULL))
3076 #if defined(ENABLE_UNUSED_FUNCTION) 3111 if ((obj ==
NULL) || (desc ==
NULL))
3218 if ((obj ==
NULL) || (name ==
NULL))
3260 if ((obj ==
NULL) || (desc ==
NULL))
3301 if ((obj ==
NULL) || (desc ==
NULL))
3636 for (i = 0, nullcnt = 0; i < size; i++)
3650 if (nullcnt >= size)
3686 if (op ==
NULL || attr_names ==
NULL || values ==
NULL || size < 1)
3713 if (!attp || !namep)
3719 while (i < size && *attp && *namep && !
SM_COMPARE_NAMES ((*attp)->header.name, *namep))
3725 if (!*attp && i == size)
3773 if (op ==
NULL || desc ==
NULL || values ==
NULL || size < 1)
3796 if (desc_comp ==
NULL)
3801 for (i = 0; i < size; i++)
3811 desc_comp[size] =
NULL;
3819 if (!attp || !descp)
3825 while (i < size && *attp && *descp && (*attp)->
id == (*descp)->id)
3831 if (!*attp && !*descp)
3900 if (att ==
NULL || att[0]->domain ==
NULL)
3937 for (i = 0; att[
i]; i++)
4029 if (op ==
NULL || values ==
NULL || size < 1)
4047 for (i = 0; i < size; i++)
4098 if (classop ==
NULL || key ==
NULL)
4190 #if defined(ENABLE_UNUSED_FUNCTION) 4198 obj_isclass (
MOP obj)
4237 int is_instance = 0;
4289 return (is_instance);
4308 MOP object_class_mop;
4315 if (object_class_mop == class_mop)
4321 if (object_class_mop ==
NULL)
4330 if (object_class_mop == class_mop)
4441 #if defined(ENABLE_UNUSED_FUNCTION) 4456 obj_find_unique_id (
MOP op,
const char *att_name,
BTID * id_array,
int id_array_size,
int *total_ids)
4462 int num_constraints = 0;
4481 if (num_constraints < id_array_size)
4483 id_array[num_constraints] = ptr->
index;
4489 *total_ids = num_constraints;
static int find_attribute(SM_CLASS **classp, SM_ATTRIBUTE **attp, MOP op, const char *name, int for_write)
int obj_get_shared(MOP op, const char *name, DB_VALUE *value)
#define ER_OBJ_ARGUMENT_DOMAIN_CONFLICT
static void argstate_from_list(ARGSTATE *state, DB_VALUE_LIST *arglist)
MOP obj_find_multi_desc(MOP op, int size, const SM_DESCRIPTOR *desc[], const DB_VALUE *values[], AU_FETCHMODE fetchmode)
#define ER_LK_UNILATERALLY_ABORTED
TP_DOMAIN_STATUS tp_value_coerce(const DB_VALUE *src, DB_VALUE *dest, const TP_DOMAIN *desired_domain)
bool classobj_has_unique_constraint(SM_CONSTRAINT *constraints)
#define WS_IS_DELETED(mop)
int db_value_put_null(DB_VALUE *value)
DB_COLLECTION * db_get_set(const DB_VALUE *value)
struct db_value_list * next
void ws_class_has_object_dependencies(MOP class_mop)
char * obj_alloc(SM_CLASS *class_, int bound_bit_status)
void(* METHOD_FUNC_ARG5)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
static int flush_temporary_OID(MOP classop, DB_VALUE *key)
MOP ws_mop(const OID *oid, MOP class_mop)
enum au_fetchmode AU_FETCHMODE
TP_DOMAIN * tp_domain_select(const TP_DOMAIN *domain_list, const DB_VALUE *value, int allow_coercion, TP_MATCH exact_match)
int tp_value_domain_name(const DB_VALUE *value, char *buffer, int maxlen)
#define OR_BOUND_BIT_WORDS(count)
void(* METHOD_FUNC_ARG13)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
#define TP_IS_SET_TYPE(typenum)
#define ER_OBJ_INVALID_INDEX_IN_PATH
void set_free(DB_COLLECTION *set)
static int obj_get_temp(DB_OBJECT *obj, SM_CLASS *class_, SM_ATTRIBUTE *att, DB_VALUE *value)
int db_seq_get(DB_SET *set, int index, DB_VALUE *value)
SM_CLASS_CONSTRAINT * classobj_find_class_primary_key(SM_CLASS *class_)
static int check_args(SM_METHOD *method, ARGSTATE *state)
#define OBJ_GET_BOUND_BIT(obj, element)
int obj_assign_value(MOP op, SM_ATTRIBUTE *att, char *mem, DB_VALUE *value)
SM_ATTRIBUTE * attributes
#define ASSERT_ERROR_AND_SET(error_code)
int db_make_object(DB_VALUE *value, DB_C_OBJECT *obj)
DB_COLLECTION * set_create_sequence(int size)
MOP obj_find_unique(MOP op, const char *attname, DB_VALUE *value, AU_FETCHMODE fetchmode)
static int obj_set_att(MOP op, SM_CLASS *class_, SM_ATTRIBUTE *att, DB_VALUE *value, SM_VALIDATION *valid)
int obt_update(OBJ_TEMPLATE *template_ptr, MOP *newobj)
#define ER_OBJ_INVALID_OBJECT_IN_PATH
OBJ_TEMPASSIGN ** assignments
void(* METHOD_FUNC_ARG33)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE_LIST *)
#define OBJ_HEADER_BOUND_BITS_OFFSET
SM_DEFAULT_VALUE default_value
void(* METHOD_FUNC_ARG28)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
int obj_desc_set(MOP op, SM_DESCRIPTOR *desc, DB_VALUE *value)
MOP obj_desc_find_unique(MOP op, SM_DESCRIPTOR *desc, DB_VALUE *value, AU_FETCHMODE fetchmode)
#define SM_IS_CONSTRAINT_UNIQUE_FAMILY(c)
struct sm_component * next
int db_make_sequence(DB_VALUE *value, DB_C_SET *set)
void(* METHOD_FUNC_ARG10)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
int obj_desc_send_list(MOP obj, SM_DESCRIPTOR *desc, DB_VALUE *returnval, DB_VALUE_LIST *arglist)
SM_ATTRIBUTE * classobj_find_attribute(SM_CLASS *class_, const char *name, int class_attribute)
void(* METHOD_FUNC_ARG26)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
void(* METHOD_FUNC_ARG8)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
struct sm_class_constraint * next
void(* METHOD_FUNC_ARG20)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
#define ER_OBJ_INVALID_PATH_EXPRESSION
void(* METHOD_FUNC_ARG24)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
enum tp_domain_status TP_DOMAIN_STATUS
int getmem(void *memptr, const tp_domain *domain, DB_VALUE *value, bool copy=true) const
void db_ws_free(void *ptr)
bool ws_is_same_object(MOP mop1, MOP mop2)
DB_VALUE * obt_check_assignment(SM_ATTRIBUTE *att, DB_VALUE *proposed_value, SM_VALIDATION *valid, unsigned force_check_not_null)
#define ERROR0(error, code)
void(* METHOD_FUNC_ARG21)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
int sm_get_descriptor_component(MOP op, SM_DESCRIPTOR *desc, int for_update, SM_CLASS **class_ptr, SM_COMPONENT **comp_ptr)
int obj_desc_send_array(MOP obj, SM_DESCRIPTOR *desc, DB_VALUE *returnval, DB_VALUE **argarray)
static DB_OBJECT * is_class(OID *obj_oid, OID *class_oid)
int pr_free_ext_value(DB_VALUE *value)
DB_VALUE_LIST * save_overflow
int obj_send_va(MOP obj, const char *name, DB_VALUE *returnval, va_list args)
void(* METHOD_FUNC_ARG30)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
bool vid_inhibit_null_check
int setmem(void *memptr, const tp_domain *domain, const DB_VALUE *value) const
#define ER_IT_NOT_UPDATABLE_STMT
void(* METHOD_FUNC_ARG23)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
void(* METHOD_FUNC_ARG32)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
void er_set(int severity, const char *file_name, const int line_no, int err_id, int num_args,...)
int db_set_get(DB_SET *set, int index, DB_VALUE *value)
struct tr_schema_cache * triggers
int obt_quit(OBJ_TEMPLATE *template_ptr)
MOP obj_create_by_name(const char *name)
static int find_shared_attribute(SM_CLASS **classp, SM_ATTRIBUTE **attp, MOP op, const char *name, int for_write)
int db_make_set(DB_VALUE *value, DB_C_SET *set)
int db_make_multiset(DB_VALUE *value, DB_C_SET *set)
int au_fetch_class(MOP op, SM_CLASS **class_ptr, AU_FETCHMODE fetchmode, DB_AUTH type)
#define ERROR1(error, code, arg1)
int obj_lock(MOP op, int for_write)
int ws_pin(MOP mop, int pin)
struct db_object * class_mop
void(* METHOD_FUNC_ARG4)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
OBJ_TEMPLATE * obt_def_object(MOP class_mop)
void obj_free_memory(SM_CLASS *class_, MOBJ obj)
void(* METHOD_FUNC_ARG16)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
void(* METHOD_FUNC_ARG18)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
int tp_domain_name(const TP_DOMAIN *domain, char *buffer, int maxlen)
static int assign_set_value(MOP op, SM_ATTRIBUTE *att, char *mem, SETREF *setref)
SM_ATTRIBUTE * class_attributes
void(* METHOD_FUNC_ARG29)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
int db_is_updatable_attribute(DB_OBJECT *obj, const char *attr_name)
int obt_assign(OBJ_TEMPLATE *template_ptr, SM_ATTRIBUTE *att, int base_assignment, DB_VALUE *value, SM_VALIDATION *valid)
void ws_pin_instance_and_class(MOP obj, int *opin, int *cpin)
void(* METHOD_FUNC_ARG9)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
void ws_restore_pin(MOP obj, int opin, int cpin)
int obj_send_array(MOP obj, const char *name, DB_VALUE *returnval, DB_VALUE **argarray)
int obj_class_lock(MOP op, int for_write)
DB_OBJECT * db_get_object(const DB_VALUE *value)
static int forge_flag_pat
MOP ws_class_mop(MOP mop)
int classobj_get_cached_constraint(SM_CONSTRAINT *constraints, SM_CONSTRAINT_TYPE type, BTID *id)
TP_DOMAIN_STATUS tp_value_cast(const DB_VALUE *src, DB_VALUE *dest, const TP_DOMAIN *desired_domain, bool implicit_coercion)
int obj_desc_send_va(MOP obj, SM_DESCRIPTOR *desc, DB_VALUE *returnval, va_list args)
#define TP_DOMAIN_TYPE(dom)
void locator_remove_instance(MOP mop)
#define WS_SET_DELETED(mop)
void(* METHOD_FUNC_ARG12)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
void(* METHOD_FUNC_ARG14)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
#define ER_OBJ_METHOD_USER_ERROR
SM_METHOD_SIGNATURE * signatures
void initmem(void *memptr, const tp_domain *domain) const
#define ER_OBJ_OBJECT_NOT_FOUND
static void argstate_from_array(ARGSTATE *state, DB_VALUE **argarray)
#define OBJ_SET_BOUND_BIT(obj, element)
#define ER_OBJ_INDEX_NOT_FOUND
#define BTID_SET_NULL(btid)
DB_VALUE * pr_make_ext_value(void)
#define SM_IS_CONSTRAINT_INDEX_FAMILY(c)
DB_COLLECTION * set_change_owner(DB_COLLECTION *ref, MOP owner, int attid, TP_DOMAIN *domain)
#define ERROR3(error, code, arg1, arg2, arg3)
int au_fetch_instance_force(MOP op, MOBJ *obj_ptr, AU_FETCHMODE fetchmode, LC_FETCH_VERSION_TYPE fetch_version_type)
void(* METHOD_FUNC_ARG19)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
#define ER_OBJ_INVALID_ATTRIBUTE
#define TM_TRAN_READ_FETCH_VERSION()
static MOP find_unique(MOP classop, SM_ATTRIBUTE *att, DB_VALUE *value, AU_FETCHMODE fetchmode)
DB_VALUE * save[OBJ_MAX_ARGS]
void(* METHOD_FUNC_ARG31)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
int tr_prepare_class(TR_STATE **state_p, TR_SCHEMA_CACHE *cache, MOP class_mop, DB_TRIGGER_EVENT event)
int set_connect(DB_COLLECTION *ref, MOP owner, int attid, TP_DOMAIN *domain)
int set_get_element(DB_COLLECTION *set, int index, DB_VALUE *value)
MOP vid_get_referenced_mop(MOP mop)
need_clear_type need_clear
int sm_flush_objects(MOP obj)
static int obj_send_method_array(MOP obj, SM_CLASS *class_, SM_METHOD *method, DB_VALUE *returnval, DB_VALUE **argarray)
int obj_desc_get(MOP op, SM_DESCRIPTOR *desc, DB_VALUE *value)
void(* METHOD_FUNC_ARG25)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
int pr_clear_value(DB_VALUE *value)
static int get_object_value(MOP op, SM_ATTRIBUTE *att, char *mem, DB_VALUE *source, DB_VALUE *dest)
int obj_set_shared(MOP op, const char *name, DB_VALUE *value)
int sm_active_triggers(MOP class_mop, SM_CLASS *class_, DB_TRIGGER_EVENT event_type)
void(* METHOD_FUNC_ARG11)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
SM_CONSTRAINT * constraints
static int get_set_value(MOP op, SM_ATTRIBUTE *att, char *mem, DB_VALUE *source, DB_VALUE *dest)
void(* METHOD_FUNC_ARG7)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
static DB_VALUE * obj_make_key_value(DB_VALUE *key, const DB_VALUE *values[], int size)
static MOP obj_find_object_by_cons_and_key(MOP classop, SM_CLASS_CONSTRAINT *cons, DB_VALUE *key, AU_FETCHMODE fetchmode)
SM_CLASS_CONSTRAINT * constraints
char * obj_Method_error_msg
int set_put_element(DB_COLLECTION *set, int index, DB_VALUE *value)
static void error(const char *msg)
void(* METHOD_FUNC_ARG27)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
#define OBJ_CLEAR_BOUND_BIT(obj, element)
#define DB_DEFAULT_PRECISION
bool vid_is_updatable(MOP mop)
int obj_send_list(MOP obj, const char *name, DB_VALUE *returnval, DB_VALUE_LIST *arglist)
int locator_does_exist_object(MOP mop, DB_FETCH_MODE purpose)
static int call_method(METHOD_FUNCTION method, MOP obj, DB_VALUE *returnval, int nargs, DB_VALUE **values, DB_VALUE_LIST *overow)
int obj_locate_attribute(MOP op, int attid, int for_write, char **memp, SM_ATTRIBUTE **attp)
MOP obj_find_primary_key(MOP op, const DB_VALUE **values, int size, AU_FETCHMODE fetchmode)
int pr_clone_value(const DB_VALUE *src, DB_VALUE *dest)
int obj_set(MOP op, const char *name, DB_VALUE *value)
MOP obj_create(MOP classop)
void(* METHOD_FUNC_ARG15)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
#define free_and_init(ptr)
void vid_rem_instance(MOP mop)
int obj_get_value(MOP op, SM_ATTRIBUTE *att, void *mem, DB_VALUE *source, DB_VALUE *dest)
#define ER_OBJ_INVALID_ARGUMENTS
#define TM_TRAN_ASYNC_WS()
int obj_inst_lock(MOP op, int for_write)
int obj_get_path(DB_OBJECT *object, const char *attpath, DB_VALUE *value)
#define ER_HEAP_UNKNOWN_OBJECT
OBJ_TEMPLATE * obt_edit_object(MOP object)
static void argstate_from_va(ARGSTATE *state, va_list args, int nargs)
void(* METHOD_FUNC_ARG6)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
int obj_desc_send_array_quick(MOP obj, SM_DESCRIPTOR *desc, DB_VALUE *returnval, int nargs, DB_VALUE **argarray)
SM_ATTRIBUTE ** attributes
BTREE_SEARCH btree_find_unique(BTID *btid, DB_VALUE *key, OID *class_oid, OID *oid)
void * db_ws_alloc(size_t size)
SM_METHOD_ARGUMENT * args
static int obj_send_method_list(MOP obj, SM_CLASS *class_, SM_METHOD *method, DB_VALUE *returnval, DB_VALUE_LIST *arglist)
int tr_before_object(TR_STATE *state, DB_OBJECT *current, DB_OBJECT *temp)
#define ER_IT_ATTR_NOT_UPDATABLE
#define IS_CLASS_MOP(mop)
int obj_is_instance_of(MOP obj, MOP class_mop)
int obj_isinstance(MOP obj)
#define DB_VALUE_TYPE(value)
#define ER_OBJ_TOO_MANY_ARGUMENTS
int db_make_null(DB_VALUE *value)
int obj_get_att(MOP op, SM_CLASS *class_, SM_ATTRIBUTE *att, DB_VALUE *value)
#define DB_IS_NULL(value)
#define ER_OBJ_INVALID_SET_IN_PATH
void freemem(void *memptr) const
static int obj_send_method_va(MOP obj, SM_CLASS *class_, SM_METHOD *method, DB_VALUE *returnval, va_list args)
int obj_get(MOP op, const char *name, DB_VALUE *value)
void(* METHOD_FUNCTION)()
int db_get_error(const DB_VALUE *value)
int au_fetch_instance(MOP op, MOBJ *obj_ptr, AU_FETCHMODE mode, LC_FETCH_VERSION_TYPE fetch_version_type, DB_AUTH type)
int set_disconnect(DB_COLLECTION *ref)
int sm_link_method(SM_CLASS *class_, SM_METHOD *method)
static int assign_null_value(MOP op, SM_ATTRIBUTE *att, char *mem)
MOP sm_find_class(const char *name)
static void cleanup_argstate(ARGSTATE *state)
#define OBT_BASE_OBJECT(template_ptr)
int locator_is_class(MOP mop, DB_FETCH_MODE hint_purpose)
MOP obj_find_object_by_pkey(MOP classop, DB_VALUE *key, AU_FETCHMODE fetchmode)
void(* METHOD_FUNC_ARG17)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
struct sm_constraint * next
#define WS_MOP_IS_NULL(mop)
int tr_after_object(TR_STATE *state, DB_OBJECT *current, DB_OBJECT *temp)
int obt_update_internal(OBJ_TEMPLATE *template_ptr, MOP *newobj, int check_non_null)
int ws_find(MOP mop, MOBJ *obj)
static int obj_Method_call_level
static int obj_set_temp(DB_OBJECT *obj, SM_ATTRIBUTE *att, DB_VALUE *value)
#define ER_OBJ_INVALID_METHOD
MOP obj_find_multi_attr(MOP op, int size, const char *attr_names[], const DB_VALUE *values[], AU_FETCHMODE fetchmode)
int au_fetch_class_force(MOP op, SM_CLASS **class_, AU_FETCHMODE fetchmode)
#define ER_OBJ_INVALID_TEMP_OBJECT
void(* METHOD_FUNC_ARG22)(DB_OBJECT *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *, DB_VALUE *)
DB_CONST_C_CHAR db_get_string(const DB_VALUE *value)
struct sm_method_argument * next
DB_VALUE * values[OBJ_MAX_ARGS]
int db_value_domain_init(DB_VALUE *value, const DB_TYPE type, const int precision, const int scale)
SM_METHOD * classobj_find_method(SM_CLASS *class_, const char *name, int class_method)