Changeset: dafc6b6340fd for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dafc6b6340fd Modified Files: pathfinder/compiler/algebra/opt/opt_reqval.c Branch: default Log Message:
Extended rowrank rewrite A rowrank is now pruned if it has exactly one order criterion and is only used in a mapping join or an aggregate. diffs (17 lines): diff -r 4d0af73df097 -r dafc6b6340fd pathfinder/compiler/algebra/opt/opt_reqval.c --- a/pathfinder/compiler/algebra/opt/opt_reqval.c Sun Jul 11 13:34:54 2010 +0200 +++ b/pathfinder/compiler/algebra/opt/opt_reqval.c Tue Jul 13 17:05:09 2010 +0200 @@ -123,10 +123,11 @@ PFprop_req_rank_col (p->prop, p->sem.sort.res)) *p = *rank (L(p), p->sem.sort.res, p->sem.sort.sortby); else if (p->kind == la_rowrank && - PFprop_req_multi_col_col (p->prop, p->sem.sort.res) && + (PFprop_req_bijective_col (p->prop, p->sem.sort.res) || + (PFprop_req_multi_col_col (p->prop, p->sem.sort.res) && /* single ascending order criterion */ + PFord_order_dir_at (p->sem.sort.sortby, 0) == DIR_ASC)) && PFord_count (p->sem.sort.sortby) == 1 && - PFord_order_dir_at (p->sem.sort.sortby, 0) == DIR_ASC && /* sort criterion should not stem from a rank operator */ PFprop_type_of (p, PFord_order_col_at (p->sem.sort.sortby, 0)) != aat_nat) { _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list