Changeset: c2c99e9ce09f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c2c99e9ce09f
Branch: default
Log Message:
Merge with Dec2023 branch.
diffs (81 lines):
diff --git a/sql/backends/monet5/sql_gencode.c
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -104,17 +104,15 @@ table_func_create_result(MalBlkPtr mb, I
return q;
}
-void
-relational_func_create_result_part1(mvc *sql, sql_rel **f, int *nargs)
+sql_rel *
+relational_func_create_result_part1(mvc *sql, sql_rel *r, int *nargs)
{
- sql_rel *r = *f;
-
if (is_topn(r->op) || is_sample(r->op))
r = r->l;
if (!is_project(r->op))
r = rel_project(sql->sa, r, rel_projections(sql, r, NULL, 1,
1));
*nargs = list_length(r->exps);
- *f = r;
+ return r;
}
InstrPtr
@@ -288,7 +286,7 @@ static int
backend_reset(be);
int nargs;
- relational_func_create_result_part1(m, &r, &nargs);
+ sql_rel *nr = relational_func_create_result_part1(m, r, &nargs);
nargs += (call && call->type == st_list) ? list_length(call->op4.lval)
: rel_ops ? list_length(rel_ops) : 0;
c->curprg = newFunctionArgs(putName(mod), putName(name),
FUNCTIONsymbol, nargs);
@@ -296,11 +294,10 @@ static int
sql_error(m, 10, SQLSTATE(HY013) MAL_MALLOC_FAIL);
goto bailout;
} else if (eb_savepoint(&m->sa->eb)) {
- r = NULL;
sql_error(m, 10, "%s", m->sa->eb.msg);
freeSymbol(c->curprg);
goto bailout;
- } else if (_create_relational_function_body(m, r, call, rel_ops,
inline_func) < 0) {
+ } else if (_create_relational_function_body(m, nr, call, rel_ops,
inline_func) < 0) {
goto bailout;
}
*be = bebackup;
@@ -950,8 +947,7 @@ static int
/* create stub */
int nargs;
- sql_rel *rel2 = rel;
- relational_func_create_result_part1(m, &rel2, &nargs);
+ sql_rel *rel2 = relational_func_create_result_part1(m, rel, &nargs);
if (call && call->type == st_list)
nargs += list_length(call->op4.lval);
c->curprg = newFunctionArgs(putName(mod), putName(name),
FUNCTIONsymbol, nargs);
diff --git a/sql/backends/monet5/sql_gencode.h
b/sql/backends/monet5/sql_gencode.h
--- a/sql/backends/monet5/sql_gencode.h
+++ b/sql/backends/monet5/sql_gencode.h
@@ -36,7 +36,7 @@ extern void _exp_print(mvc *sql, sql_exp
extern int constantAtom(backend *be, MalBlkPtr mb, atom *a);
extern InstrPtr table_func_create_result(MalBlkPtr mb, InstrPtr q, sql_func
*f, list *restypes);
-extern void relational_func_create_result_part1(mvc *sql, sql_rel **f, int
*nargs);
+extern sql_rel *relational_func_create_result_part1(mvc *sql, sql_rel *r, int
*nargs);
extern InstrPtr relational_func_create_result_part2(MalBlkPtr mb, InstrPtr q,
sql_rel *r);
#endif /* _SQL2MAL_H */
diff --git a/sql/backends/monet5/sql_statement.c
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -4091,8 +4091,7 @@ stmt_func(backend *be, stmt *ops, const
goto bailout;
int nargs;
- sql_rel *r = rel;
- relational_func_create_result_part1(be->mvc, &r, &nargs);
+ sql_rel *r = relational_func_create_result_part1(be->mvc, rel, &nargs);
if (ops)
nargs += list_length(ops->op4.lval);
if (f_union)
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]