summaryrefslogtreecommitdiff
path: root/databases/postgresql91-server/files
diff options
context:
space:
mode:
authorJames E. Housley <jeh@FreeBSD.org>2001-06-04 11:53:50 +0000
committerJames E. Housley <jeh@FreeBSD.org>2001-06-04 11:53:50 +0000
commit9811a25b6ccefe3cd4113bd0e9ac9a8e8b4fee85 (patch)
tree67c0a1bf44b45b1d5dfcb1c814a287ae5c4c3b31 /databases/postgresql91-server/files
parentAdd character sets to the server (diff)
Forgotten file.
Add character sets to the server PR: 27846 Submitted by: Palle Girgensohn <girgen@partitur.se>
Diffstat (limited to 'databases/postgresql91-server/files')
-rw-r--r--databases/postgresql91-server/files/patch-jdbc-Connection51
1 files changed, 51 insertions, 0 deletions
diff --git a/databases/postgresql91-server/files/patch-jdbc-Connection b/databases/postgresql91-server/files/patch-jdbc-Connection
new file mode 100644
index 000000000000..26fbc260d639
--- /dev/null
+++ b/databases/postgresql91-server/files/patch-jdbc-Connection
@@ -0,0 +1,51 @@
+===================================================================
+RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/Connection.java,v
+retrieving revision 1.14
+retrieving revision 1.16
+diff -u -r1.14 -r1.16
+--- src/interfaces/jdbc/org/postgresql/Connection.java 2001/01/31 08:26:01 1.14
++++ src/interfaces/jdbc/org/postgresql/Connection.java 2001/06/01 20:57:58 1.16
+@@ -10,7 +10,7 @@
+ import org.postgresql.util.*;
+
+ /**
+- * $Id: Connection.java,v 1.14 2001/01/31 08:26:01 peter Exp $
++ * $Id: Connection.java,v 1.16 2001/06/01 20:57:58 momjian Exp $
+ *
+ * This abstract class is used by org.postgresql.Driver to open either the JDBC1 or
+ * JDBC2 versions of the Connection class.
+@@ -267,7 +267,8 @@
+ //
+ firstWarning = null;
+
+- java.sql.ResultSet initrset = ExecSQL("set datestyle to 'ISO'; select getdatabaseencoding()");
++ java.sql.ResultSet initrset = ExecSQL("set datestyle to 'ISO'; " +
++ "select case when pg_encoding_to_char(1) = 'SQL_ASCII' then 'UNKNOWN' else getdatabaseencoding() end");
+
+ String dbEncoding = null;
+ //retrieve DB properties
+@@ -307,9 +308,23 @@
+ } else if (dbEncoding.equals("EUC_TW")) {
+ dbEncoding = "EUC_TW";
+ } else if (dbEncoding.equals("KOI8")) {
+- dbEncoding = "KOI8_R";
++ // try first if KOI8_U is present, it's a superset of KOI8_R
++ try {
++ dbEncoding = "KOI8_U";
++ "test".getBytes(dbEncoding);
++ }
++ catch(UnsupportedEncodingException uee) {
++ // well, KOI8_U is still not in standard JDK, falling back to KOI8_R :(
++ dbEncoding = "KOI8_R";
++ }
++
+ } else if (dbEncoding.equals("WIN")) {
+ dbEncoding = "Cp1252";
++ } else if (dbEncoding.equals("UNKNOWN")) {
++ //This isn't a multibyte database so we don't have an encoding to use
++ //We leave dbEncoding null which will cause the default encoding for the
++ //JVM to be used
++ dbEncoding = null;
+ } else {
+ dbEncoding = null;
+ }