Changeset: 325f33aa6ef6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=325f33aa6ef6 Modified Files: sql/backends/monet5/rel_bin.c sql/server/rel_unnest.c Branch: default Log Message:
Merged with linear-hashing diffs (49 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 @@ -5355,7 +5355,7 @@ rel2bin_partition_limits(backend *be, sq l = subrel_bin(be, rel->l, refs); if (rel->r) /* first construct the sub relation */ r = subrel_bin(be, rel->r, refs); - if (!l || !r) + if ((rel->l && !l) || (rel->r && !r)) return NULL; assert(rel->exps); @@ -5385,9 +5385,9 @@ rel2bin_exception(backend *be, sql_rel * if (rel->l) /* first construct the sub relation */ l = subrel_bin(be, rel->l, refs); - if (rel->r) /* first construct the sub relation */ + if (rel->r) /* first construct the sub relation */ r = subrel_bin(be, rel->r, refs); - if (!l || !r) + if ((rel->l && !l) || (rel->r && !r)) return NULL; if (rel->exps) { diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c --- a/sql/server/rel_unnest.c +++ b/sql/server/rel_unnest.c @@ -1382,7 +1382,10 @@ static sql_rel * switch (rel->op) { case op_basetable: + break; case op_table: + if (IS_TABLE_PROD_FUNC(rel->flag) || rel->flag == TABLE_FROM_RELATION) + rel->l = _rel_unnest(sql, rel->l); break; case op_join: case op_left: @@ -1432,7 +1435,10 @@ rel_reset_subquery(sql_rel *rel) rel->subquery = 0; switch(rel->op){ case op_basetable: + break; case op_table: + if ((IS_TABLE_PROD_FUNC(rel->flag) || rel->flag == TABLE_FROM_RELATION) && rel->l) + rel_reset_subquery(rel->l); break; case op_ddl: rel_reset_subquery(rel->l); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list