On Tue, Jun 17, 2008 at 05:07:29PM +0000, Peter Boncz wrote:
> Update of /cvsroot/monetdb/pathfinder/runtime
> In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv2937
> 
> Modified Files:
>       pathfinder.mx pf_support.mx 
> Log Message:
> - BUG 1995879: only use algebra for normal queries
> 
>   cachable queries and the XRPC server still use mps

Peter,

just for clarification and the records:
am I right that this means that now all XQuery modules are compiled with
MPS, but when a (non-XRPC?) query uses an XQuery module, this XQuery itself
is compiled with ALG? Or are such queries compiled with MPS, too?

Thanks in advance!

Stefan

> 
> 
> 
> U pathfinder.mx
> Index: pathfinder.mx
> ===================================================================
> RCS file: /cvsroot/monetdb/pathfinder/runtime/pathfinder.mx,v
> retrieving revision 1.421
> retrieving revision 1.422
> diff -u -d -r1.421 -r1.422
> --- pathfinder.mx     16 Jun 2008 23:38:41 -0000      1.421
> +++ pathfinder.mx     17 Jun 2008 17:07:26 -0000      1.422
> @@ -4246,7 +4246,7 @@
>   * - execute MIL buffer (parse & execute)
>   *
>   * int
> - * xquery_compile_exec(xquery_client *ctx, char* xquery, int is_url, 
> + * xquery_compile_exec(xquery_client *ctx, int options, char* xquery, int 
> is_url, 
>   *                     char** prologue, char** query, char** epilogue, char* 
> nsurl) 
>   * - translate xquery to MIL and execute
>   *
> @@ -4345,6 +4345,7 @@
>  extern char* PFmaxstack;
>  static int
>  xquery_compile_exec(xquery_client *ctx, 
> +                    int options,
>                      char* url, 
>                      int is_url, 
>                      char** prologue, 
> @@ -4356,22 +4357,9 @@
>      char *xquery = url;
>      char *err = NULL;
>  
> -    int options = 0;
>      /* Setting the StandOff flag based on runtime settings */
>      if ((GDKgetenv("standoff") != NULL) && 
> (strcmp(GDKgetenv("standoff"),"enabled") == 0))
>          options |= COMPILE_OPTION_STANDOFF;
> -    /* Setting the Algebra flag; server setting overules compile-time 
> default; client choice overrules server setting */
> -#if MILPRINT_SUMMER_IS_DEFAULT
> -    if (((ctx->mode & XQ_ALGEBRA) != 0) || \
> -        (((ctx->mode & XQ_MILPRINT_SUMMER) == 0) && \
> -         (GDKgetenv("xquery_backend") != NULL) && 
> (strcmp(GDKgetenv("xquery_backend"),"algebra") == 0)))
> -        options |= COMPILE_OPTION_ALGEBRA;
> -#else /* ALGEBRA_IS_DEFAULT */
> -    if (((ctx->mode & XQ_MILPRINT_SUMMER) == 0) && \
> -        (((ctx->mode & XQ_ALGEBRA) != 0) || \
> -         (GDKgetenv("xquery_backend") == NULL) || 
> (strcmp(GDKgetenv("xquery_backend"),"milprint_summer") != 0)))
> -        options |= COMPILE_OPTION_ALGEBRA;
> -#endif
>  
>      MT_set_lock(pf_compiler_lock, "xquery_compile_exec");
>      if (is_url) {
> @@ -4910,7 +4898,7 @@
>      strcpy(mod->url, url);
>      mod->nsurl = mod->url + url_len;
>  
> -    ret = xquery_compile_exec(ctx, url, 1, &mod->prologue, NULL, 
> &mod->epilogue, mod->nsurl);
> +    ret = xquery_compile_exec(ctx, 0, url, 1, &mod->prologue, NULL, 
> &mod->epilogue, mod->nsurl);
>      if (!ret) {
>          xquery_module_free(mod);
>          return NULL;
> @@ -5745,9 +5733,22 @@
>          char *sec1 = NULL;
>          char *sec2 = NULL;
>          char *sec3 = NULL;
> +        int options = 0;
>          /* compile and execute the query (minus module imports) */
>          err = xquery_nondescriptive_error;
> -        if (xquery_compile_exec(ctx, query, 0, &sec1, &sec2, &sec3, NULL)) 
> +    /* Setting the Algebra flag; server setting overules compile-time 
> default; client choice overrules server setting */
> +#if MILPRINT_SUMMER_IS_DEFAULT
> +         if (((ctx->mode & XQ_ALGEBRA) != 0) || \
> +            (((ctx->mode & XQ_MILPRINT_SUMMER) == 0) && \
> +              (GDKgetenv("xquery_backend") != NULL) && 
> (strcmp(GDKgetenv("xquery_backend"),"algebra") == 0)))
> +            options = COMPILE_OPTION_ALGEBRA;
> +#else /* ALGEBRA_IS_DEFAULT */
> +        if (((ctx->mode & XQ_MILPRINT_SUMMER) == 0) && \
> +            (((ctx->mode & XQ_ALGEBRA) != 0) || \
> +             (GDKgetenv("xquery_backend") == NULL) || 
> (strcmp(GDKgetenv("xquery_backend"),"milprint_summer") != 0)))
> +            options = COMPILE_OPTION_ALGEBRA;
> +#endif
> +        if (xquery_compile_exec(ctx, options, query, 0, &sec1, &sec2, &sec3, 
> NULL)) 
>                  err = NULL;
>          if (sec1) free(sec1);
>          if (sec2) free(sec2);
> 
> U pf_support.mx
> Index: pf_support.mx
> ===================================================================
> RCS file: /cvsroot/monetdb/pathfinder/runtime/pf_support.mx,v
> retrieving revision 1.301
> retrieving revision 1.302
> diff -u -d -r1.301 -r1.302
> --- pf_support.mx     10 Jun 2008 09:22:17 -0000      1.301
> +++ pf_support.mx     17 Jun 2008 17:07:27 -0000      1.302
> @@ -8373,7 +8373,7 @@
>          BUNins(*res, &docpre, &docid[j], FALSE);
>  
>          /* skip all nodes of this document */
> -        docpre = docpre + size[docpre];
> +        docpre = docpre + size[docpre] + 1;
>          for (delta = (n-i) >> 4; delta > 40; delta >>= 4)
>              while (i+delta < n && * (oid *) BUNtail(inputi, i+delta) <= 
> docpre)
>                  i += delta;
> 
> 
> -------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://sourceforge.net/services/buy/index.php
> _______________________________________________
> Monetdb-pf-checkins mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

-- 
| Dr. Stefan Manegold | mailto:[EMAIL PROTECTED] |
| CWI,  P.O.Box 94079 | http://www.cwi.nl/~manegold/  |
| 1090 GB Amsterdam   | Tel.: +31 (20) 592-4212       |
| The Netherlands     | Fax : +31 (20) 592-4312       |

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Monetdb-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-developers

Reply via email to