Binary transfer not working
От | Alex Ignatov |
---|---|
Тема | Binary transfer not working |
Дата | |
Msg-id | 55229A58.3080201@gmail.com обсуждение исходный текст |
Ответы |
Re: Binary transfer not working
Re: Binary transfer not working |
Список | pgsql-jdbc |
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) {
}
}
}
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 по дате отправления: