Changeset: 89c285fc0a49 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=89c285fc0a49
Modified Files:
        .hgtags
        ChangeLog
        ChangeLog-Archive
        Makefile
        build.properties
        build.xml
        pom.xml
        release.txt
        src/main/java/nl/cwi/monetdb/client/JdbcClient.java
        src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
        src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
        src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in
        src/main/java/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java
        src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
        src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java
        src/main/java/nl/cwi/monetdb/mcl/responses/ResultSetResponse.java
        src/main/java/nl/cwi/monetdb/merovingian/Control.java
        src/main/java/nl/cwi/monetdb/merovingian/MerovingianException.java
        src/main/java/nl/cwi/monetdb/merovingian/SabaothDB.java
        src/main/java/nl/cwi/monetdb/util/Extract.java
        src/main/java/nl/cwi/monetdb/util/SQLExporter.java
        src/main/java/nl/cwi/monetdb/util/SQLRestore.java
        tests/Test_Cmanycon.java
        tests/Test_PSmanycon.java
        tests/build.xml
Branch: embedded
Log Message:

Merged with default


diffs (truncated from 3875 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -1,3 +1,4 @@
 80de05f07508fec938845b4a6e05f600bf0b48c0 v2.24
 c43c293f3d5841517cbe0d858108c4da5fb1ec0c v2.26
 a6a2f4ee2d42d7e192f9d8d37f79ea99178d7f2c v2.25
+fe8170e2b549c22ceb2d96301022b9304f62424d v2.27
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,37 @@
 # ChangeLog file for monetdb-java
 # This file is updated with Maddlog
 
+* Mon Oct 23 2017 Sjoerd Mullender <sjo...@acm.org>
+- Compiled and released new jars: monetdb-jdbc-2.27.jar, monetdb-mcl-1.16.jar
+  and updated jdbcclient.jar
+
+* Thu Oct  5 2017 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
+- Corrected method Connection.prepareCall(). It used to return null.
+  Now it throws an SQLFeatureNotSupportedException to comply with the
+  JDBC specification.
+
+* Thu Sep 28 2017 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
+- Added possibility to let the JDBC driver return columnType value
+  Types.VARCHAR instead of Types.CLOB in case the result column of a
+  ResultSet or parameter in a PreparedStatement is of data type 'clob'.
+  To enable this behavior provide it as JDBC connection URL property:
+     treat_clob_as_varchar=true
+  For example: jdbc:monetdb://localhost:50000/demo?treat_clob_as_varchar=true
+  See also:
+  https://www.monetdb.org/Documentation/Manuals/SQLreference/Programming/JDBC
+  This custom clob mapping informs generic JDBC programs to fetch clob
+  column values via method ResultSet.getString() instead of getClob()
+  and Clob.getCharacterStream() and next fetching from the stream.
+  As MonetDB server MAPI communication protocol does not support
+  streaming of parts of a CLOB value, the current implementation is to
+  send over the whole CLOB value as a string. Therefore there is no
+  performance gain when fetching those Clob values via getClob() and
+  getCharacterStream(). In fact it creates a lot of overhead (additional
+  objects and method calls) and triples the amount of needed Java Heap memory
+  for each Clob value!
+  With this connection property set, you can reduce this overhead when
+  working with clob column data from generic JDBC programs.
+
 * Thu Sep  7 2017 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
 - Implemented PreparedStatement methods setNCharacterStream(int, Reader)
   and setNCharacterStream(int, Reader, long).
@@ -15,8 +46,8 @@
 - Implemented PreparedStatement method setURL(int, URL).
 - Implemented PreparedStatement method setNString(int, String).
 - The MonetDB JDBC driver code and jdbcclient program are now compiled
-  without debug info and with optimise flag enabled.  The new jar files are
-  now smaller in size.
+  without debug info and with optimise flag enabled.
+  The new jar files are now some 20% smaller in size.
 
 * Thu Aug 17 2017 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
 - Implemented ResultSet method getNCharacterStream().
@@ -24,16 +55,7 @@
   and getCharacterStream(long pos, long length).  Method
   getCharacterStream() is called by DBeaver to fetch the Clob value.
   It used to throw a SQLFeatureNotSupportedException with message:
-   "Method getCharacterStream() currently not supported". This caused
+   "Operation getCharacterStream() currently not supported". This caused
   DBeaver to log the exception and show NULL as the value on screen,
   which is incorrect.  This has been fixed.
 
-* Fri Jul 28 2017 Sjoerd Mullender <sjo...@acm.org>
-- Compiled and released new jars: monetdb-jdbc-2.26.jar and updated 
jdbcclient.jar
-
-* Thu Jul 13 2017 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
-- Corrected implementation of PreparedStatement method
-   setObject(int parameterIndex, Object x, int targetSqlType, int 
scaleOrLength)
-  for the case the targetSqlType is Types.CLOB.
-  See also: https://www.monetdb.org/bugzilla/show_bug.cgi?id=6349
-
diff --git a/ChangeLog-Archive b/ChangeLog-Archive
--- a/ChangeLog-Archive
+++ b/ChangeLog-Archive
@@ -1,6 +1,64 @@
 # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY
 # This file contains past monetdb-java ChangeLog entries
 
+* Mon Oct 23 2017 Sjoerd Mullender <sjo...@acm.org>
+- Compiled and released new jars: monetdb-jdbc-2.27.jar, monetdb-mcl-1.16.jar
+  and updated jdbcclient.jar
+
+* Thu Oct  5 2017 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
+- Corrected method Connection.prepareCall(). It used to return null.
+  Now it throws an SQLFeatureNotSupportedException to comply with the
+  JDBC specification.
+
+* Thu Sep 28 2017 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
+- Added possibility to let the JDBC driver return columnType value
+  Types.VARCHAR instead of Types.CLOB in case the result column of a
+  ResultSet or parameter in a PreparedStatement is of data type 'clob'.
+  To enable this behavior provide it as JDBC connection URL property:
+     treat_clob_as_varchar=true
+  For example: jdbc:monetdb://localhost:50000/demo?treat_clob_as_varchar=true
+  See also:
+  https://www.monetdb.org/Documentation/Manuals/SQLreference/Programming/JDBC
+  This custom clob mapping informs generic JDBC programs to fetch clob
+  column values via method ResultSet.getString() instead of getClob()
+  and Clob.getCharacterStream() and next fetching from the stream.
+  As MonetDB server MAPI communication protocol does not support
+  streaming of parts of a CLOB value, the current implementation is to
+  send over the whole CLOB value as a string. Therefore there is no
+  performance gain when fetching those Clob values via getClob() and
+  getCharacterStream(). In fact it creates a lot of overhead (additional
+  objects and method calls) and triples the amount of needed Java Heap memory
+  for each Clob value!
+  With this connection property set, you can reduce this overhead when
+  working with clob column data from generic JDBC programs.
+
+* Thu Sep  7 2017 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
+- Implemented PreparedStatement methods setNCharacterStream(int, Reader)
+  and setNCharacterStream(int, Reader, long).
+
+* Thu Aug 31 2017 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
+- Corrected PreparedStatement methods setString(int, String)
+  and setObject(int, Object, ...) in case the target parameter
+  data type was json or inet or url or uuid.  See also
+  https://www.monetdb.org/bugzilla/show_bug.cgi?id=6382
+
+* Thu Aug 24 2017 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
+- Implemented PreparedStatement method setURL(int, URL).
+- Implemented PreparedStatement method setNString(int, String).
+- The MonetDB JDBC driver code and jdbcclient program are now compiled
+  without debug info and with optimise flag enabled.
+  The new jar files are now some 20% smaller in size.
+
+* Thu Aug 17 2017 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
+- Implemented ResultSet method getNCharacterStream().
+- In class MonetClob implemented methods getCharacterStream()
+  and getCharacterStream(long pos, long length).  Method
+  getCharacterStream() is called by DBeaver to fetch the Clob value.
+  It used to throw a SQLFeatureNotSupportedException with message:
+   "Operation getCharacterStream() currently not supported". This caused
+  DBeaver to log the exception and show NULL as the value on screen,
+  which is incorrect.  This has been fixed.
+
 * Fri Jul 28 2017 Sjoerd Mullender <sjo...@acm.org>
 - Compiled and released new jars: monetdb-jdbc-2.26.jar and updated 
jdbcclient.jar
 
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,9 @@ all: src/main/java/nl/cwi/monetdb/jdbc/M
 src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java: build.properties 
src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in
        . ./build.properties; sed -e 
"s/@MCL_MAJOR@/$$MCL_MAJOR/g;s/@MCL_MINOR@/$$MCL_MINOR/g;s/@JDBC_MAJOR@/$$JDBC_MAJOR/g;s/@JDBC_MINOR@/$$JDBC_MINOR/g;s/@JDBC_VER_SUFFIX@/$$JDBC_VER_SUFFIX
 $$buildno/g;s/@JDBC_DEF_PORT@/$$JDBC_DEF_PORT/g" 
src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in > 
src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java
 
+doc:
+       ant -f build.xml doc
+
 clean:
        rm -f src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java
-       rm -rf build tests/build jars
+       rm -rf build tests/build jars doc
diff --git a/build.xml b/build.xml
--- a/build.xml
+++ b/build.xml
@@ -11,8 +11,7 @@ Copyright 1997 - July 2008 CWI, August 2
 <!--
 
   Build file to allow ant (http://jakarta.apache.org/ant/) to be used
-  to build the MonetDB Java libraries, such as the JDBC and XML:DB
-  drivers.
+  to build the MonetDB Java packages, such as the JDBC driver.
 
 -->
 
@@ -32,12 +31,16 @@ Copyright 1997 - July 2008 CWI, August 2
 
   <property file="build.properties" />
 
-  <property name="jdbc-jar" 
value="${jardir}/monetdb-jdbc-new-${JDBC_MAJOR}.${JDBC_MINOR}.jar" />
-  <property name="jdbcclient-jar" value="${jardir}/jdbcclient.jar" />
-  <property name="jmonetdb-jar" value="${jardir}/jmonetdb.jar" />
-  <property name="mcl-jar" 
value="${jardir}/monetdb-mcl-${MCL_MAJOR}.${MCL_MINOR}.jar" />
-
-  <property name="mero-control-jar" value="${jardir}/merocontrol.jar" />
+  <property name="jdbc-jar"
+    value="${jardir}/monetdb-jdbc-new-${JDBC_MAJOR}.${JDBC_MINOR}.jar" />
+  <property name="jdbcclient-jar"
+    value="${jardir}/jdbcclient.jar" />
+  <property name="jmonetdb-jar"
+    value="${jardir}/jmonetdb.jar" />
+  <property name="mcl-jar"
+    value="${jardir}/monetdb-mcl-${MCL_MAJOR}.${MCL_MINOR}.jar" />
+  <property name="mero-control-jar"
+    value="${jardir}/merocontrol.jar" />
 
   <!-- 
 
@@ -57,9 +60,7 @@ Copyright 1997 - July 2008 CWI, August 2
   <!-- full target -->
   <target name="all">
     <antcall target="distjdbc" />
-
     <antcall target="distmerocontrol" />
-
     <antcall target="doc" />
   </target>
 
@@ -113,11 +114,11 @@ Copyright 1997 - July 2008 CWI, August 2
     </jar>
   </target>
 
-  <!-- a convenience jar of JDBC plus the JdbcClient utililty -->
+  <!-- a convenience jar of jdbcclient command line program plus JDBC driver 
-->
   <target name="jar_jdbcclient"
     depends="compile_mcl,compile_jdbc,compile_util,compile_client"
     unless="uptodate.jdbcclient-jar">
-    <echo message="Building JDBC + JdbcClient convenience jar" />
+    <echo message="Building jdbcclient + JDBC driver convenience jar" />
     <jar jarfile="${jdbcclient-jar}">
       <fileset dir="${builddir}">
         <include name="${jdbc-package}/**/*.class" />
@@ -251,8 +252,8 @@ Copyright 1997 - July 2008 CWI, August 2
   </target>
 
   <!--
-  This generates MonetDriver.java.in from its ".java.in" equivalents.  It's
-  required for importing the driver version properties.
+  This generates MonetDriver.java from its ".java.in" equivalent.
+  It's required for importing the driver version properties.
   -->
   <target name="driver" depends="prepare" unless="uptodate.drivers">
     <tstamp>
@@ -349,7 +350,7 @@ Copyright 1997 - July 2008 CWI, August 2
 
   <!-- documentation target -->
   <target name="doc"
-    
depends="compile_mcl,compile_jdbc,compile_util,compile_client,compile_mero_control">
+    depends="driver">
     <javadoc
       destdir="${docdir}"
       author="true"
@@ -364,14 +365,6 @@ Copyright 1997 - July 2008 CWI, August 2
         <include name="${util-package}/**/*.java" />
         <include name="${mero-control-package}/**/*.java" />
       </fileset>
-
-      <fileset dir="${builddir}/src" defaultexcludes="yes">
-        <include name="${jdbc-package}/**/*.java" />
-        <include name="${mcl-package}/**/*.java" />
-        <include name="${client-package}/**/*.java" />
-        <include name="${util-package}/**/*.java" />
-        <include name="${mero-control-package}/**/*.java" />
-      </fileset>
     </javadoc>
   </target>
 
diff --git a/pom.xml b/pom.xml
--- a/pom.xml
+++ b/pom.xml
@@ -1,141 +1,141 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
        http://maven.apache.org/xsd/maven-4.0.0.xsd"; 
xmlns="http://maven.apache.org/POM/4.0.0";
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
-    <modelVersion>4.0.0</modelVersion>
+                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+       <modelVersion>4.0.0</modelVersion>
 
-    <groupId>monetdb</groupId>
-    <artifactId>monetdb-jdbc-new</artifactId>
-    <version>2.32</version>
-    <name>MonetDB JDBC new</name>
-    <description>MonetDB Adapted JDBC driver for embedded 
connection</description>
-    <url>https://www.monetdb.org</url>
+       <groupId>monetdb</groupId>
+       <artifactId>monetdb-jdbc-new</artifactId>
+       <version>2.32</version>
+       <name>MonetDB JDBC new</name>
+       <description>MonetDB Adapted JDBC driver for embedded 
connection</description>
+       <url>https://www.monetdb.org</url>
 
-    <licenses>
-        <license>
-            <name>Mozilla Public License, Version 2.0</name>
-            <url>https://www.mozilla.org/MPL/2.0/</url>
-        </license>
-    </licenses>
+       <licenses>
+               <license>
+                       <name>Mozilla Public License, Version 2.0</name>
+                       <url>https://www.mozilla.org/MPL/2.0/</url>
+               </license>
+       </licenses>
 
-    <developers>
-        <developer>
-            <name>Pedro Ferreira</name>
-            <email>pedro.ferre...@monetdbsolutions.com</email>
-            <organization>MonetDB</organization>
-            <organizationUrl>https://www.monetdb.org</organizationUrl>
-        </developer>
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to