[libpostgresql-jdbc-java] 07/24: Clob will now use the connection encoding pull #121 from brekka/clob_encoding
Emmanuel Bourg
ebourg-guest at moszumanska.debian.org
Mon Jan 9 21:17:39 UTC 2017
This is an automated email from the git hooks/post-receive script.
ebourg-guest pushed a commit to tag REL9_3_1103
in repository libpostgresql-jdbc-java.
commit 7488740a4d96b8297190097f03da57ce69a4a0a5
Author: Dave Cramer <dave.cramer at credativ.ca>
Date: Mon Sep 15 10:14:24 2014 +0000
Clob will now use the connection encoding
pull #121 from brekka/clob_encoding
---
org/postgresql/jdbc2/AbstractJdbc2Clob.java | 7 +++++--
org/postgresql/jdbc2/AbstractJdbc2Statement.java | 9 ++++++---
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/org/postgresql/jdbc2/AbstractJdbc2Clob.java b/org/postgresql/jdbc2/AbstractJdbc2Clob.java
index e18bcd2..f6d5f85 100644
--- a/org/postgresql/jdbc2/AbstractJdbc2Clob.java
+++ b/org/postgresql/jdbc2/AbstractJdbc2Clob.java
@@ -8,13 +8,15 @@
package org.postgresql.jdbc2;
-import org.postgresql.core.BaseConnection;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
+import java.nio.charset.Charset;
import java.sql.Clob;
import java.sql.SQLException;
+import org.postgresql.core.BaseConnection;
+
public abstract class AbstractJdbc2Clob extends AbstractJdbc2BlobClob
{
@@ -30,7 +32,8 @@ public abstract class AbstractJdbc2Clob extends AbstractJdbc2BlobClob
public synchronized Reader getCharacterStream() throws SQLException
{
- return new InputStreamReader(getBinaryStream());
+ Charset connectionCharset = Charset.forName(conn.getEncoding().name());
+ return new InputStreamReader(getBinaryStream(), connectionCharset);
}
public synchronized String getSubString(long i, int j) throws SQLException
diff --git a/org/postgresql/jdbc2/AbstractJdbc2Statement.java b/org/postgresql/jdbc2/AbstractJdbc2Statement.java
index 6c6d473..c7e6b4f 100644
--- a/org/postgresql/jdbc2/AbstractJdbc2Statement.java
+++ b/org/postgresql/jdbc2/AbstractJdbc2Statement.java
@@ -12,6 +12,7 @@ import java.io.*;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.*;
+import java.nio.charset.Charset;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
@@ -3177,12 +3178,14 @@ public abstract class AbstractJdbc2Statement implements BaseStatement
return;
}
- InputStream l_inStream = x.getAsciiStream();
+ Reader l_inStream = x.getCharacterStream();
int l_length = (int) x.length();
LargeObjectManager lom = connection.getLargeObjectAPI();
long oid = lom.createLO();
+ Charset connectionCharset = Charset.forName(connection.getEncoding().name());
LargeObject lob = lom.open(oid);
OutputStream los = lob.getOutputStream();
+ Writer lw = new OutputStreamWriter(los, connectionCharset);
try
{
// could be buffered, but then the OutputStream returned by LargeObject
@@ -3192,11 +3195,11 @@ public abstract class AbstractJdbc2Statement implements BaseStatement
int p = 0;
while (c > -1 && p < l_length)
{
- los.write(c);
+ lw.write(c);
c = l_inStream.read();
p++;
}
- los.close();
+ lw.close();
}
catch (IOException se)
{
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/libpostgresql-jdbc-java.git
More information about the pkg-java-commits
mailing list