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