Maybe a bit late for this time, but might help next time:
history of moved files is still in CVS at their original location, see

cvs -d<user>@monetdb.cvs.sourceforge.net:/cvsroot/monetdb rlog -N 
clients/src/java/src/nl/cwi/monetdb/jdbc/MonetConnection.java

Stefan

On Wed, Feb 20, 2008 at 07:50:26PM +0000, Fabian wrote:
> Update of /cvsroot/monetdb/java/src/nl/cwi/monetdb/jdbc
> In directory 
> sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv12362/src/nl/cwi/monetdb/jdbc
> 
> Modified Files:
>       MonetConnection.java 
> Log Message:
> Fix for bug #1886326:
> MonetDB JDBC driver exception for XQuery with no results
> 
> 2 and a half hour later ...
> Due to missing history (cvs moves) and missing documentation (on my 
> end) it took quite some while to figure out what was the "correct" way 
> to solve this bug.  In the end it al boiled down on the limitation of
> the XQuery backend to only support full-results-at-once, which means the
> resource allocation of JDBC needs to allocate the entire result at once.
> If the result is 0 rows big, however, then things went wrong when 
> calculating the current cache block.  Anyway, for the future we now know
> why we did this cache block calulation thing like this again...
> 
> 
> 
> Index: MonetConnection.java
> ===================================================================
> RCS file: /cvsroot/monetdb/java/src/nl/cwi/monetdb/jdbc/MonetConnection.java,v
> retrieving revision 1.2
> retrieving revision 1.3
> diff -u -d -r1.2 -r1.3
> --- MonetConnection.java      11 Jan 2008 10:36:16 -0000      1.2
> +++ MonetConnection.java      20 Feb 2008 19:50:24 -0000      1.3
> @@ -1164,7 +1164,17 @@
>                       isSet = new boolean[7];
>                       this.parent = parent;
>                       if (parent.cachesize == 0) {
> -                             cacheSize = lang == LANG_SQL ? 
> MonetConnection.DEF_FETCHSIZE : tuplecount;
> +                             /* Below we have to calculate how many "chunks" 
> we need
> +                              * to allocate to store the entire result.  
> However, if
> +                              * the user didn't set a cache size, as in this 
> case, we
> +                              * need to stick to our defaults.  So far, so 
> good.  Now
> +                              * the problem with XQuery is, that it doesn't 
> support
> +                              * any block fetching, so we need to always 
> fetch
> +                              * everything at once.  For that reason, the 
> cache size
> +                              * is here set to the tuplecount, such that we 
> do a full
> +                              * fetch at once.  To avoid a division by zero 
> lateron,
> +                              * we make sure the cache size is not 0 */
> +                             cacheSize = lang == LANG_SQL ? 
> MonetConnection.DEF_FETCHSIZE : (tuplecount + 1);
>                               cacheSizeSetExplicitly = false;
>                       } else {
>                               cacheSize = parent.cachesize;
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Monetdb-checkins mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/monetdb-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       |

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-developers

Reply via email to