Update of /cvsroot/monetdb/sql/src/server
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv20566/src/server

Modified Files:
      Tag: SQL_2-22
        bin_optimizer.mx 
Log Message:
we cannot push a limit simply through a cross product (TODO just repeat
the limit under both the inputs of the corss product, assuming no order 
is needed afcourse) 


Index: bin_optimizer.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/bin_optimizer.mx,v
retrieving revision 1.10
retrieving revision 1.10.2.1
diff -u -d -r1.10 -r1.10.2.1
--- bin_optimizer.mx    11 Jan 2008 10:52:11 -0000      1.10
+++ bin_optimizer.mx    7 Mar 2008 13:25:42 -0000       1.10.2.1
@@ -267,12 +267,12 @@
 
                /* try to push the limit through the (fetch) join */
                j = s->op1.stval;
-               /* equi join on same base table */
+
+               /* push through the projection joins */
+               /* TODO put limit under (and keep above) cross products */
                if (s->flag == 0 &&
-                   j->type == st_join && 
-                 ((j->flag == cmp_equal && 
-                   j->op1.stval->t && j->op1.stval->t == j->op2.stval->h) || 
-                   j->flag == cmp_all)) {
+                   j->type == st_join && j->flag == cmp_equal && 
+                   j->op1.stval->t && j->op1.stval->t == j->op2.stval->h) {
                        stmt *l = stmt_dup(j->op1.stval);
                        stmt *r = stmt_dup(j->op2.stval);
 


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to