Changeset: 86eef32a65ab for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=86eef32a65ab
Modified Files:
        sql/backends/monet5/LSST/Tests/htmxmatch.sql
        sql/include/sql_relation.h
        sql/server/sql_parser.y
        sql/storage/store.c
Branch: sciql
Log Message:

merged with default


diffs (truncated from 7362 to 300 lines):

diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -1224,7 +1224,7 @@
 #endif
        printf(LLFMT " tuple%s%s%s%s", rows, rows != 1 ? "s" : "",
                        singleinstr ? " (" : "",
-                       singleinstr ? timerHuman() : "",
+                       singleinstr && formatter != TESTformatter ? 
timerHuman() : "",
                        singleinstr ? ")" : "");
 
        if (fields != printfields || croppedfields > 0)
@@ -1394,7 +1394,7 @@
                                                        (aff == 1 ? "" : "s"),
                                                        lid,
                                                        singleinstr ? " (" : "",
-                                                       singleinstr ? 
timerHuman() : "",
+                                                       singleinstr && 
formatter != TESTformatter ? timerHuman() : "",
                                                        singleinstr ? ")" : "");
                                } else {
                                        mnstr_printf(toConsole,
@@ -1402,7 +1402,7 @@
                                                        aff,
                                                        (aff == 1 ? "" : "s"),
                                                        singleinstr ? " (" : "",
-                                                       singleinstr ? 
timerHuman() : "",
+                                                       singleinstr && 
formatter != TESTformatter ? timerHuman() : "",
                                                        singleinstr ? ")" : "");
                                }
                        }
@@ -1414,7 +1414,7 @@
                                mnstr_printf(toConsole,
                                              "operation successful%s%s%s\n",
                                              singleinstr ? " (" : "",
-                                             singleinstr ? timerHuman() : "",
+                                             singleinstr && formatter != 
TESTformatter ? timerHuman() : "",
                                              singleinstr ? ")" : "");
                        continue;
                case Q_TRANS:
diff --git a/de-bootstrap b/de-bootstrap
--- a/de-bootstrap
+++ b/de-bootstrap
@@ -1,4 +1,4 @@
-# -*-shell-script-*-
+#!/usr/bin/env sh
 
 # The contents of this file are subject to the MonetDB Public License
 # Version 1.1 (the "License"); you may not use this file except in
diff --git a/gdk/gdk_bbp.mx b/gdk/gdk_bbp.mx
--- a/gdk/gdk_bbp.mx
+++ b/gdk/gdk_bbp.mx
@@ -2597,7 +2597,7 @@
                return;
        if (i < 0)
                i = -i;
-       assert(BBP_refs(i) > 0);
+       assert(BBP_lrefs(i) > 0);
        decref(i, TRUE, FALSE, lock);
 }
 
diff --git a/gdk/gdk_utils.mx b/gdk/gdk_utils.mx
--- a/gdk/gdk_utils.mx
+++ b/gdk/gdk_utils.mx
@@ -494,23 +494,8 @@
                GlobalMemoryStatus(&memStat);
                _MT_npages = memStat.dwTotalPhys / _MT_pagesize;
        }
-#elif defined(HAVE_SYS_SYSCTL_H) && (defined(HW_PHYSMEM64) || 
defined(HW_MEMSIZE) || defined(HW_PHYSMEM))
-# if SIZEOF_SIZE_T == SIZEOF_INT && defined(HW_PHYSMEM)
-       /* FreeBSD, NetBSD, OpenBSD, Darwin, 32-bits */
-       {
-               int size = 0;
-               size_t len = sizeof(size);
-               int mib[2];
-
-               /* Everyone should have permission to make this call, 
-                * if we get a failure something is really wrong. */
-               mib[0] = CTL_HW;
-               mib[1] = HW_PHYSMEM;
-               sysctl(mib, 2, &size, &len, NULL, 0);
-               _MT_npages = size / _MT_pagesize;
-       }
-# elif defined(HW_MEMSIZE)
-       /* FreeBSD, NetBSD, Darwin, 64-bits */
+#elif defined(HAVE_SYS_SYSCTL_H) && defined(HW_MEMSIZE) && SIZEOF_SIZE_T == 
SIZEOF_LNG
+       /* Darwin, 64-bits */
        {
                uint64_t size = 0;
                size_t len = sizeof(size);
@@ -523,7 +508,7 @@
                sysctl(mib, 2, &size, &len, NULL, 0);
                _MT_npages = size / _MT_pagesize;
        }
-# elif defined (HW_PHYSMEM64)
+#elif defined(HAVE_SYS_SYSCTL_H) && defined (HW_PHYSMEM64) && SIZEOF_SIZE_T == 
SIZEOF_LNG
        /* OpenBSD, 64-bits */
        {
                int64_t size = 0;
@@ -537,7 +522,24 @@
                sysctl(mib, 2, &size, &len, NULL, 0);
                _MT_npages = size / _MT_pagesize;
        }
+#elif defined(HAVE_SYS_SYSCTL_H) && defined(HW_PHYSMEM)
+       /* NetBSD, OpenBSD, Darwin, 32-bits; FreeBSD 32 & 64-bits */
+       {
+# ifdef __FreeBSD__
+               unsigned long size = 0;
+# else
+               int size = 0;
 # endif
+               size_t len = sizeof(size);
+               int mib[2];
+
+               /* Everyone should have permission to make this call, 
+                * if we get a failure something is really wrong. */
+               mib[0] = CTL_HW;
+               mib[1] = HW_PHYSMEM;
+               sysctl(mib, 2, &size, &len, NULL, 0);
+               _MT_npages = size / _MT_pagesize;
+       }
 #elif defined(HAVE_SYSCONF) && defined(_SC_PHYS_PAGES)
        _MT_npages = sysconf(_SC_PHYS_PAGES);
 #else
diff --git a/java/ChangeLog b/java/ChangeLog
--- a/java/ChangeLog
+++ b/java/ChangeLog
@@ -1,6 +1,9 @@
 # ChangeLog file for java
 # This file is updated with Maddlog
 
+* Wed May 25 2011 Fabian Groffen <[email protected]>
+- Added a naive implementation for PreparedStatement.setCharacterStream
+
 * Mon Apr 11 2011 Fabian Groffen <[email protected]>
 - The obsolete Java-based implementation for PreparedStatements (formerly
   activated using the java_prepared_statements property) has been dropped
diff --git a/java/Makefile.ag b/java/Makefile.ag
--- a/java/Makefile.ag
+++ b/java/Makefile.ag
@@ -27,7 +27,7 @@
 ant_distjdbc = {
        COND = HAVE_JAVAJDBC
        DIR = datadir/monetdb/lib
-       FILES = monetdb-1.6-mcl.jar monetdb-1.20-jdbc.jar jdbcclient.jar
+       FILES = monetdb-1.6-mcl.jar monetdb-1.21-jdbc.jar jdbcclient.jar
 }
 
 ant_distmerocontrol = {
diff --git a/java/build.properties b/java/build.properties
--- a/java/build.properties
+++ b/java/build.properties
@@ -19,7 +19,7 @@
 # major release number
 JDBC_MAJOR=1
 # minor release number
-JDBC_MINOR=20
+JDBC_MINOR=21
 # an additional identifying string
 JDBC_VER_SUFFIX=Magnistipula
 # the default port to connect on, if no port given when using SQL
diff --git a/java/release.txt b/java/release.txt
--- a/java/release.txt
+++ b/java/release.txt
@@ -1,8 +1,8 @@
 RELEASE NOTES
-MonetDB JDBC driver version 1.20 (Magnistipula/MCL-1.6)
+MonetDB JDBC driver version 1.21 (Magnistipula/MCL-1.6)
 Fabian Groffen <[email protected]>
 
-Release date: 2011-05-11
+Release date: 2011-05-25
 
 
 This JDBC driver is designed for use with MonetDB, a main-memory
@@ -53,9 +53,8 @@
     The next features are not implemented:
     - getMetaData
     - setArray
-    - setAsciiStream, setBinaryStream, setCharacterStream, setUnicodeStream
+    - setAsciiStream, setBinaryStream, setUnicodeStream
     - setBlob
-    - setBytes
     - setRef, setURI
   * java.sql.ResultSet interface
     The next features are not implemented:
diff --git a/java/src/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java 
b/java/src/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java
--- a/java/src/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java
+++ b/java/src/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java
@@ -23,6 +23,7 @@
 import java.util.*;
 import java.net.URL;
 import java.io.*;
+import java.nio.*;
 import java.math.*;    // BigDecimal, etc.
 import java.text.SimpleDateFormat;
 
@@ -628,7 +629,13 @@
                int length)
                throws SQLException
        {
-               throw new SQLException("Operation setCharacterStream(int 
parameterIndex, Reader reader, int length) currently not supported!");
+               CharBuffer tmp = CharBuffer.allocate(length);
+               try {
+                       reader.read(tmp);
+               } catch (IOException e) {
+                       throw new SQLException(e.getMessage());
+               }
+               setString(parameterIndex, tmp.toString());
        }
 
        /**
diff --git a/monetdb5/mal/mal_instruction.mx b/monetdb5/mal/mal_instruction.mx
--- a/monetdb5/mal/mal_instruction.mx
+++ b/monetdb5/mal/mal_instruction.mx
@@ -2407,7 +2407,7 @@
 
                for (i = 0; i < p->retc; i++) {
                        if (flg & LIST_MAL_STMT) {
-                               snprintf(t,(len-(t-base)),"%s", getArgName(mb, 
p, i));
+                               snprintf(t,(len-(t-base)),"%s%s", 
(getVarTmp(mb,getArg(p,i))?"X":""), getArgName(mb, p, i));
                                advance(t,base,len);
                                @:showVariableProperties@
                        }
@@ -2500,11 +2500,46 @@
 
                        if (stk && flg & LIST_MAL_VALUE){
                                if ( !isVarConstant(mb, getArg(p,i)) && flg & 
LIST_MAL_ARG)
-                                       snprintf(t,(len-(t-base)),"%s=", 
getArgName(mb, p, i));
+                                       snprintf(t,(len-(t-base)),"%s%s", 
(getVarTmp(mb,getArg(p,i))?"X":""), getArgName(mb, p, i));
                                advance(t,base,len);
-                               VALformat(&cv, &stk->stk[getArg(p, i)]);
-                       } else
-                               VALformat(&cv, &getVar(mb, getArg(p, 
i))->value);
+                               if( getTailType(getArgType(mb,p,i)) > TYPE_str )
+                               {       char *ct;
+                                       VALformat(&cv, &stk->stk[getArg(p, i)]);
+                                       ct= (char*) GDKmalloc(1024+strlen(cv));
+                                       if (isVarUDFtype(mb, getArg(p, i)) ) {
+                                               if ( strcmp(cv,"nil") == 0)
+                                                       snprintf(ct, 
1024+strlen(cv), "%s", cv);
+                                               else
+                                                       snprintf(ct, 
1024+strlen(cv), "\"%s\"", cv);
+                                       } else
+                                       if ( strcmp(cv,"nil") == 0)
+                                               snprintf(ct, 1024+strlen(cv), 
"%s:%s", cv, getTypeName(getTailType(getArgType(mb,p,i))));
+                                       else
+                                               snprintf(ct, 1024+strlen(cv), 
"\"%s\":%s", cv, getTypeName(getTailType(getArgType(mb,p,i))));
+                                       if( cv) GDKfree(cv);
+                                       cv= ct;
+                               } else
+                                       VALformat(&cv, &stk->stk[getArg(p, i)]);
+                       } else {
+                               if( getTailType(getArgType(mb,p,i)) > TYPE_str )
+                               { char *ct=cv;
+                                       VALformat(&cv, &getVar(mb, getArg(p, 
i))->value);
+                                       ct= (char*) GDKmalloc(1024+strlen(cv));
+                                       if (isVarUDFtype(mb, getArg(p, i)) ) {
+                                               if ( strcmp(cv,"nil") == 0)
+                                                       snprintf(ct, 
1024+strlen(cv), "%s", cv);
+                                               else
+                                                       snprintf(ct, 
1024+strlen(cv), "\"%s\"", cv);
+                                       } else
+                                       if ( strcmp(cv,"nil") == 0)
+                                               snprintf(ct, 1024+strlen(cv), 
"%s:%s", cv, getTypeName(getTailType(getArgType(mb,p,i))));
+                                       else
+                                               snprintf(ct, 1024+strlen(cv), 
"\"%s\":%s", cv, getTypeName(getTailType(getArgType(mb,p,i))));
+                                       if( cv) GDKfree(cv);
+                                       cv= ct;
+                               } else
+                                       VALformat(&cv, &getVar(mb, getArg(p, 
i))->value);
+                       }
                        if ( cv && strlen(cv) > len - (t - s)) {
                                char *ns = (char *) GDKmalloc(len = strlen(cv) 
+ len + 2);
 
@@ -2539,7 +2574,7 @@
                        }
                } else {
                        if( ! isVarTypedef(mb,getArg(p,i))  ){
-                               snprintf(t,(len-(t-base)),"%s", getArgName(mb, 
p, i));
+                               snprintf(t,(len-(t-base)),"%s%s", 
(getVarTmp(mb,getArg(p,i))?"X":""), getArgName(mb, p, i));
                                advance(t,base,len);
                                @:showVariableProperties@
                        } else {
diff --git a/monetdb5/mal/mal_interpreter.mx b/monetdb5/mal/mal_interpreter.mx
--- a/monetdb5/mal/mal_interpreter.mx
+++ b/monetdb5/mal/mal_interpreter.mx
@@ -52,14 +52,10 @@
 
 mal_export void showErrors(Client cntxt);
 mal_export MalStkPtr prepareMALstack(MalBlkPtr mb, int size);
-mal_export str runMAL(Client c, MalBlkPtr mb, int startpc,
-                       MalBlkPtr mbcaller, MalStkPtr env, InstrPtr pcicaller);
-mal_export str runMALdataflow( Client cntxt, MalBlkPtr mb, int startpc,
-               int stoppc, MalStkPtr stk, MalStkPtr env, InstrPtr pcicaller);
-mal_export str reenterMAL(Client cntxt, MalBlkPtr mb, int startpc,
-       int stoppc, MalStkPtr stk, MalStkPtr env, InstrPtr pcicaller);
-mal_export str callMAL(Client cntxt, MalBlkPtr mb, MalStkPtr *glb,
-       ValPtr argv[], char debug);
+mal_export str runMAL(Client c, MalBlkPtr mb, int startpc, MalBlkPtr mbcaller, 
MalStkPtr env, InstrPtr pcicaller);
+mal_export str runMALdataflow(Client cntxt, MalBlkPtr mb, int startpc, int 
stoppc, MalStkPtr stk, MalStkPtr env, InstrPtr pcicaller);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to