Changeset: dab4996e229f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/dab4996e229f
Modified Files:
sql/backends/monet5/rel_pphash.c
Branch: pp_hashjoin
Log Message:
comment only: some info. about the two concat blocks for {right,full}-outer-join
diffs (22 lines):
diff --git a/sql/backends/monet5/rel_pphash.c b/sql/backends/monet5/rel_pphash.c
--- a/sql/backends/monet5/rel_pphash.c
+++ b/sql/backends/monet5/rel_pphash.c
@@ -1102,6 +1102,18 @@ rel2bin_oahash_fullouterjoin(backend *be
/*** start pipeline.concat ***/
int p_source = be->source, p_concatcnt = be->concatcnt;
+ /* A right outer join (as well as a full outer join) has exactly 2
concat blocks.
+ * Block 1: the join part, in which we also need to generate MAL code to
+ * process the sub relations of the join. Therefore, this concat block
+ * might have already been added to the p_source by the code
generation
+ * of the sub relations. If not, e.g. if the sub relations just
contain
+ * constants, we add a dummy source at the end of code generation for
this
+ * block (see code "add dummy source").
+ * Block 2: the append-null part. The MAL code structure for this block
is
+ * static. There is no more sub relations to process. Therefore, we
+ * immediately add this concat block to the p_source at the beginning
of
+ * code generation for this block.
+ */
(void)stmt_concat(be, be->source, 2);
/* create all results variables, hash-side first */
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]