Re: type cache info fix
От | Valentine Gogichashvili |
---|---|
Тема | Re: type cache info fix |
Дата | |
Msg-id | CAP93muXTS4UMZv0w_cp6Se0ATqQwMp_waTcCPE7LBa9QC2rfWw@mail.gmail.com обсуждение исходный текст |
Ответ на | type cache info fix (Gary Baker <gary.baker@gmail.com>) |
Ответы |
Re: type cache info fix
|
Список | pgsql-jdbc |
Hello Gary,
the problem with this change is that it is not backwards compatible. Though the question is, why somebody would like to keep a not deterministic behavior of the current code.
And if you are fixing this, probably it would make sense to fix getSQLType() as well.
Also it can fill your server logs with errors, if the type does not exist, regtype cast will throw an ERROR
I have prepared a little bit different change: https://github.com/pgjdbc/pgjdbc/pull/52
Cheers,
-- Valentine
ვალენტინ გოგიჩაშვილი
Valentine Gogichashvili
Valentine Gogichashvili
On Fri, Mar 29, 2013 at 6:08 PM, Gary Baker <gary.baker@gmail.com> wrote:
I found that type cache info wasn't honoring search path. (I had a
UDT type that shared a name with a table).
This fixed it.
diff --git a/org/postgresql/jdbc2/TypeInfoCache.java
b/org/postgresql/jdbc2/TypeInfoCache.java
index 2e79758..2d26fd0 100644
--- a/org/postgresql/jdbc2/TypeInfoCache.java
+++ b/org/postgresql/jdbc2/TypeInfoCache.java
@@ -234,7 +234,7 @@ public class TypeInfoCache implements TypeInfo {
if (_getOidStatement == null) {
String sql;
if (_conn.haveMinimumServerVersion("7.3")) {
- sql = "SELECT oid FROM pg_catalog.pg_type WHERE typname = ?";
+ sql = "SELECT ?::regtype::oid";
} else {
sql = "SELECT oid FROM pg_type WHERE typname = ?";
}
--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc
В списке pgsql-jdbc по дате отправления: