Update of /cvsroot/monetdb/pathfinder/compiler/algebra/prop
In directory 
23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv29915/compiler/algebra/prop

Modified Files:
        prop_set.c 
Log Message:
propagated changes of Tuesday Jul 07 2009 - Wednesday Jul 08 2009
from the May2009 branch to the development trunk

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/07/07 - tsheyar: compiler/algebra/prop/prop_set.c,1.31.2.1
-- Fix set property inference for differences (-- we have bag semantics).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


U prop_set.c
Index: prop_set.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_set.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- prop_set.c  12 Jun 2009 13:06:14 -0000      1.32
+++ prop_set.c  8 Jul 2009 11:21:40 -0000       1.33
@@ -145,11 +145,17 @@
             break;
 
         case la_semijoin:
-        case la_difference:
             l_set = n->prop->set;
             r_set = true;
             break;
 
+        case la_difference:
+            /* the left argument may not prune duplicates
+               (as this might lead to mor result tuples) */
+            l_set = false;
+            r_set = true;
+            break;
+
         case la_distinct:
             l_set = true;
             break;
@@ -377,7 +383,6 @@
             break;
 
         case la_semijoin:
-        case la_difference:
             /* adopt set information for left argument
                and allow duplicates in the right argument */
             r_col = col_NULL;
@@ -413,6 +418,15 @@
             l_set = false;
             break;
 
+        case la_difference:
+            /* the left argument may not prune duplicates
+               (as this might lead to mor result tuples) */
+            l_set = false;
+            /* and allow duplicates in the right argument */
+            r_col = col_NULL;
+            r_set = true;
+            break;
+
         case la_distinct:
             /* allow duplicates for the argument */
             l_col = col_NULL;


------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to