Re: Patch for pl/tcl Tcl_ExternalToUtf and Tcl_UtfToExternal support - Mailing list pgsql-patches

Vsevolod Lobko <seva@sevasoft.kiev.ua> writes:
> This patch adds calls to Tcl_ExternalToUtf and Tcl_UtfToExternal
> functions on parameters of SPI functions.

I hate to say it, but this is an amazingly ugly patch.  Can't you
do it without so many #ifdefs and duplicating a lot of code?  Think
of the next guy who has to look at/work on this code.

Possibly a macro that invokes Tcl_ExternalToUtfDString or does nothing
might help.

> Patch assumes that database encoding and system encoding of Tcl is
> equal.

Hmm, is that a tenable assumption?  I don't know, I'm just asking.

> It adds new configure switch
> --enable-pltcl-utf. Without this switch patch does nothing.

This is not a good approach, since it relies on the user to know whether
he needs to do this or not.  Seems like looking at the Tcl version
number would be more appropriate: if version >= 8.3 then make these
changes.  You could do that in the code, without any configure patch,
using #if's on TCL_MAJOR_VERSION and TCL_MINOR_VERSION (see libpgtcl
for examples).

            regards, tom lane

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: insert multiple rows attempt two
Next
From: Bruce Momjian
Date:
Subject: Re: Patch for pl/tcl Tcl_ExternalToUtf and Tcl_UtfToExternal support