1
/*-------------------------------------------------------------------------
5
* libpgtcl is a tcl package for front-ends to interface with PostgreSQL.
6
* It's a Tcl wrapper for libpq.
8
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
9
* Portions Copyright (c) 1994, Regents of the University of California
13
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtcl.c,v 1.28.4.1 2004/02/02 01:00:58 neilc Exp $
15
*-------------------------------------------------------------------------
18
#include "postgres_fe.h"
20
#include "pgtclCmds.h"
25
* initialization package for the PGTCL Tcl package
30
Pgtcl_Init(Tcl_Interp *interp)
35
* finish off the ChannelType struct. Much easier to do it here then
36
* to guess where it might be by position in the struct. This is
37
* needed for Tcl7.6 *only*, which has the getfileproc.
39
#if HAVE_TCL_GETFILEPROC
40
Pg_ConnType.getFileProc = PgGetFileProc;
44
* Tcl versions >= 8.1 use UTF-8 for their internal string
45
* representation. Therefore PGCLIENTENCODING must be set to UNICODE
48
Tcl_GetDouble(interp, Tcl_GetVar(interp, "tcl_version", TCL_GLOBAL_ONLY), &tclversion);
49
if (tclversion >= 8.1)
50
Tcl_PutEnv("PGCLIENTENCODING=UNICODE");
52
/* register all pgtcl commands */
53
Tcl_CreateCommand(interp,
56
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
58
Tcl_CreateCommand(interp,
61
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
63
Tcl_CreateCommand(interp,
66
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
68
Tcl_CreateCommand(interp,
71
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
73
Tcl_CreateCommand(interp,
76
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
78
Tcl_CreateCommand(interp,
81
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
83
Tcl_CreateCommand(interp,
86
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
88
Tcl_CreateCommand(interp,
91
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
93
Tcl_CreateCommand(interp,
96
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
98
#ifdef PGTCL_USE_TCLOBJ
99
Tcl_CreateObjCommand(interp,
102
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
104
Tcl_CreateObjCommand(interp,
107
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
109
Tcl_CreateCommand(interp,
112
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
114
Tcl_CreateCommand(interp,
117
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
120
Tcl_CreateCommand(interp,
123
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
125
Tcl_CreateCommand(interp,
128
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
130
Tcl_CreateCommand(interp,
133
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
135
Tcl_CreateCommand(interp,
138
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
140
Tcl_CreateCommand(interp,
143
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
145
Tcl_CreateCommand(interp,
148
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
150
Tcl_CreateCommand(interp,
153
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
155
Tcl_CreateCommand(interp,
156
"pg_on_connection_loss",
157
Pg_on_connection_loss,
158
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
160
Tcl_PkgProvide(interp, "Pgtcl", "1.4");
167
Pgtcl_SafeInit(Tcl_Interp *interp)
169
return Pgtcl_Init(interp);