pgtcl large object fix
Newer versions of TCL implement ByteArray objects which are
the best fit for Postgresql Large Object functions. The change
is simple. Here's a diff on the 7.4 source file and a fixed version:
diff pgtclCmds.c pgtclCmds.c.fixed
1218c1218
< bufObj = Tcl_NewStringObj(buf, nbytes);
---
bufObj = Tcl_NewByteArrayObj(buf, nbytes);
1310c1310
< buf = Tcl_GetStringFromObj(objv[3], &nbytes);
---
buf = Tcl_GetByteArrayFromObj(objv[3], &nbytes);
By making this change, TCL users (like me) can store and retrieve
binary objects in the database, like images. And, strings will
still work fine, too.
-Mahlon Stacy
-------------------------------------------------------------
Mahlon Stacy Internet: mcs@mayo.edu
Mayo Foundation (507) 284-4558
Medical Science Bldg 1-43 FAX (507) 284-1632
Rochester, MN 55905
-------------------------------------------------------------
Mahlon Stacy <mcs@mayo.edu> writes:
Newer versions of TCL implement ByteArray objects which are
the best fit for Postgresql Large Object functions.
How newer is "newer"? That is, what compatibility problems might we
create if we make this change?
regards, tom lane
On Wed, 6 Aug 2003 at 18:02, Tom Lane wrote:
Mahlon Stacy <mcs@mayo.edu> writes:
Newer versions of TCL implement ByteArray objects which are
the best fit for Postgresql Large Object functions.How newer is "newer"? That is, what compatibility problems might we
create if we make this change?
ByteArrays were introduced in Tcl 8.1 (March 1999) along with the
change to use UTF-8 as internal string encoding.
cu
Reinhard