aboutsummaryrefslogtreecommitdiff
path: root/databases/postgresql-devel/files/patch-jdbc-getdate
diff options
context:
space:
mode:
Diffstat (limited to 'databases/postgresql-devel/files/patch-jdbc-getdate')
-rw-r--r--databases/postgresql-devel/files/patch-jdbc-getdate34
1 files changed, 34 insertions, 0 deletions
diff --git a/databases/postgresql-devel/files/patch-jdbc-getdate b/databases/postgresql-devel/files/patch-jdbc-getdate
new file mode 100644
index 000000000000..744407ae14b5
--- /dev/null
+++ b/databases/postgresql-devel/files/patch-jdbc-getdate
@@ -0,0 +1,34 @@
+--- src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java~ Fri Feb 23 19:12:23 2001
++++ src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java Wed May 9 04:31:11 2001
+@@ -423,8 +423,13 @@
+ String s = getString(columnIndex);
+ if(s==null)
+ return null;
+-
+- return java.sql.Date.valueOf(s);
++ // length == 10: SQL Date
++ // length > 10: SQL Timestamp, assumes PGDATESTYLE=ISO
++ try {
++ return java.sql.Date.valueOf((s.length() == 10) ? s : s.substring(0,10));
++ } catch (NumberFormatException e) {
++ throw new PSQLException("postgresql.res.baddate", s);
++ }
+ }
+
+ /**
+@@ -441,8 +446,13 @@
+
+ if(s==null)
+ return null; // SQL NULL
+-
+- return java.sql.Time.valueOf(s);
++ // length == 8: SQL Time
++ // length > 8: SQL Timestamp
++ try {
++ return java.sql.Time.valueOf((s.length() == 8) ? s : s.substring(11,19));
++ } catch (NumberFormatException e) {
++ throw new PSQLException("postgresql.res.badtime",s);
++ }
+ }
+
+ /**