Changeset: 96991648d072 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=96991648d072
Modified Files:
        pathfinder/compiler/algebra/prop/prop_composite_key.c
Branch: default
Log Message:

Detect more key properties.


diffs (37 lines):

diff -r 4e5d987edc8a -r 96991648d072 
pathfinder/compiler/algebra/prop/prop_composite_key.c
--- a/pathfinder/compiler/algebra/prop/prop_composite_key.c     Tue Oct 05 
22:24:36 2010 +0200
+++ b/pathfinder/compiler/algebra/prop/prop_composite_key.c     Tue Oct 05 
22:30:37 2010 +0200
@@ -319,19 +319,31 @@
             unsigned int i, j;
             /* combine all keys of the left argument
                with all keys of the right argument */
-            for (i = 0; i < llsize (LCKEYS); i++)
+            for (i = 0; i < llsize (LCKEYS); i++) {
                 for (j = 0; j < llsize (RCKEYS); j++) {
                     union_ (CKEYS,
                             clconcat (llat (LCKEYS, i),
                                       llat (RCKEYS, j)));
                 }
+                for (j = 0; j < clsize (R(n)->prop->keys); j++) {
+                    union_ (CKEYS,
+                            clconcat (llat (LCKEYS, i),
+                                      collist (clat (R(n)->prop->keys, j))));
+                }
+            }
 
-            for (i = 0; i < clsize (L(n)->prop->keys); i++)
+            for (i = 0; i < clsize (L(n)->prop->keys); i++) {
+                for (j = 0; j < llsize (RCKEYS); j++) {
+                    union_ (CKEYS,
+                            clconcat (collist (clat (L(n)->prop->keys, i)),
+                                      llat (RCKEYS, j)));
+                }
                 for (j = 0; j < clsize (R(n)->prop->keys); j++) {
                     union_ (CKEYS,
                             collist (clat (L(n)->prop->keys, i),
                                      clat (R(n)->prop->keys, j)));
                 }
+            }
         }   break;
 
         case la_eqjoin:
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to