Changeset: 3f288787fd77 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/3f288787fd77
Modified Files:
src/main/java/org/monetdb/jdbc/MonetConnection.java
src/main/java/org/monetdb/mcl/net/MapiSocket.java
Branch: monetdbs
Log Message:
Merge 'default' into 'monetdbs'
diffs (145 lines):
diff --git a/src/main/java/org/monetdb/jdbc/MonetBlob.java
b/src/main/java/org/monetdb/jdbc/MonetBlob.java
--- a/src/main/java/org/monetdb/jdbc/MonetBlob.java
+++ b/src/main/java/org/monetdb/jdbc/MonetBlob.java
@@ -299,8 +299,8 @@ public final class MonetBlob implements
try {
offset--;
/* transactions? what are you talking about? */
- for (int i = (int)pos; i < len; i++)
- buf[i] = bytes[offset + i];
+ if (len - (int) pos >= 0)
+ System.arraycopy(bytes, offset + (int) pos, buf, (int) pos,
len - (int) pos);
} catch (IndexOutOfBoundsException e) {
throw new SQLException(e.getMessage(), "M0M10");
}
diff --git a/src/main/java/org/monetdb/jdbc/MonetConnection.java
b/src/main/java/org/monetdb/jdbc/MonetConnection.java
--- a/src/main/java/org/monetdb/jdbc/MonetConnection.java
+++ b/src/main/java/org/monetdb/jdbc/MonetConnection.java
@@ -24,12 +24,8 @@ import java.sql.SQLNonTransientConnectio
import java.sql.SQLWarning;
import java.sql.Savepoint;
import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
import java.util.Map.Entry;
-import java.util.Properties;
-import java.util.WeakHashMap;
import java.util.concurrent.Executor;
import org.monetdb.mcl.io.BufferedMCLReader;
@@ -2765,8 +2761,7 @@ public class MonetConnection
@Override
public void close() {
// feed all rows to the garbage collector
- for (int i = 0; i < data.length; i++)
- data[i] = null;
+ Arrays.fill(data, null);
}
/**
diff --git a/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
b/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
--- a/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
+++ b/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
@@ -1317,7 +1317,7 @@ public final class MonetDatabaseMetaData
*/
@Override
public int getMaxBinaryLiteralLength() {
- return 2*1024*1024*1024 - 2; // MonetDB supports null
terminated strings of max 2GB, see function: int UTF8_strlen()
+ return 0x7ffffffe; // MonetDB supports null terminated
strings of max 2GB, see function: int UTF8_strlen()
}
/**
@@ -1327,7 +1327,7 @@ public final class MonetDatabaseMetaData
*/
@Override
public int getMaxCharLiteralLength() {
- return 2*1024*1024*1024 - 2; // MonetDB supports null
terminated strings of max 2GB, see function: int UTF8_strlen()
+ return 0x7ffffffe; // MonetDB supports null terminated
strings of max 2GB, see function: int UTF8_strlen()
}
/**
@@ -1492,7 +1492,7 @@ public final class MonetDatabaseMetaData
*/
@Override
public int getMaxStatementLength() {
- return 2*1024*1024*1024 - 2; // MonetDB supports null
terminated strings of max 2GB, see function: int UTF8_strlen()
+ return 0x7ffffffe; // MonetDB supports null terminated
strings of max 2GB, see function: int UTF8_strlen()
}
/**
diff --git a/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
b/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
--- a/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
+++ b/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
@@ -944,7 +944,13 @@ public class MonetPreparedStatement
// simply serialise the Reader data into a large buffer
final CharBuffer buf = CharBuffer.allocate((int)length); //
have to down cast
try {
- reader.read(buf);
+ long foo = 0;
+ while (foo < length) {
+ int n = reader.read(buf);
+ if (n < 0)
+ throw new SQLException("Stream ended
unexpectedly at position " + foo + " out of " + length);
+ foo += n;
+ }
// We have to rewind the buffer, because otherwise
toString() returns "".
buf.rewind();
setString(parameterIndex, buf.toString());
diff --git a/src/main/java/org/monetdb/jdbc/MonetStatement.java
b/src/main/java/org/monetdb/jdbc/MonetStatement.java
--- a/src/main/java/org/monetdb/jdbc/MonetStatement.java
+++ b/src/main/java/org/monetdb/jdbc/MonetStatement.java
@@ -689,7 +689,7 @@ public class MonetStatement
*/
@Override
public int getMaxFieldSize() {
- return 2*1024*1024*1024 - 2; // MonetDB supports null
terminated strings of max 2GB, see function: int UTF8_strlen()
+ return 0x7ffffffe; // MonetDB supports null terminated
strings of max 2GB, see function: int UTF8_strlen()
}
/**
@@ -1571,9 +1571,7 @@ final class MonetVirtualResultSet extend
if (row < 1 || row > tupleCount)
return false;
- for (int i = 0; i < results[row - 1].length; i++) {
- tlp.values[i] = results[row - 1][i];
- }
+ System.arraycopy(results[row - 1], 0, tlp.values, 0, results[row -
1].length);
return true;
}
diff --git a/src/main/java/org/monetdb/mcl/net/MapiSocket.java
b/src/main/java/org/monetdb/mcl/net/MapiSocket.java
--- a/src/main/java/org/monetdb/mcl/net/MapiSocket.java
+++ b/src/main/java/org/monetdb/mcl/net/MapiSocket.java
@@ -1067,7 +1067,7 @@ public final class MapiSocket {
if (isDebug())
log("RX ", new String(block, readPos, 1,
StandardCharsets.UTF_8), true);
- return (int)block[readPos++];
+ return block[readPos++] & 0xFF;
}
@Override
@@ -1453,7 +1453,7 @@ public final class MapiSocket {
final byte[] buf = { 0 };
final int nread = read(buf, 0, 1);
if (nread == 1)
- return buf[0];
+ return buf[0] & 0xFF;
else
return -1;
}
diff --git a/src/main/java/org/monetdb/mcl/parser/TupleLineParser.java
b/src/main/java/org/monetdb/mcl/parser/TupleLineParser.java
--- a/src/main/java/org/monetdb/mcl/parser/TupleLineParser.java
+++ b/src/main/java/org/monetdb/mcl/parser/TupleLineParser.java
@@ -112,7 +112,7 @@ public final class TupleLineParser exten
if (fieldHasEscape) {
if (uesc ==
null) {
//
first time use, create it with enough capacity, minimum 1024
- uesc =
new StringBuilder(fieldlen > 1024 ? fieldlen : 1024);
+ uesc =
new StringBuilder(Math.max(fieldlen, 1024));
} else {
//
reuse the StringBuilder by cleaning it
uesc.setLength(0);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]