Re: Patch for pl/tcl Tcl_ExternalToUtf and Tcl_UtfToExternal support

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Vsevolod Lobko <seva(at)sevasoft(dot)kiev(dot)ua>
Cc: pgsql-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Patch for pl/tcl Tcl_ExternalToUtf and Tcl_UtfToExternal support
Date: 2001-08-23 17:16:32
Message-ID: 5955.998586992@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Vsevolod Lobko <seva(at)sevasoft(dot)kiev(dot)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

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Vsevolod Lobko 2001-08-23 17:30:45 Re: Patch for pl/tcl Tcl_ExternalToUtf and Tcl_UtfToExternal support
Previous Message Bruce Momjian 2001-08-23 17:02:41 Re: insert multiple rows attempt two