Changeset: 878b213d1026 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=878b213d1026 Modified Files: sql/common/sql_types.c sql/common/sql_types.h Branch: default Log Message:
Cleanup: turn functions only used in single file into static. Also removed some unused functions (sql_create_aggr2, sql_create_sqlfunc). diffs (truncated from 379 to 300 lines): diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c --- a/sql/common/sql_types.c +++ b/sql/common/sql_types.c @@ -998,6 +998,36 @@ sql_bind_func_(sql_allocator *sa, sql_sc return NULL; } +static sql_subfunc * +sql_bind_func_result_(sql_allocator *sa, sql_schema *s, const char *sqlfname, list *ops, sql_subtype *res) +{ + node *n = funcs->h; + + for (; n; n = n->next) { + sql_func *f = n->data; + sql_arg *firstres = NULL; + + if (!f->res && !IS_FILT(f)) + continue; + firstres = IS_FILT(f)?BIT:f->res->h->data; + if (strcmp(f->base.name, sqlfname) == 0 && (is_subtype(&firstres->type, res) || firstres->type.type->eclass == EC_ANY) && list_cmp(f->ops, ops, (fcmp) &arg_subtype_cmp) == 0) + return sql_dup_subfunc(sa, f, ops, NULL); + } + if (s && s->funcs.set) + n = s->funcs.set->h; + for (; n; n = n->next) { + sql_func *f = n->data; + sql_arg *firstres = NULL; + + if (!f->res && !IS_FILT(f)) + continue; + firstres = IS_FILT(f)?BIT:f->res->h->data; + if (strcmp(f->base.name, sqlfname) == 0 && (is_subtype(&firstres->type, res) || firstres->type.type->eclass == EC_ANY) && list_cmp(f->ops, ops, (fcmp) &arg_subtype_cmp) == 0) + return sql_dup_subfunc(sa, f, ops, NULL); + } + return NULL; +} + sql_subfunc * sql_bind_func_result(sql_allocator *sa, sql_schema *s, const char *sqlfname, sql_subtype *tp1, sql_subtype *tp2, sql_subtype *res) { @@ -1031,36 +1061,6 @@ sql_bind_func_result3(sql_allocator *sa, } -sql_subfunc * -sql_bind_func_result_(sql_allocator *sa, sql_schema *s, const char *sqlfname, list *ops, sql_subtype *res) -{ - node *n = funcs->h; - - for (; n; n = n->next) { - sql_func *f = n->data; - sql_arg *firstres = NULL; - - if (!f->res && !IS_FILT(f)) - continue; - firstres = IS_FILT(f)?BIT:f->res->h->data; - if (strcmp(f->base.name, sqlfname) == 0 && (is_subtype(&firstres->type, res) || firstres->type.type->eclass == EC_ANY) && list_cmp(f->ops, ops, (fcmp) &arg_subtype_cmp) == 0) - return sql_dup_subfunc(sa, f, ops, NULL); - } - if (s && s->funcs.set) - n = s->funcs.set->h; - for (; n; n = n->next) { - sql_func *f = n->data; - sql_arg *firstres = NULL; - - if (!f->res && !IS_FILT(f)) - continue; - firstres = IS_FILT(f)?BIT:f->res->h->data; - if (strcmp(f->base.name, sqlfname) == 0 && (is_subtype(&firstres->type, res) || firstres->type.type->eclass == EC_ANY) && list_cmp(f->ops, ops, (fcmp) &arg_subtype_cmp) == 0) - return sql_dup_subfunc(sa, f, ops, NULL); - } - return NULL; -} - static void sql_create_alias(sql_allocator *sa, const char *name, const char *alias) { @@ -1091,7 +1091,7 @@ sql_bind_alias(const char *alias) } -sql_type * +static sql_type * sql_create_type(sql_allocator *sa, const char *sqlname, unsigned int digits, unsigned int scale, unsigned char radix, unsigned char eclass, const char *name) { sql_type *t = SA_ZNEW(sa, sql_type); @@ -1145,123 +1145,7 @@ arg_dup(sql_allocator *sa, sql_arg *oa) return a; } -sql_func * -sql_create_aggr(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe, sql_type *res) -{ - list *l = sa_list(sa); - sql_arg *sres; - - if (tpe) - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe, 0, 0), ARG_IN)); - assert(res); - sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); - return sql_create_func_(sa, name, mod, imp, l, sres, FALSE, F_AGGR, SCALE_NONE); -} - -sql_func * -sql_create_aggr2(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tp1, sql_type *tp2, sql_type *res) -{ - list *l = sa_list(sa); - sql_arg *sres; - - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tp1, 0, 0), ARG_IN)); - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tp2, 0, 0), ARG_IN)); - assert(res); - sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); - return sql_create_func_(sa, name, mod, imp, l, sres, FALSE, F_AGGR, SCALE_NONE); -} - -sql_func * -sql_create_func(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe1, sql_type *tpe2, sql_type *res, int fix_scale) -{ - list *l = sa_list(sa); - sql_arg *sres; - - if (tpe1) - list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe1, 0, 0), ARG_IN)); - if (tpe2) - list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe2, 0, 0), ARG_IN)); - - sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); - return sql_create_func_(sa, name, mod, imp, l, sres, FALSE, F_FUNC, fix_scale); -} - static sql_func * -sql_create_func_res(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe1, sql_type *tpe2, sql_type *res, int fix_scale, int scale) -{ - list *l = sa_list(sa); - sql_arg *sres; - - if (tpe1) - list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe1, 0, 0), ARG_IN)); - if (tpe2) - list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe2, 0, 0), ARG_IN)); - - sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); - sres->type.scale = scale; - return sql_create_func_(sa, name, mod, imp, l, sres, FALSE, F_FUNC, fix_scale); -} - -sql_func * -sql_create_funcSE(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe1, sql_type *tpe2, sql_type *res, int fix_scale) -{ - list *l = sa_list(sa); - sql_arg *sres; - - if (tpe1) - list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe1, 0, 0), ARG_IN)); - if (tpe2) - list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe2, 0, 0), ARG_IN)); - - sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); - return sql_create_func_(sa, name, mod, imp, l, sres, TRUE, F_FUNC, fix_scale); -} - - -sql_func * -sql_create_func3(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe1, sql_type *tpe2, sql_type *tpe3, sql_type *res, int fix_scale) -{ - list *l = sa_list(sa); - sql_arg *sres; - - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe1, 0, 0), ARG_IN)); - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe2, 0, 0), ARG_IN)); - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe3, 0, 0), ARG_IN)); - sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); - return sql_create_func_(sa, name, mod, imp, l, sres, FALSE, F_FUNC, fix_scale); -} - -static sql_func * -sql_create_analytic(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe1, sql_type *tpe2, sql_type *tpe3, sql_type *res, int fix_scale) -{ - list *l = sa_list(sa); - sql_arg *sres; - - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe1, 0, 0), ARG_IN)); - if (tpe2) - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe2, 0, 0), ARG_IN)); - if (tpe3) - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe3, 0, 0), ARG_IN)); - sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); - return sql_create_func_(sa, name, mod, imp, l, sres, FALSE, F_ANALYTIC, fix_scale); -} - -sql_func * -sql_create_func4(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe1, sql_type *tpe2, sql_type *tpe3, sql_type *tpe4, sql_type *res, int fix_scale) -{ - list *l = sa_list(sa); - sql_arg *sres; - - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe1, 0, 0), ARG_IN)); - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe2, 0, 0), ARG_IN)); - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe3, 0, 0), ARG_IN)); - list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe4, 0, 0), ARG_IN)); - sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); - return sql_create_func_(sa, name, mod, imp, l, sres, FALSE, F_FUNC, fix_scale); -} - - -sql_func * sql_create_func_(sql_allocator *sa, const char *name, const char *mod, const char *imp, list *ops, sql_arg *res, bit side_effect, int type, int fix_scale) { sql_func *t = SA_ZNEW(sa, sql_func); @@ -1293,32 +1177,109 @@ sql_create_func_(sql_allocator *sa, cons return t; } -sql_func * -sql_create_sqlfunc(sql_allocator *sa, const char *name, const char *imp, list *ops, sql_arg *res) +static sql_func * +sql_create_aggr(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe, sql_type *res) +{ + list *l = sa_list(sa); + sql_arg *sres; + + if (tpe) + list_append(l, create_arg(sa, NULL, sql_create_subtype(sa, tpe, 0, 0), ARG_IN)); + assert(res); + sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); + return sql_create_func_(sa, name, mod, imp, l, sres, FALSE, F_AGGR, SCALE_NONE); +} + +static sql_func * +sql_create_func(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe1, sql_type *tpe2, sql_type *res, int fix_scale) { - sql_func *t = SA_ZNEW(sa, sql_func); + list *l = sa_list(sa); + sql_arg *sres; + + if (tpe1) + list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe1, 0, 0), ARG_IN)); + if (tpe2) + list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe2, 0, 0), ARG_IN)); + + sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); + return sql_create_func_(sa, name, mod, imp, l, sres, FALSE, F_FUNC, fix_scale); +} + +static sql_func * +sql_create_func_res(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe1, sql_type *tpe2, sql_type *res, int fix_scale, int scale) +{ + list *l = sa_list(sa); + sql_arg *sres; + + if (tpe1) + list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe1, 0, 0), ARG_IN)); + if (tpe2) + list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe2, 0, 0), ARG_IN)); + + sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); + sres->type.scale = scale; + return sql_create_func_(sa, name, mod, imp, l, sres, FALSE, F_FUNC, fix_scale); +} + +static sql_func * +sql_create_funcSE(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe1, sql_type *tpe2, sql_type *res, int fix_scale) +{ + list *l = sa_list(sa); + sql_arg *sres; - assert(res && ops); - base_init(sa, &t->base, store_next_oid(), TR_OLD, name); - t->imp = sa_strdup(sa, imp); - t->mod = sa_strdup(sa, "SQL"); - t->ops = ops; - if (res) { - t->res = sa_list(sa); - list_append(t->res, res); - t->type = F_FUNC; - } else { - t->res = NULL; - t->type = F_PROC; - } - t->nr = list_length(funcs); - t->sql = 1; - t->lang = FUNC_LANG_SQL; - t->side_effect = FALSE; - list_append(funcs, t); - return t; + if (tpe1) + list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe1, 0, 0), ARG_IN)); + if (tpe2) + list_append(l,create_arg(sa, NULL, sql_create_subtype(sa, tpe2, 0, 0), ARG_IN)); + + sres = create_arg(sa, NULL, sql_create_subtype(sa, res, 0, 0), ARG_OUT); + return sql_create_func_(sa, name, mod, imp, l, sres, TRUE, F_FUNC, fix_scale); +} + + +static sql_func * +sql_create_func3(sql_allocator *sa, const char *name, const char *mod, const char *imp, sql_type *tpe1, sql_type *tpe2, sql_type *tpe3, sql_type *res, int fix_scale) +{ + list *l = sa_list(sa); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list