Changeset: 8ddfdc1d81b5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/8ddfdc1d81b5 Modified Files: sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h Branch: groupjoin Log Message:
handle markjoin with 2 and 3 results diffs (37 lines): 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 @@ -2107,18 +2107,19 @@ stmt_markselect(backend *be, stmt *g, st } stmt * -stmt_markjoin(backend *be, stmt *l, stmt *r, bool any) +stmt_markjoin(backend *be, stmt *l, stmt *r, bool final) { MalBlkPtr mb = be->mb; InstrPtr q; q = newStmtArgs(mb, algebraRef, markjoinRef, 8); q = pushReturn(mb, q, newTmpVariable(mb, TYPE_any)); + if (!final) + q = pushReturn(mb, q, newTmpVariable(mb, TYPE_any)); q = pushArgument(mb, q, l->nr); /* left ids */ q = pushArgument(mb, q, r->nr); /* mark info mask */ q = pushNil(mb, q, TYPE_bat); q = pushNil(mb, q, TYPE_bat); - q = pushBit(mb, q, (any)?TRUE:FALSE); q = pushNil(mb, q, TYPE_lng); pushInstruction(mb, q); 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 @@ -198,7 +198,7 @@ extern stmt *stmt_uselect2(backend *be, extern stmt *stmt_genselect(backend *be, stmt *lops, stmt *rops, sql_subfunc *f, stmt *sub, int anti); extern stmt *stmt_outerselect(backend *be, stmt *g, stmt *m, stmt *p, bool any); extern stmt *stmt_markselect(backend *be, stmt *g, stmt *m, stmt *p, bool any); -extern stmt *stmt_markjoin(backend *be, stmt *l, stmt *r, bool any); +extern stmt *stmt_markjoin(backend *be, stmt *l, stmt *r, bool final); extern stmt *stmt_tunion(backend *be, stmt *op1, stmt *op2); extern stmt *stmt_tdiff(backend *be, stmt *op1, stmt *op2, stmt *lcand); _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org