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 -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org