Permalink
Browse files

fix: use SQLWarning(String reason) constructor for correct DriverMana… (

#751)

* fix: use SQLWarning(String reason) constructor for correct DriverManager logging

Previously, the default constructor was used which only logs "SQLWarning: ", but no information about the warning.
  • Loading branch information...
jamesthomp authored and davecramer committed Apr 4, 2017
1 parent a7e0c83 commit 74a426b929f47a3f585dd6e535300d2ffe77a9da
@@ -13,17 +13,10 @@
private ServerErrorMessage serverError;
public PSQLWarning(ServerErrorMessage err) {
super(err.toString(), err.getSQLState());
this.serverError = err;
}
public String toString() {
return serverError.toString();
}
public String getSQLState() {
return serverError.getSQLState();
}
public String getMessage() {
return serverError.getMessage();
}
@@ -0,0 +1,37 @@
/*
* Copyright (c) 2016, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
package org.postgresql.util;
import static org.junit.Assert.assertTrue;
import org.postgresql.test.TestUtil;
import org.junit.Test;
import java.io.ByteArrayOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class PSQLWarningTest {
@Test
public void testPSQLLogsToDriverManagerMessage() throws Exception {
Connection con = TestUtil.openDB();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DriverManager.setLogWriter(new PrintWriter(new OutputStreamWriter(baos, "ASCII")));
Statement stmt = con.createStatement();
stmt.execute("DO language plpgsql $$ BEGIN RAISE NOTICE 'test notice'; END $$;");
assertTrue(baos.toString().contains("NOTICE: test notice"));
stmt.close();
con.close();
}
}

1 comment on commit 74a426b

@davecramer

This comment has been minimized.

Member

davecramer commented on 74a426b Apr 4, 2017

So this is failing in travis allegedly with core dumps according to the message. I created another PR #799 just to test this but it doesn't fail. Anyone have any ideas ?

Please sign in to comment.