Re: Binary transfer not working - Mailing list pgsql-jdbc

From Dave Cramer
Subject Re: Binary transfer not working
Date
Msg-id CADK3HH+5H0odQm6fsN7PAeTF4Kz4O+BM76G90K6vCQLe8oOzMA@mail.gmail.com
Whole thread Raw
In response to Binary transfer not working  (Alex Ignatov <alexign@gmail.com>)
List pgsql-jdbc
Can you show me the definition of the table please ?

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca

On 6 April 2015 at 10:38, Alex Ignatov <alexign@gmail.com> wrote:
Hello!
Im testing jdbc binary transfer mode but i can't make it works as it should.
Network packet dump always shows me that for example "dtrntran" TIMESTAMP column is transfering in text and not in binary representation as it should.
Debug log shows me that binary mode is on, but regardless org.postgresql.forceBinary=false/true it is always text.
What am i doing wrong?
jdbc version -  postgresql-9.4-1201.jdbc4.jar
postgresql version - 9.4.1
This is my test code. javac vm arguments is  -Dorg.postgresql.forceBinary=true

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import java.sql.Statement;
import java.sql.Timestamp;

public class TestMe {
    private static java.sql.Timestamp getCurrentTimeStamp() {

        java.util.Date today = new java.util.Date();
        return new java.sql.Timestamp(today.getTime());

    }

    public static void main(String[] args) throws SQLException {

        String url = "jdbc:postgresql://thunder:5432/test";
        Connection conn = null;
        org.postgresql.Driver.setLogLevel(org.postgresql.Driver.DEBUG);

        Properties connectionProps = new Properties();
        connectionProps.put("user", "***");
        connectionProps.put("password", "***");
        connectionProps.put("loglevel", "2");
        conn = DriverManager.getConnection(url, connectionProps);
        select(conn);
    }

    private static void select(Connection conn) {
        try {
            PreparedStatement fs = conn.prepareStatement("SELECT dtrntran FROM trn order by itrnnum limit 1");
            ResultSet rs = fs.executeQuery();
            for (int i = 0; i < 1; i++) {
                rs.next();
            }
            rs.close();
            System.out.println("org.postgresql.forceBinary= "
                    + Boolean.getBoolean("org.postgresql.forceBinary"));
        } catch (SQLException e) {
        }

    }
}



pgsql-jdbc by date:

Previous
From: Alex Ignatov
Date:
Subject: Binary transfer not working
Next
From: Dave Cramer
Date:
Subject: Re: ?currentSchema work?