diff --git a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java index 3f41803a44..7ed6fc3e55 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/PGStream.java +++ b/pgjdbc/src/main/java/org/postgresql/core/PGStream.java @@ -423,8 +423,7 @@ public String receiveString() throws IOException { * @throws IOException if a data I/O error occurs */ public byte[][] receiveTupleV3() throws IOException, OutOfMemoryError { - // TODO: use msgSize - int msgSize = receiveInteger4(); + receiveInteger4(); // MESSAGE SIZE int nf = receiveInteger2(); byte[][] answer = new byte[nf][]; diff --git a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java index 8bfd65eeb5..f43bb78b56 100644 --- a/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java +++ b/pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java @@ -2413,7 +2413,7 @@ public void handleCommandStatus(String status, int updateCount, long insertOID) * Receive the field descriptions from the back end. */ private Field[] receiveFields() throws IOException { - int msgSize = pgStream.receiveInteger4(); + pgStream.receiveInteger4(); // MESSAGE SIZE int size = pgStream.receiveInteger2(); Field[] fields = new Field[size]; @@ -2440,7 +2440,7 @@ private Field[] receiveFields() throws IOException { } private void receiveAsyncNotify() throws IOException { - int msglen = pgStream.receiveInteger4(); + pgStream.receiveInteger4(); // MESSAGE SIZE int pid = pgStream.receiveInteger4(); String msg = pgStream.receiveString(); String param = pgStream.receiveString(); @@ -2611,7 +2611,7 @@ public void readStartupMessages() throws IOException, SQLException { public void receiveParameterStatus() throws IOException, SQLException { // ParameterStatus - int len = pgStream.receiveInteger4(); + pgStream.receiveInteger4(); // MESSAGE SIZE String name = pgStream.receiveString(); String value = pgStream.receiveString(); diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java index 449aef03ba..65205f47e5 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/EscapedFunctions2.java @@ -60,8 +60,9 @@ public static Method getFunction(String functionName) { if (method != null) { return method; } + //FIXME: this probably should not use the US locale String nameLower = functionName.toLowerCase(Locale.US); - if (nameLower == functionName) { + if (nameLower.equals(functionName)) { // Input name was in lower case, the function is not there return null; } diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java index d7668a0349..190d96ad42 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgArray.java @@ -906,7 +906,8 @@ public String toString() { final PrimitiveArraySupport arraySupport = PrimitiveArraySupport.getArraySupport(array); if (arraySupport != null) { - fieldString = arraySupport.toArrayString(connection.getTypeInfo().getArrayDelimiter(oid), array); + fieldString = + arraySupport.toArrayString(connection.getTypeInfo().getArrayDelimiter(oid), array); } else { java.sql.Array tmpArray = connection.createArrayOf(getBaseTypeName(), (Object[]) array); fieldString = tmpArray.toString(); @@ -914,6 +915,9 @@ public String toString() { } catch (SQLException e) { fieldString = "NULL"; // punt } + } else { + // avoid returning null + fieldString = "NULL"; } return fieldString; } diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java index 30e9f2a06a..dc5240fde3 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/TimestampUtils.java @@ -511,7 +511,7 @@ public synchronized Time toTime(Calendar cal, String s) throws SQLException { } // 2) Truncate date part so in given time zone the date would be formatted as 01/01/1970 - return convertToTime(timeMillis, useCal == null ? null : useCal.getTimeZone()); + return convertToTime(timeMillis, useCal.getTimeZone()); } public synchronized Date toDate(Calendar cal, String s) throws SQLException { @@ -1362,7 +1362,7 @@ private static long toPgSecs(long secs) { int years = (int) ((secs + 15773356800L) / -3155823050L); years++; years -= years / 4; - secs += years * 86400; + secs += years * 86400L; } } diff --git a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObjectManager.java b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObjectManager.java index 95b94714e5..bb7b156ce3 100644 --- a/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObjectManager.java +++ b/pgjdbc/src/main/java/org/postgresql/largeobject/LargeObjectManager.java @@ -132,11 +132,6 @@ public LargeObjectManager(BaseConnection conn) throws SQLException { Statement stmt = conn.createStatement(); ResultSet res = stmt.executeQuery(sql); - if (res == null) { // NOSONAR - throw new PSQLException(GT.tr("Failed to initialize LargeObject API"), - PSQLState.SYSTEM_ERROR); - } - fp.addFunctions(res); res.close(); stmt.close(); diff --git a/pgjdbc/src/main/java/org/postgresql/ssl/SingleCertValidatingFactory.java b/pgjdbc/src/main/java/org/postgresql/ssl/SingleCertValidatingFactory.java index ff45925c2d..633aa6802a 100644 --- a/pgjdbc/src/main/java/org/postgresql/ssl/SingleCertValidatingFactory.java +++ b/pgjdbc/src/main/java/org/postgresql/ssl/SingleCertValidatingFactory.java @@ -142,7 +142,7 @@ public SingleCertValidatingFactory(String sslFactoryArg) throws GeneralSecurityE } } - public class SingleCertTrustManager implements X509TrustManager { + public static class SingleCertTrustManager implements X509TrustManager { X509Certificate cert; X509TrustManager trustManager;