mirror of
https://github.com/postgres/postgres.git
synced 2025-04-25 21:42:33 +03:00
The attached patch should be sufficient to fix libpgtcl. It requires
PostgreSQL to support unicode-conversion, but retains binary compatibility among Tcl versions. However, it neither checks at compile time not at runtime, if support for unicode-conversion does really exist and it doesn't prevent the user from changing the client encoding after initialization. I think there should be warnings about this somewhere in the documentation. Reinhard Max
This commit is contained in:
parent
0ee85f853f
commit
9e46767161
@ -10,7 +10,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtcl.c,v 1.21 2001/03/22 04:01:23 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtcl.c,v 1.22 2001/09/10 14:49:12 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -29,6 +29,7 @@
|
|||||||
int
|
int
|
||||||
Pgtcl_Init(Tcl_Interp *interp)
|
Pgtcl_Init(Tcl_Interp *interp)
|
||||||
{
|
{
|
||||||
|
double tclversion;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* finish off the ChannelType struct. Much easier to do it here then
|
* finish off the ChannelType struct. Much easier to do it here then
|
||||||
@ -39,6 +40,13 @@ Pgtcl_Init(Tcl_Interp *interp)
|
|||||||
Pg_ConnType.getFileProc = PgGetFileProc;
|
Pg_ConnType.getFileProc = PgGetFileProc;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tcl versions >= 8.1 use UTF-8 for their internal string representation.
|
||||||
|
* Therefore PGCLIENTENCODING must be set to UNICODE for these versions.
|
||||||
|
*/
|
||||||
|
Tcl_GetDouble(interp, Tcl_GetVar(interp, "tcl_version", TCL_GLOBAL_ONLY), &tclversion);
|
||||||
|
if (tclversion >= 8.1) setenv("PGCLIENTENCODING", "UNICODE", 1);
|
||||||
|
|
||||||
/* register all pgtcl commands */
|
/* register all pgtcl commands */
|
||||||
Tcl_CreateCommand(interp,
|
Tcl_CreateCommand(interp,
|
||||||
"pg_conndefaults",
|
"pg_conndefaults",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user