Greg,
just re-run my tests with freshly compiled PostgreSQL 8.0.2 (congrats
on release, btw)
DBD:Pg 1.32 - fast
DBD:Pg 1.40 - slooow and buggy, won't work w/o patching
DBD:Pg 1.41 - fast
DBD:Pg 1.41 patched - fast
the patch I've applied in last test:
diff -ru DBD-Pg-1.41/dbdimp.c DBD-Pg-1.41-patched/dbdimp.c
--- DBD-Pg-1.41/dbdimp.c Fri Apr 8 16:06:12 2005
+++ DBD-Pg-1.41-patched/dbdimp.c Fri Apr 8 15:46:50 2005
@@ -1415,7 +1415,7 @@ } else if (NULL == currph->bind_type) { /* "sticky" data type */ /*
Thisis the default type, but we will honor
defaultval if we can */
- currph->bind_type = pg_type_data(VARCHAROID);
+ currph->bind_type = pg_type_data(UNKNOWNOID); if (!currph->bind_type)
croak("Default type is bad!!!!???"); }
diff -ru DBD-Pg-1.41/types.c DBD-Pg-1.41-patched/types.c
--- DBD-Pg-1.41/types.c Fri Apr 8 16:06:23 2005
+++ DBD-Pg-1.41-patched/types.c Fri Apr 8 17:23:48 2005
@@ -55,7 +55,7 @@ {ABSTIMEOID, "abstime", DBDPG_TRUE, null_quote, null_dequote, {0}}, {RELTIMEOID,
"reltime",DBDPG_TRUE, null_quote, null_dequote, {0}}, {TINTERVALOID, "tinterval", DBDPG_TRUE, null_quote,
null_dequote,{0}},
- {UNKNOWNOID, "unknown", DBDPG_FALSE, null_quote, null_dequote, {0}},
+ {UNKNOWNOID, "unknown", DBDPG_FALSE, quote_varchar,
dequote_varchar, {0}}, {CIRCLEOID, "circle", DBDPG_FALSE, null_quote, null_dequote, {0}}, {CASHOID,
"money",DBDPG_TRUE, null_quote, null_dequote, {0}}, {MACADDROID, "MAC address", DBDPG_TRUE,
quote_varchar,dequote_varchar, {0}},
On Apr 8, 2005 6:17 PM, Greg Sabino Mullane <[email protected]> wrote:
> Let's slow down and back up a bit. First, what version of
> PostgreSQL are you using to compile DBD::Pg, and what version
> are you connecting to? Many of the things being discussed
> have already been solved if you are running a modern version
> of PG (e.g. 7.4 or greater).
--
Vlad