Changeset: 6f4ce14dcfb0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/6f4ce14dcfb0 Modified Files: sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h Branch: default Log Message:
functions constructing simple stmt should be in sql_statement diffs (95 lines): diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c --- a/sql/backends/monet5/rel_bin.c +++ b/sql/backends/monet5/rel_bin.c @@ -256,14 +256,16 @@ bin_find_columns( backend *be, stmt *sub return NULL; } -static stmt *column(backend *be, stmt *val ) +static stmt * +column(backend *be, stmt *val ) { if (val->nrcols == 0) return const_column(be, val); return val; } -static stmt *create_const_column(backend *be, stmt *val ) +static stmt * +create_const_column(backend *be, stmt *val ) { if (val->nrcols == 0) val = const_column(be, val); @@ -1858,22 +1860,6 @@ parse_value(backend *be, sql_schema *s, } static stmt * -stmt_rename(backend *be, sql_exp *exp, stmt *s ) -{ - const char *name = exp_name(exp); - const char *rname = exp_relname(exp); - stmt *o = s; - - if (!name && exp_is_atom(exp)) - name = sa_strdup(be->mvc->sa, "single_value"); - assert(name); - s = stmt_alias(be, s, rname, name); - if (o->flag & OUTER_ZERO) - s->flag |= OUTER_ZERO; - return s; -} - -static stmt * rel2bin_sql_table(backend *be, sql_table *t, list *aliases) { mvc *sql = be->mvc; @@ -6683,7 +6669,7 @@ output_rel_bin(backend *be, sql_rel *rel mvc *sql = be->mvc; list *refs = sa_list(sql->sa); mapi_query_t sqltype = sql->type; - stmt *s; + stmt *s = NULL; be->join_idx = 0; be->rowcount = 0; @@ -6691,6 +6677,7 @@ output_rel_bin(backend *be, sql_rel *rel s = subrel_bin(be, rel, refs); s = subrel_project(be, s, refs, rel); + if (!s) return NULL; if (sqltype == Q_SCHEMA) 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 @@ -4512,3 +4512,19 @@ stmt_fetch(backend *be, stmt *val) } return NULL; } + +stmt * +stmt_rename(backend *be, sql_exp *exp, stmt *s ) +{ + const char *name = exp_name(exp); + const char *rname = exp_relname(exp); + stmt *o = s; + + if (!name && exp_is_atom(exp)) + name = sa_strdup(be->mvc->sa, "single_value"); + assert(name); + s = stmt_alias(be, s, rname, name); + if (o->flag & OUTER_ZERO) + s->flag |= OUTER_ZERO; + return s; +} diff --git a/sql/backends/monet5/sql_statement.h b/sql/backends/monet5/sql_statement.h --- a/sql/backends/monet5/sql_statement.h +++ b/sql/backends/monet5/sql_statement.h @@ -271,5 +271,6 @@ extern const char *schema_name(sql_alloc extern stmt *const_column(backend *ba, stmt *val); extern stmt *stmt_fetch(backend *ba, stmt *val); +extern stmt *stmt_rename(backend *ba, sql_exp *e, stmt *s); #endif /* _SQL_STATEMENT_H_ */ _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org