11 #include <gen/types.h> 14 typedef struct RDB_op_data RDB_operator;
15 typedef struct RDB_expression RDB_expression;
16 typedef struct RDB_exec_context RDB_exec_context;
19 typedef RDB_type *RDB_gettypefn(
const char *,
void *);
81 enum RDB_tp_kind kind;
84 RDB_operator *compare_op;
108 RDB_expression *constraintp;
109 RDB_expression *initexp;
111 RDB_bool init_val_is_valid;
119 RDB_obj_cleanup_func *cleanup_fp;
156 RDB_type_is_generic(
const RDB_type *);
159 RDB_type_is_union(
const RDB_type *);
162 RDB_type_is_dummy(
const RDB_type *);
237 RDB_tuple_type_attr(
const RDB_type *,
const char *attrname);
240 RDB_wrap_tuple_type(
const RDB_type *typ,
int wrapc,
244 RDB_wrap_relation_type(
const RDB_type *typ,
int wrapc,
248 RDB_unwrap_tuple_type(
const RDB_type *typ,
int attrc,
char *attrv[],
252 RDB_unwrap_relation_type(
const RDB_type *typ,
int attrc,
char *attrv[],
264 RDB_project_tuple_type(
const RDB_type *typ,
int attrc,
const char *attrv[],
268 RDB_project_relation_type(
const RDB_type *typ,
int,
const char *[],
272 RDB_group_type(
const RDB_type *,
int,
char *[],
const char *,
276 RDB_ungroup_type(
RDB_type *typ,
const char *attr, RDB_exec_context *);
RDB_type * RDB_new_relation_type_from_base(RDB_type *, RDB_exec_context *)
Definition: type.c:404
RDB_bool RDB_type_is_tuple(const RDB_type *)
Definition: type.c:481
void RDB_set_cleanup(RDB_type *, RDB_obj_cleanup_func *)
Definition: type.c:726
RDB_type * RDB_dup_nonscalar_type(RDB_type *typ, RDB_exec_context *)
Definition: type.c:200
RDB_attr * RDB_type_attrs(RDB_type *, int *)
Definition: type.c:528
RDB_bool RDB_type_is_ordered(const RDB_type *)
Definition: type.c:83
void RDB_lock_type(RDB_type *)
Definition: type.c:716
int options
Definition: type.h:46
RDB_type * RDB_base_type(const RDB_type *typ)
Definition: type.c:506
int RDB_del_nonscalar_type(RDB_type *, RDB_exec_context *)
Definition: type.c:544
RDB_possrep * RDB_type_possreps(const RDB_type *, int *)
Definition: type.c:136
RDB_bool RDB_type_equals(const RDB_type *, const RDB_type *)
Definition: type.c:589
char * name
Definition: type.h:30
RDB_bool RDB_type_is_scalar(const RDB_type *)
Definition: type.c:455
RDB_bool RDB_type_has_possreps(const RDB_type *)
Definition: type.c:127
RDB_type * RDB_new_tuple_type(int attrc, const RDB_attr[], RDB_exec_context *)
Definition: type.c:291
RDB_type * RDB_new_scalar_type(const char *, RDB_int, RDB_bool, RDB_bool, RDB_exec_context *)
Definition: type.c:236
RDB_bool RDB_is_subtype(const RDB_type *, const RDB_type *)
Definition: type.c:653
RDB_expression * defaultp
Definition: type.h:39
RDB_attr * RDB_type_property(const RDB_type *, const char *)
Definition: type.c:173
RDB_bool RDB_share_subtype(const RDB_type *, const RDB_type *)
Definition: type.c:693
RDB_type * RDB_new_array_type(RDB_type *, RDB_exec_context *)
Definition: type.c:430
RDB_bool RDB_type_is_relation(const RDB_type *)
Definition: type.c:468
char * RDB_type_name(const RDB_type *)
Definition: type.c:643
RDB_type * typ
Definition: type.h:33
RDB_bool RDB_type_depends_type(const RDB_type *, const RDB_type *)
Definition: type.c:94
RDB_bool RDB_type_is_array(const RDB_type *)
Definition: type.c:493
RDB_possrep * RDB_comp_possrep(const RDB_type *, const char *)
Definition: type.c:154
RDB_bool RDB_type_is_valid(const RDB_type *)
Definition: type.c:46
RDB_type * RDB_new_relation_type(int attrc, const RDB_attr[], RDB_exec_context *)
Definition: type.c:381
RDB_bool RDB_type_is_numeric(const RDB_type *)
Definition: type.c:31