Changeset: b81ea145dfa7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b81ea145dfa7
Modified Files:
sql/server/rel_basetable.c
sql/server/rel_select.c
Branch: nested
Log Message:
more name fixing
diffs (59 lines):
diff --git a/sql/server/rel_basetable.c b/sql/server/rel_basetable.c
--- a/sql/server/rel_basetable.c
+++ b/sql/server/rel_basetable.c
@@ -197,6 +197,9 @@ rel_nested_basetable_add_cols(mvc *sql,
e->f = sa_list(sql->sa);
if (!e || !e->f)
return NULL;
+ sql_alias *ta = a_create(sa, c->base.name);
+ ta->parent = atname;
+ atname = ta;
} else {
e = exp_alias(sql, atname, c->base.name, atname,
c->base.name, &c->type, CARD_MULTI, c->null, is_column_unique(c), 1);
}
@@ -217,8 +220,10 @@ rel_nested_basetable_add_cols(mvc *sql,
if (ce && ce != e) {
append(ce->f, e);
composite--;
- if (!composite)
+ if (!composite) {
ce = NULL;
+ atname = atname->parent;
+ }
} else {
append(exps, e);
}
@@ -277,6 +282,9 @@ rel_nested_basetable(mvc *sql, sql_table
e->f = sa_list(sql->sa);
if (!e || !e->f)
return NULL;
+ sql_alias *ta = a_create(sa, c->base.name);
+ ta->parent = atname;
+ atname = ta;
} else {
e = exp_alias(sql, atname, c->base.name, atname,
c->base.name, &c->type, CARD_MULTI, c->null, is_column_unique(c), 0);
}
@@ -298,8 +306,10 @@ rel_nested_basetable(mvc *sql, sql_table
if (ce && ce != e) {
append(ce->f, e);
composite--;
- if (!composite)
+ if (!composite) {
ce = NULL;
+ atname = atname->parent;
+ }
} else {
append(rel->exps, e);
}
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -729,7 +729,7 @@ rel_unnest_func(sql_query *query, list *
if (r && is_basetable(r->op)) {
sql_table *t = r->l;
sql_column *c = t?mvc_bind_column(query->sql, t,
exp_name(e)):NULL;
- if (!c)
+ if (!c || !c->storage_type)
return sql_error(query->sql, ERR_NOTFOUND,
SQLSTATE(42000) "SELECT: unnest multiset column '%s' missing", exp_name(e));
sql_table *st = mvc_bind_table(query->sql, t->s,
c->storage_type);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]