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

Modified Files:
      Tag: Aug2009_NFI
        compile.c 
Log Message:
enable heuristic rewrite value-selections in the algebra backend of 
MonetDB/xQuery

has to properly implement pf:attribute(ctx, node, ns1, loc1, ns2, loc2) first,
as only the verion without namespaces was there (that one is now gone).

many restrictions:
- only non-loop-lifted equality tests
- not involving fn:collection or pf:collection (as path reversal in the latter 
will never find the supernode)
- not involving any date/time/etc typed expressions (as the indices only work 
for string and numerical equality)

went through the testweb and fixed all apparant problems

note the Aug2009_NFI value indices are full; whereas previously they would omit 
frequent data items



U compile.c
Index: compile.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/compile.c,v
retrieving revision 1.182.6.1
retrieving revision 1.182.6.2
diff -u -d -r1.182.6.1 -r1.182.6.2
--- compile.c   28 Sep 2009 23:20:24 -0000      1.182.6.1
+++ compile.c   6 Oct 2009 17:22:46 -0000       1.182.6.2
@@ -451,16 +451,14 @@
 
     /* Heuristic path-reversal rewrites to start evaluation
        with indexable expressions. */
-    if (status->output_format == PFoutput_format_milprint_summer) {
-        /* NOTE: algebra MIL/MAL generation could/should also use it.. */
-        tm = PFtimer_start ();
+    tm = PFtimer_start ();
+    if (status->output_format == PFoutput_format_mil ||
+        status->output_format == PFoutput_format_milprint_summer) {
         proot = PFheuristic_index (proot);
         tm = PFtimer_stop (tm);
         if (status->timing)
             PFlog ("path heuristics:\t\t\t %s", PFtimer_str (tm));
-
     }
-
     STOP_POINT(3);
 
     /* Initialize data structures in the Namespace department */
@@ -1022,8 +1020,9 @@
         module_base = PFparse_modules (proot, &PFquery,
                                        PFstate.standoff_axis_steps);
         proot = PFnormalize_abssyn (proot);
-        if (PFstate.output_format == PFoutput_format_milprint_summer) {
-            /* algebra MIL/MAL generation could/should also use it.. */
+
+        if (PFstate.output_format == PFoutput_format_mil ||
+            PFstate.output_format == PFoutput_format_milprint_summer) {
             proot = PFheuristic_index (proot);
         }
         PFns_init ();


------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to