Re: Patch for pl/tcl Tcl_ExternalToUtf and Tcl_UtfToExternal support

Поиск
Список
Период
Сортировка
От Vsevolod Lobko
Тема Re: Patch for pl/tcl Tcl_ExternalToUtf and Tcl_UtfToExternal support
Дата
Msg-id 20010823201934.F40612-100000@localhost
обсуждение исходный текст
Ответ на Re: Patch for pl/tcl Tcl_ExternalToUtf and Tcl_UtfToExternal support  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Patch for pl/tcl Tcl_ExternalToUtf and Tcl_UtfToExternal
Список pgsql-patches

On Thu, 23 Aug 2001, Tom Lane wrote:

> 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.

There are only two problems:
  1) I need temporary Tcl_DString
  2) I need to free it after use
So I can go with three macros (one for declaration, one for conversion,
and one for free) but I dont think it will be better

> 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.

Yes, because it does 8-bit to unicode conversion and must to know
codepage for 8-bit characters. Unfortunately charset names for tcl and postgres
does not match, so this demands additional field in charset tables or additional
table :((

> > 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).

See previous reply, this patch adds significant overhead.


В списке pgsql-patches по дате отправления:

Предыдущее
От: Vsevolod Lobko
Дата:
Сообщение: Re: Patch for pl/tcl Tcl_ExternalToUtf and Tcl_UtfToExternal support
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Patch for pl/tcl Tcl_ExternalToUtf and Tcl_UtfToExternal support