Changeset: e88e352b26fe for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e88e352b26fe Modified Files: monetdb5/optimizer/opt_mergetable.c sql/backends/monet5/sql_gencode.c sql/server/sql_statement.c Branch: default Log Message:
use tunique instead of reverse(unique(reverse(x))) diffs (45 lines): diff --git a/monetdb5/optimizer/opt_mergetable.c b/monetdb5/optimizer/opt_mergetable.c --- a/monetdb5/optimizer/opt_mergetable.c +++ b/monetdb5/optimizer/opt_mergetable.c @@ -1985,7 +1985,7 @@ OPTmergetableImplementation(Client cntxt getFunctionId(p)== sumRef || getFunctionId(p) == prodRef)) || (getModuleId(p) == algebraRef && - getFunctionId(p) == kuniqueRef)) && + getFunctionId(p) == tuniqueRef)) && (m=isMATalias(getArg(p,1), mat, mtop)) >= 0) { mat_aggr(mb, p, mat, m); actions++; diff --git a/sql/backends/monet5/sql_gencode.c b/sql/backends/monet5/sql_gencode.c --- a/sql/backends/monet5/sql_gencode.c +++ b/sql/backends/monet5/sql_gencode.c @@ -1450,16 +1450,8 @@ _dumpstmt(backend *sql, MalBlkPtr mb, st q = pushArgument(mb, q, e); q = pushArgument(mb, q, l); } else { - int k; - - q = newStmt2(mb, batRef, reverseRef); + q = newStmt2(mb, algebraRef, tuniqueRef); q = pushArgument(mb, q, l); - k = getDestVar(q); - q = newStmt1(mb, algebraRef, "kunique"); - q = pushArgument(mb, q, k); - k = getDestVar(q); - q = newStmt2(mb, batRef, reverseRef); - q = pushArgument(mb, q, k); } s->nr = getDestVar(q); break; diff --git a/sql/server/sql_statement.c b/sql/server/sql_statement.c --- a/sql/server/sql_statement.c +++ b/sql/server/sql_statement.c @@ -992,7 +992,7 @@ stmt_unique(sql_allocator *sa, stmt *s, if (g) ns->op2 = g->grp; ns->nrcols = s->nrcols; - ns->key = 1; /* ?? maybe change key to unique ? */ + ns->key = 1; ns->aggr = s->aggr; ns->t = s->t; return ns; _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list