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 -- [email protected]
To unsubscribe send an email to [email protected]