Update of /cvsroot/monetdb/pathfinder/compiler/mil
In directory sc8-pr-cvs16:/tmp/cvs-serv17024/compiler/mil

Modified Files:
        milprint_summer.c 
Log Message:
- add first pftijah information function:
  tijah:ft-index-info ( [string*] ) as element()*
  We are still discussing how to present the ft-index/collection dependencies.

- untangle ft-index/global tag/term dictionary structure in preparation of the
  private tag/term dictionaries which we are planning to make.



Index: milprint_summer.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/mil/milprint_summer.c,v
retrieving revision 1.365
retrieving revision 1.366
diff -u -d -r1.365 -r1.366
--- milprint_summer.c   18 Apr 2007 09:42:28 -0000      1.365
+++ milprint_summer.c   27 Apr 2007 13:36:08 -0000      1.366
@@ -8065,7 +8065,30 @@
         return NORMAL;
     }
 #ifdef HAVE_PFTIJAH
-    else if (
+    else if (PFqname_eq(fnQname,PFqname (PFns_tijah,"ft-index-info")) == 0 ) {
+        char *consistent = rc?"false":"true";
+        if (fun->arity) {
+            rc = translate2MIL (f, VALUES, cur_level, counter, L(args));
+            item_ext = kind_str(rc);
+            milprintf(f, 
+                "{ # translate tijah:ft-index-info (string) as element*\n"
+                "  var ret := ws_ft_index_info(ws, 
iter.materialize(ipik).reverse().leftfetchjoin(item%s),%s);\n"
+                "  item := ret.tmark([EMAIL PROTECTED]);\n"
+                "  iter := ret.hmark([EMAIL PROTECTED]);\n", 
(rc)?item_ext:val_join(STR), consistent);
+        } else {
+            milprintf(f, 
+                "{ # translate tijah:ft-index-info () as element*\n"
+                "  var ret := 
reverse(loop%03u).cross(ws_ft_index_info(ws,%s));\n"
+                "  iter := ret.hmark([EMAIL PROTECTED]);\n"
+                "  item := ret.tmark([EMAIL PROTECTED]);\n", cur_level, 
consistent);
+        }
+        milprintf(f,
+                "  ipik := item;\n"
+                "  kind := set_kind(WS,ELEM);\n"
+                "  pos  := tmark_grp_unique(iter,ipik);\n" 
+                "} # end of translate tijah:ft-index-info (string?) as 
element*\n");
+        return NORMAL;
+    } else if (
           ( !PFqname_eq(fnQname, PFqname (PFns_tijah,"create-ft-index"))) ||
           ( !PFqname_eq(fnQname, PFqname (PFns_tijah,"extend-ft-index"))) ||
           ( !PFqname_eq(fnQname, PFqname (PFns_tijah,"delete-ft-index")))
@@ -8320,12 +8343,12 @@
                , (ctx_counter?"true":"false"),item_ext, str_counter);
            /* translate tijah_pre to pf-pre */
            milprintf(f,
-                "    var docpre := bat(\"tj_\" + collName + 
\"_doc_firstpre\").[oid]();\n"
-                "    var pfpre :=  bat(\"tj_\" + collName + \"_pfpre\");\n"
+                "    var docpre := bat(\"tj_\" + GLOBAL_COLLNAME + 
\"_doc_firstpre\").[oid]();\n"
+                "    var pfpre :=  bat(\"tj_\" + GLOBAL_COLLNAME + 
\"_pfpre\");\n"
                 "    item  := nexi_score.hmark([EMAIL PROTECTED]);\n"
                 "    var frag := [find_lower](const 
docpre.reverse().mark([EMAIL PROTECTED]), item);\n"
                 "    item := item.join(pfpre).sort().tmark();\n"
-                "    var needed_docs := bat(\"tj_\" + collName + 
\"_doc_name\").semijoin(frag.tunique());\n"
+                "    var needed_docs := bat(\"tj_\" + GLOBAL_COLLNAME + 
\"_doc_name\").semijoin(frag.tunique());\n"
                "    lock_unset(tijah_lock); tijah_lock := lock_nil;\n"
                 "    var loaded_docs := ws.fetch(OPEN_NAME).reverse();\n"
                 "    var docs_to_load := 
kdiff(needed_docs.reverse(),loaded_docs).hmark([EMAIL PROTECTED]);\n"
@@ -8590,12 +8613,18 @@
  * @param c the Core node containing the rest of the subtree
  * @result the kind indicating, which result interface is chosen
  */
+
+static int logcnt = 0;
+
 static int
 translate2MIL (opt_t *f, int code, int cur_level, int counter, PFcnode_t *c)
 {
     char *descending;
     int rc=NORMAL, rcode;
 
+    int logid = logcnt++;
+
+    milprintf(f,"tj_log(\"+ mps(start-%d)\\n\",0);\n",logid);
     assert(c);
     switch (c->kind)
     {
@@ -9106,6 +9135,7 @@
                     c->kind);
             break;
     }
+    milprintf(f,"tj_log(\"+ mps(finish-%d)\\n\",0);\n",logid);
     return rc;
 }
 


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to