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

Reply via email to