Update of /cvsroot/monetdb/pathfinder/runtime
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv19909/runtime
Modified Files:
Tag: M5XQ
pathfinder.mx
Log Message:
propagated changes of Friday Oct 16 2009
from the development trunk to the M5XQ branch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/10/16 - sjoerd: runtime/pathfinder.mx,1.469
propagated changes of Friday Oct 16 2009
from the Nov2009 branch to the development trunk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/10/16 - sjoerd: runtime/pathfinder.mx,1.462.4.6
propagated changes of Friday Oct 16 2009
from the Aug2009_NFI branch to the Nov2009 branch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/10/16 - tsheyar: runtime/pathfinder.mx,1.462.6.11
-- Partial undo of Peters checkin: optimizations for NFI XIRAF use case
(Sep, 29)
The session information is not detected by the mclient pre-parser
anymore.
(For more information on the replacement continue reading...)
-- Added detection of session information in the pathfinder compiler.
The new version now looks for the global options 'pf:session-id',
'pf:session-timeout', and 'pf:session-mode'. In addition pathfinder
internally transforms the 'old' solution (session pragmas) into global
options.
Example: The following queries are now equivalent -- they both use
session
'foo' in a read-only scenario and keep it alive for another 42
milliseconds:
declare option pf:session-id "foo";
declare option pf:session-timeout "42";
declare option pf:session-mode "use-cache-repeatable";
1
(# pf:session-use foo:42 #) { 1 }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
U pathfinder.mx
Index: pathfinder.mx
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/pathfinder.mx,v
retrieving revision 1.458.2.10
retrieving revision 1.458.2.11
diff -u -d -r1.458.2.10 -r1.458.2.11
--- pathfinder.mx 12 Oct 2009 08:11:31 -0000 1.458.2.10
+++ pathfinder.mx 16 Oct 2009 08:52:04 -0000 1.458.2.11
@@ -4763,9 +4763,8 @@
PFerrbuf = ctx->errbuf;
PFerrbuf[0] = 0;
err = PFcompile_MonetDB(xquery, url, prologue, &del, epilogue,
options,
- *(ctx->genType), *(ctx->xrpc_qid),
*(ctx->xrpc_mode), *(ctx->xrpc_timeout)
- /* Using the content of
the MIL variables genType and
- xrpc_* defined in the
prologue is yet another hack
+ *(ctx->genType) /* Using the content of
the MIL variable genType
+ defined in the prologue
is yet another hack
to make the
serialization information visible
to the algebra backend
that does not use prologue
and epilogue
structures. */);
@@ -5959,7 +5958,7 @@
int nsbuf = 0, loaded_modules = 0, len;
char *ns = (char*)&nsbuf, *nsend = ns, *locend, *loc = NULL, *q, *p =
query;
char val[1024], url1[1024], url2[1024];
- char *err = NULL, *mode = NULL, *sid = NULL;
+ char *err = NULL;
if (ctx->mode&XQ_DEBUG) {
/* for debugging purposes, we simulate a full MIL on the log; even if
parts are cached */
@@ -5988,7 +5987,7 @@
}
}
}
-
+
/* parse one ore more import module statements */
while(*p && err == NULL) {
p = xquery_parse_space(p);
@@ -6048,41 +6047,6 @@
}
}
- /* detect pf:session pragma enclosing the entire query */
- if (p[0] == '(' && p[1] == '#') {
- str off, lim;
- p = xquery_parse_space(p+2);
- if (strncmp(p, "pf:session", 10) == 0) {
- p += 10;
- mode = "use-cache-repeatable";
- if (strncmp(p, "-use", 4) == 0) {
- p += 4;
- } else {
- mode += 4;
- }
- off = xquery_parse_space(p);
- p = lim = xquery_parse_ident(off);
- if (*lim == ':') {
- *(ctx->xrpc_timeout) = strtol(lim+1,&p,10);
- }
- p = xquery_parse_space(p);
- if (p[0] == '#' && p[1] == ')') {
- p = xquery_parse_space(p+2);
- if (p[0] == '{') {
- str q, end = NULL;
- for(q=p=xquery_parse_space(p+1); *q; q++) if (*q == '}')
end = q;
- if (end) {
- /* cut off the enclosing pragma, record the session id
*/
- sid = off; query = p;
- *lim = *end = 0;
- }
- }
- }
- }
- }
- @:setvar(xrpc_qid, sid?sid:"")@
- @:setvar(xrpc_mode, (sid && mode)?mode:"none")@
-
if (loaded_modules == 0) {
err = xquery_too_complex; /* must at least load one module to be able
to just execute a function */
} else if (err == NULL) {
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) 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/devconference
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins