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