Changeset: dbdebdc215b5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dbdebdc215b5
Modified Files:
MonetDB5/src/optimizer/opt_mergetable.mx
MonetDB5/src/optimizer/opt_prelude.mx
Branch: Oct2010
Log Message:
bailout in merge table on rank and dense rank
diffs (46 lines):
diff -r 69c8415c265d -r dbdebdc215b5 MonetDB5/src/optimizer/opt_mergetable.mx
--- a/MonetDB5/src/optimizer/opt_mergetable.mx Thu Oct 28 15:41:19 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_mergetable.mx Thu Oct 28 16:02:20 2010 +0200
@@ -2042,6 +2042,15 @@
mtop = mat_add(mat, mtop, p, NULL, mat_none);
continue;
}
+
+ if (getModuleId(p) == batcalcRef &&
+ (getFunctionId(p) == mark_grpRef ||
+ getFunctionId(p) == dense_rank_grpRef)) {
+ /* Mergetable cannot handle
+ order related batcalc operations */
+ error++;
+ goto fail;
+ }
@-
If the instruction does not contain MAT references it can simply be added.
Otherwise we have to decide on either packing them or replacement.
diff -r 69c8415c265d -r dbdebdc215b5 MonetDB5/src/optimizer/opt_prelude.mx
--- a/MonetDB5/src/optimizer/opt_prelude.mx Thu Oct 28 15:41:19 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_prelude.mx Thu Oct 28 16:02:20 2010 +0200
@@ -113,6 +113,7 @@
opt_export str markHRef;
opt_export str markTRef;
opt_export str mark_grpRef;
+opt_export str dense_rank_grpRef;
opt_export str materializeRef;
opt_export str matRef;
opt_export str max_no_nilRef;
@@ -318,6 +319,7 @@
str markHRef;
str markTRef;
str mark_grpRef;
+str dense_rank_grpRef;
str materializeRef;
str matRef;
str max_no_nilRef;
@@ -519,6 +521,7 @@
markHRef = putName("markH", 5);
markTRef = putName("markT", 5);
mark_grpRef = putName("mark_grp", 8);
+ dense_rank_grpRef = putName("dense_rank_grp", 14);
materializeRef = putName("materialize", 11);
matRef = putName("mat", 3);
max_no_nilRef = putName("max_no_nil", 10);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list