Changeset: c502d6138998 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c502d6138998
Modified Files:
sql/backends/monet5/rel_weld.c
Branch: rel-weld
Log Message:
rel_weld: op_basetable can also columns with aliases
diffs (26 lines):
diff --git a/sql/backends/monet5/rel_weld.c b/sql/backends/monet5/rel_weld.c
--- a/sql/backends/monet5/rel_weld.c
+++ b/sql/backends/monet5/rel_weld.c
@@ -403,7 +403,12 @@ base_table_produce(backend *be, sql_rel
wprintf(wstate, "for(zip(");
for (en = rel->exps->h; en; en = en->next) {
exp = en->data;
- stmt *col = bin_find_column(be, sub, exp->l, exp->r);
+ stmt *col;
+ if (exp->name) {
+ col = bin_find_column(be, sub, exp->rname ? exp->rname
: exp->name, exp->name);
+ } else {
+ col = bin_find_column(be, sub, exp->l, exp->r);
+ }
wprintf(wstate, "in%d", col->nr);
if (en->next != NULL) {
wprintf(wstate, ", ");
@@ -423,7 +428,7 @@ base_table_produce(backend *be, sql_rel
/* extract named values from the tuple */
for (en = rel->exps->h, count = 0; en; en = en->next, count++) {
exp = en->data;
- str col_name = get_col_name(wstate->sa, exp, REL);
+ str col_name = get_col_name(wstate->sa, exp, ANY);
if (rel->exps->h->next == NULL) {
/* just a single column so n.$0 doesn't work */
sprintf(struct_mbr, "n%d", wstate->num_loops);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list