Hi everyone.
I have made a patch to DBD-Pg-0.69 so that queries that contain the
casing operator "::" work with DBD::Pg v0.69. Without this patch, any
query with teh casting operator in it will not run. I could not wait
for a fix from the author for this, so I made the change myself.
Anyways, in case anyone else is strugling with this, the following patch
made against DBD-Pg-0.69 seems to do the trick for me.
Thought I would post this up in case anyone else would like to try it.
Mike
diff -uNr DBD-Pg-0.69.orig/dbdimp.c DBD-Pg-0.69/dbdimp.c
--- DBD-Pg-0.69.orig/dbdimp.c Fri Mar 6 15:58:50 1998
+++ DBD-Pg-0.69/dbdimp.c Wed Apr 15 20:37:15 1998
@@ -447,6 +447,19 @@
*dest++ = *src++;
continue;
}
+
+ /*
+ * The above loop will not copy "::" for casting. This
+ * works around that by copying a colon if it followed by or
+ * is preceded by another colon.
+ * Michael schout, 4/15/1998 (mschout@gkg.net)
+ */
+ if (*src == ':' && (*(src-1) == ':' || *(src+1) == ':'))
+ {
+ *dest++ = *src++;
+ continue;
+ }
+
start = dest; /* save name inc colon */
*dest++ = *src++;
if (*start == '?') { /* X/Open standard */