Update of /cvsroot/monetdb/pathfinder/runtime
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv29175/runtime
Modified Files:
Tag: XQuery_0-16
pathfinder.mx
Log Message:
- fn:collection() and pf:collection() are not considered information
functions anymore (less locking)
- pf:collection() had forgotten to pin the opened collection
- fn:collections() and pf:documents() do not return names of cached documents,
only of explicitly shredded docuyments
- let updating functions be more lenient with target nodes
(embed exactly-one to do runtime checking)
Index: pathfinder.mx
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/pathfinder.mx,v
retrieving revision 1.288.2.8
retrieving revision 1.288.2.9
diff -u -d -r1.288.2.8 -r1.288.2.9
--- pathfinder.mx 8 Feb 2007 18:15:24 -0000 1.288.2.8
+++ pathfinder.mx 9 Feb 2007 15:21:39 -0000 1.288.2.9
@@ -2622,9 +2622,9 @@
# pf:collection(), get 'collection root' as a single startpoint to query an
entire collection
PROC ws_collection_root(BAT[void,BAT] ws, BAT[void,str] colnames) :
BAT[oid,oid]
{
- pflock_meta(ws_id(ws)); # stop all concurrent shred_doc/del_doc activities
lock_set(pf_short);
- var colname_coll, err := CATCH(colname_coll :=
reverse(colnames).mirror().leftjoin(reverse(collection_name)));
+ var colname_coll, err := CATCH({ colname_coll :=
reverse(colnames).mirror().leftjoin(reverse(collection_name));
+
colname_pins.insert(colname_coll.kunique().project(ws_id(ws))); });
lock_unset(pf_short);
var notfound := colname_coll.kdiff(reverse(colnames));
if (count(notfound) > 0) ERROR("pf:collection() %s not found (%d such
errors).\n", notfound.fetch(0), count(notfound));
@@ -2642,7 +2642,6 @@
var err, idx_coll, idx_doc, idx_colname, idx_names;
nms := nms.fetch(nms.tmark([EMAIL
PROTECTED]).[startsWith]("::").ord_uselect(false));
- pflock_meta(ws_id(ws)); # stop all concurrent shred_doc/del_doc activities
lock_set(pf_short);
err := CATCH({ var doc :=
nms.leftjoin(reverse(collection_name)).leftjoin(reverse(doc_collection)).tsort();
idx_names := doc.leftjoin(doc_name);
@@ -2661,7 +2660,7 @@
{
pflock_meta(ws_id(ws)); # stop all concurrent shred_doc/del_doc activities
lock_set(pf_short);
- var res, err := CATCH(res :=
reverse(reverse(collection_name).project([EMAIL PROTECTED])));
+ var res, err := CATCH(res :=
reverse(collection_name.[startsWith]("::").uselect(false).project([EMAIL
PROTECTED])).leftjoin(collection_name));
lock_unset(pf_short);
if (not(isnil(err))) ERROR(err);
return res;
@@ -2678,12 +2677,12 @@
return res;
}
-# fn:documents(), get all document *names* in a collection
+# fn:documents(), get all document *names*
PROC ws_documents(BAT[void,BAT] ws) : BAT[void,str]
{
pflock_meta(ws_id(ws)); # stop all concurrent shred_doc/del_doc activities
lock_set(pf_short);
- var res, err := CATCH(res := doc_name.tmark([EMAIL PROTECTED]));
+ var res, err := CATCH(res :=
reverse(doc_name.[startsWith]("::").uselect(false).project([EMAIL
PROTECTED])).leftjoin(doc_name));
lock_unset(pf_short);
if (not(isnil(err))) ERROR(err);
return res;
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins