Changeset: 5ddfc0aa7f0e for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=5ddfc0aa7f0e
Modified Files:
        ChangeLog
        src/main/java/org/monetdb/mcl/parser/StartOfHeaderParser.java
Branch: default
Log Message:

Implemented fix for released monetdb-jdbc-3.0.jre8.jar and 
monetdb-mcl-1.19.jre8.jar when it is was run using java build 1.8.0_###.
It would throw:  java.lang.NoSuchMethodError: 
java.nio.CharBuffer.mark()Ljava/nio/CharBuffer;i
 at org.monetdb.mcl.parser.StartOfHeaderParser.getNextAsString(Unknown Source)
 at org.monetdb.jdbc.MonetConnection$ResponseList.executeQuery(Unknown Source)
 at org.monetdb.jdbc.MonetConnection$ResponseList.processQuery(Unknown Source)
 at org.monetdb.jdbc.MonetStatement.internalExecute(Unknown Source)
 at org.monetdb.jdbc.MonetStatement.execute(Unknown Source)
The problem is caused by a change in java.nio.CharBuffer API (return types of 
methods mark() and reset() have changed from Buffer to CharBuffer) from Java 8 
to Java 9+.


diffs (51 lines):

diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,22 @@
 # ChangeLog file for monetdb-java
 # This file is updated with Maddlog
 
+* Wed Mar  3 2021 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
+- Implemented fix for released monetdb-jdbc-3.0.jre8.jar and
+  monetdb-mcl-1.19.jre8.jar when it is was run using java build
+  1.8.0_###.  It would throw:  java.lang.NoSuchMethodError:
+  java.nio.CharBuffer.mark()Ljava/nio/CharBuffer; at
+  org.monetdb.mcl.parser.StartOfHeaderParser.getNextAsString(Unknown
+  Source) at
+  org.monetdb.jdbc.MonetConnection$ResponseList.executeQuery(Unknown
+  Source) at
+  org.monetdb.jdbc.MonetConnection$ResponseList.processQuery(Unknown
+  Source) at org.monetdb.jdbc.MonetStatement.internalExecute(Unknown
+  Source) at org.monetdb.jdbc.MonetStatement.execute(Unknown Source)
+  The problem is caused by a change in java.nio.CharBuffer API (return
+  types of methods mark() and reset() have changed from Buffer to
+  CharBuffer) from Java 8 to Java 9+.
+
 * Wed Feb 17 2021 Martin van Dinther <martin.van.dint...@monetdbsolutions.com>
 - Compiled and released new jar files: monetdb-jdbc-3.0.jre8.jar,
   monetdb-mcl-1.19.jre8.jar and jdbcclient.jre8.jar
diff --git a/src/main/java/org/monetdb/mcl/parser/StartOfHeaderParser.java 
b/src/main/java/org/monetdb/mcl/parser/StartOfHeaderParser.java
--- a/src/main/java/org/monetdb/mcl/parser/StartOfHeaderParser.java
+++ b/src/main/java/org/monetdb/mcl/parser/StartOfHeaderParser.java
@@ -8,6 +8,7 @@
 
 package org.monetdb.mcl.parser;
 
+import java.nio.Buffer;        // needed as some CharBuffer overridden methods 
(mark() and reset()) return type changed between Java 8 (return Buffer) and 9 
(or higher) (return CharBuffer)
 import java.nio.CharBuffer;
 
 /**
@@ -147,11 +148,11 @@ public final class StartOfHeaderParser {
                        throw new MCLParseException("unexpected end of string", 
soh.position() - 1);
 
                int cnt = 0;
-               soh.mark();
+               ((Buffer)soh).mark();
                while (soh.hasRemaining() && soh.get() != ' ') {
                        cnt++;
                }
-               soh.reset();
+               ((Buffer)soh).reset();
 
                return soh.subSequence(0, cnt).toString();
        }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to