mirror of
https://github.com/postgres/postgres.git
synced 2025-06-25 01:02:05 +03:00
Adjust Tcl-related code to compile cleanly with Tcl 8.4 (add const modifiers as
needed). Some desultory const-ification of SPI interface to support this.
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.70 2002/11/26 21:38:49 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.71 2002/12/30 22:10:54 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -23,7 +23,7 @@
|
||||
/*
|
||||
* Local function forward declarations
|
||||
*/
|
||||
static int execute_put_values(Tcl_Interp *interp, char *array_varname,
|
||||
static int execute_put_values(Tcl_Interp *interp, CONST84 char *array_varname,
|
||||
PGresult *result, int tupno);
|
||||
|
||||
|
||||
@ -241,7 +241,7 @@ tcl_value(char *value)
|
||||
**********************************/
|
||||
|
||||
int
|
||||
Pg_conndefaults(ClientData cData, Tcl_Interp *interp, int argc, char **argv)
|
||||
Pg_conndefaults(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PQconninfoOption *options = PQconndefaults();
|
||||
PQconninfoOption *option;
|
||||
@ -287,13 +287,13 @@ Pg_conndefaults(ClientData cData, Tcl_Interp *interp, int argc, char **argv)
|
||||
**********************************/
|
||||
|
||||
int
|
||||
Pg_connect(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_connect(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
char *pghost = NULL;
|
||||
char *pgtty = NULL;
|
||||
char *pgport = NULL;
|
||||
char *pgoptions = NULL;
|
||||
char *dbName;
|
||||
const char *pghost = NULL;
|
||||
const char *pgtty = NULL;
|
||||
const char *pgport = NULL;
|
||||
const char *pgoptions = NULL;
|
||||
const char *dbName;
|
||||
int i;
|
||||
PGconn *conn;
|
||||
|
||||
@ -397,7 +397,7 @@ Pg_connect(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
**********************************/
|
||||
|
||||
int
|
||||
Pg_disconnect(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_disconnect(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGconn *conn;
|
||||
Tcl_Channel conn_chan;
|
||||
@ -436,7 +436,7 @@ Pg_disconnect(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
**********************************/
|
||||
|
||||
int
|
||||
Pg_exec(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_exec(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
Pg_ConnectionId *connid;
|
||||
PGconn *conn;
|
||||
@ -538,13 +538,13 @@ Pg_exec(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
|
||||
**********************************/
|
||||
int
|
||||
Pg_result(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_result(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGresult *result;
|
||||
char *opt;
|
||||
const char *opt;
|
||||
int i;
|
||||
int tupno;
|
||||
char *arrVar;
|
||||
CONST84 char *arrVar;
|
||||
char nameBuffer[256];
|
||||
const char *appendstr;
|
||||
|
||||
@ -804,7 +804,7 @@ Pg_result_errReturn:
|
||||
**********************************/
|
||||
|
||||
int
|
||||
Pg_execute(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_execute(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
Pg_ConnectionId *connid;
|
||||
PGconn *conn;
|
||||
@ -813,8 +813,8 @@ Pg_execute(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
int tupno;
|
||||
int ntup;
|
||||
int loop_rc;
|
||||
char *oid_varname = NULL;
|
||||
char *array_varname = NULL;
|
||||
CONST84 char *oid_varname = NULL;
|
||||
CONST84 char *array_varname = NULL;
|
||||
char buf[64];
|
||||
|
||||
char *usage = "Wrong # of arguments\n"
|
||||
@ -1025,7 +1025,7 @@ Pg_execute(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
column names, or into an array indexed by the column names.
|
||||
**********************************/
|
||||
static int
|
||||
execute_put_values(Tcl_Interp *interp, char *array_varname,
|
||||
execute_put_values(Tcl_Interp *interp, CONST84 char *array_varname,
|
||||
PGresult *result, int tupno)
|
||||
{
|
||||
int i;
|
||||
@ -1071,7 +1071,7 @@ execute_put_values(Tcl_Interp *interp, char *array_varname,
|
||||
**********************/
|
||||
|
||||
int
|
||||
Pg_lo_open(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_lo_open(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGconn *conn;
|
||||
int lobjId;
|
||||
@ -1141,7 +1141,7 @@ Pg_lo_open(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
|
||||
**********************/
|
||||
int
|
||||
Pg_lo_close(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_lo_close(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGconn *conn;
|
||||
int fd;
|
||||
@ -1230,7 +1230,7 @@ Pg_lo_read(ClientData cData, Tcl_Interp *interp, int objc,
|
||||
|
||||
#else
|
||||
int
|
||||
Pg_lo_read(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_lo_read(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGconn *conn;
|
||||
int fd;
|
||||
@ -1328,7 +1328,7 @@ Pg_lo_write(ClientData cData, Tcl_Interp *interp, int objc,
|
||||
|
||||
#else
|
||||
int
|
||||
Pg_lo_write(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_lo_write(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGconn *conn;
|
||||
char *buf;
|
||||
@ -1376,11 +1376,11 @@ whence can be either
|
||||
"SEEK_CUR", "SEEK_END", or "SEEK_SET"
|
||||
***********************************/
|
||||
int
|
||||
Pg_lo_lseek(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_lo_lseek(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGconn *conn;
|
||||
int fd;
|
||||
char *whenceStr;
|
||||
const char *whenceStr;
|
||||
int offset,
|
||||
whence;
|
||||
|
||||
@ -1429,7 +1429,7 @@ for now, we don't support any additional storage managers.
|
||||
|
||||
***********************************/
|
||||
int
|
||||
Pg_lo_creat(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_lo_creat(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGconn *conn;
|
||||
char *modeStr;
|
||||
@ -1447,7 +1447,7 @@ Pg_lo_creat(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
if (conn == (PGconn *) NULL)
|
||||
return TCL_ERROR;
|
||||
|
||||
modeStr = argv[2];
|
||||
modeStr = strdup(argv[2]);
|
||||
|
||||
modeWord = strtok(modeStr, "|");
|
||||
if (strcmp(modeWord, "INV_READ") == 0)
|
||||
@ -1459,6 +1459,7 @@ Pg_lo_creat(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Tcl_AppendResult(interp,
|
||||
"invalid mode argument to Pg_lo_creat\nmode argument must be some OR'd combination of INV_READ, and INV_WRITE",
|
||||
0);
|
||||
free(modeStr);
|
||||
return TCL_ERROR;
|
||||
}
|
||||
|
||||
@ -1473,10 +1474,12 @@ Pg_lo_creat(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Tcl_AppendResult(interp,
|
||||
"invalid mode argument to Pg_lo_creat\nmode argument must be some OR'd combination of INV_READ, INV_WRITE",
|
||||
0);
|
||||
free(modeStr);
|
||||
return TCL_ERROR;
|
||||
}
|
||||
}
|
||||
sprintf(interp->result, "%d", lo_creat(conn, mode));
|
||||
free(modeStr);
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
@ -1489,7 +1492,7 @@ Pg_lo_tell
|
||||
|
||||
***********************************/
|
||||
int
|
||||
Pg_lo_tell(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_lo_tell(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGconn *conn;
|
||||
int fd;
|
||||
@ -1522,7 +1525,7 @@ Pg_lo_unlink
|
||||
|
||||
***********************************/
|
||||
int
|
||||
Pg_lo_unlink(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_lo_unlink(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGconn *conn;
|
||||
int lobjId;
|
||||
@ -1564,10 +1567,10 @@ Pg_lo_import
|
||||
***********************************/
|
||||
|
||||
int
|
||||
Pg_lo_import(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_lo_import(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGconn *conn;
|
||||
char *filename;
|
||||
const char *filename;
|
||||
Oid lobjId;
|
||||
|
||||
if (argc != 3)
|
||||
@ -1607,10 +1610,10 @@ Pg_lo_export
|
||||
***********************************/
|
||||
|
||||
int
|
||||
Pg_lo_export(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_lo_export(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
PGconn *conn;
|
||||
char *filename;
|
||||
const char *filename;
|
||||
Oid lobjId;
|
||||
int retval;
|
||||
|
||||
@ -1659,7 +1662,7 @@ Pg_lo_export(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
**********************************/
|
||||
|
||||
int
|
||||
Pg_select(ClientData cData, Tcl_Interp *interp, int argc, char **argv)
|
||||
Pg_select(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
Pg_ConnectionId *connid;
|
||||
PGconn *conn;
|
||||
@ -1816,9 +1819,9 @@ Pg_listen
|
||||
vwait or update can be used to enter the Tcl event loop.
|
||||
***********************************/
|
||||
int
|
||||
Pg_listen(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_listen(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
char *origrelname;
|
||||
const char *origrelname;
|
||||
char *caserelname;
|
||||
char *callback = NULL;
|
||||
Pg_TclNotifies *notifies;
|
||||
@ -1860,7 +1863,7 @@ Pg_listen(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
else
|
||||
{
|
||||
/* Downcase it */
|
||||
char *rels = origrelname;
|
||||
const char *rels = origrelname;
|
||||
char *reld = caserelname;
|
||||
|
||||
while (*rels)
|
||||
@ -1997,7 +2000,7 @@ Pg_on_connection_loss
|
||||
vwait or update can be used to enter the Tcl event loop.
|
||||
***********************************/
|
||||
int
|
||||
Pg_on_connection_loss(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||
Pg_on_connection_loss(ClientData cData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
|
||||
{
|
||||
char *callback = NULL;
|
||||
Pg_TclNotifies *notifies;
|
||||
|
@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: pgtclCmds.h,v 1.28 2002/09/04 20:31:46 momjian Exp $
|
||||
* $Id: pgtclCmds.h,v 1.29 2002/12/30 22:10:54 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -15,8 +15,14 @@
|
||||
#define PGTCLCMDS_H
|
||||
|
||||
#include <tcl.h>
|
||||
|
||||
#include "libpq-fe.h"
|
||||
|
||||
/* Hack to deal with Tcl 8.4 const-ification without losing compatibility */
|
||||
#ifndef CONST84
|
||||
#define CONST84
|
||||
#endif
|
||||
|
||||
#define RES_HARD_MAX 128
|
||||
#define RES_START 16
|
||||
|
||||
@ -86,54 +92,52 @@ typedef struct Pg_ConnectionId_s
|
||||
/* **************************/
|
||||
/* registered Tcl functions */
|
||||
/* **************************/
|
||||
extern int Pg_conndefaults(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_connect(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_disconnect(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_exec(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_execute(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_select(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_result(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_lo_open(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_lo_close(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_conndefaults(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_connect(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_disconnect(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_exec(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_execute(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_select(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_result(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_lo_open(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_lo_close(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
|
||||
#ifdef PGTCL_USE_TCLOBJ
|
||||
extern int Pg_lo_read(
|
||||
ClientData cData, Tcl_Interp *interp, int objc,
|
||||
extern int Pg_lo_read(ClientData cData, Tcl_Interp *interp, int objc,
|
||||
Tcl_Obj *CONST objv[]);
|
||||
extern int Pg_lo_write(
|
||||
ClientData cData, Tcl_Interp *interp, int objc,
|
||||
extern int Pg_lo_write(ClientData cData, Tcl_Interp *interp, int objc,
|
||||
Tcl_Obj *CONST objv[]);
|
||||
|
||||
#else
|
||||
extern int Pg_lo_read(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_lo_write(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_lo_read(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_lo_write(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
#endif
|
||||
extern int Pg_lo_lseek(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_lo_creat(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_lo_tell(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_lo_unlink(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_lo_import(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_lo_export(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_listen(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_on_connection_loss(
|
||||
ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);
|
||||
extern int Pg_lo_lseek(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_lo_creat(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_lo_tell(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_lo_unlink(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_lo_import(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_lo_export(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_listen(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
extern int Pg_on_connection_loss(ClientData cData, Tcl_Interp *interp,
|
||||
int argc, CONST84 char *argv[]);
|
||||
|
||||
#endif /* PGTCLCMDS_H */
|
||||
|
@ -13,7 +13,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclId.c,v 1.37 2002/10/17 14:53:32 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclId.c,v 1.38 2002/12/30 22:10:54 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -218,7 +218,8 @@ PgSetConnectionId(Tcl_Interp *interp, PGconn *conn)
|
||||
* Get back the connection from the Id
|
||||
*/
|
||||
PGconn *
|
||||
PgGetConnectionId(Tcl_Interp *interp, char *id, Pg_ConnectionId ** connid_p)
|
||||
PgGetConnectionId(Tcl_Interp *interp, CONST84 char *id,
|
||||
Pg_ConnectionId ** connid_p)
|
||||
{
|
||||
Tcl_Channel conn_chan;
|
||||
Pg_ConnectionId *connid;
|
||||
@ -326,7 +327,7 @@ PgDelConnectionId(DRIVER_DEL_PROTO)
|
||||
* is probably just not clearing result handles like they should.
|
||||
*/
|
||||
int
|
||||
PgSetResultId(Tcl_Interp *interp, char *connid_c, PGresult *res)
|
||||
PgSetResultId(Tcl_Interp *interp, CONST84 char *connid_c, PGresult *res)
|
||||
{
|
||||
Tcl_Channel conn_chan;
|
||||
Pg_ConnectionId *connid;
|
||||
@ -384,7 +385,7 @@ PgSetResultId(Tcl_Interp *interp, char *connid_c, PGresult *res)
|
||||
}
|
||||
|
||||
static int
|
||||
getresid(Tcl_Interp *interp, char *id, Pg_ConnectionId ** connid_p)
|
||||
getresid(Tcl_Interp *interp, CONST84 char *id, Pg_ConnectionId ** connid_p)
|
||||
{
|
||||
Tcl_Channel conn_chan;
|
||||
char *mark;
|
||||
@ -426,7 +427,7 @@ getresid(Tcl_Interp *interp, char *id, Pg_ConnectionId ** connid_p)
|
||||
* Get back the result pointer from the Id
|
||||
*/
|
||||
PGresult *
|
||||
PgGetResultId(Tcl_Interp *interp, char *id)
|
||||
PgGetResultId(Tcl_Interp *interp, CONST84 char *id)
|
||||
{
|
||||
Pg_ConnectionId *connid;
|
||||
int resid;
|
||||
@ -444,7 +445,7 @@ PgGetResultId(Tcl_Interp *interp, char *id)
|
||||
* Remove a result Id from the hash tables
|
||||
*/
|
||||
void
|
||||
PgDelResultId(Tcl_Interp *interp, char *id)
|
||||
PgDelResultId(Tcl_Interp *interp, CONST84 char *id)
|
||||
{
|
||||
Pg_ConnectionId *connid;
|
||||
int resid;
|
||||
@ -460,7 +461,7 @@ PgDelResultId(Tcl_Interp *interp, char *id)
|
||||
* Get the connection Id from the result Id
|
||||
*/
|
||||
int
|
||||
PgGetConnByResultId(Tcl_Interp *interp, char *resid_c)
|
||||
PgGetConnByResultId(Tcl_Interp *interp, CONST84 char *resid_c)
|
||||
{
|
||||
char *mark;
|
||||
Tcl_Channel conn_chan;
|
||||
@ -472,7 +473,8 @@ PgGetConnByResultId(Tcl_Interp *interp, char *resid_c)
|
||||
*mark = '.';
|
||||
if (conn_chan && Tcl_GetChannelType(conn_chan) == &Pg_ConnType)
|
||||
{
|
||||
Tcl_SetResult(interp, Tcl_GetChannelName(conn_chan), TCL_VOLATILE);
|
||||
Tcl_SetResult(interp, (char *) Tcl_GetChannelName(conn_chan),
|
||||
TCL_VOLATILE);
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: pgtclId.h,v 1.21 2002/09/02 21:51:47 tgl Exp $
|
||||
* $Id: pgtclId.h,v 1.22 2002/12/30 22:10:54 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -27,22 +27,23 @@ extern void PgSetConnectionId(Tcl_Interp *interp, PGconn *conn);
|
||||
int bufSize, int *errorCodePtr
|
||||
#else
|
||||
/* Tcl 7.6 and beyond use this signature */
|
||||
#define DRIVER_OUTPUT_PROTO ClientData cData, char *buf, int bufSize, \
|
||||
#define DRIVER_OUTPUT_PROTO ClientData cData, CONST84 char *buf, int bufSize, \
|
||||
int *errorCodePtr
|
||||
#define DRIVER_INPUT_PROTO ClientData cData, char *buf, int bufSize, \
|
||||
int *errorCodePtr
|
||||
#define DRIVER_DEL_PROTO ClientData cData, Tcl_Interp *interp
|
||||
#endif
|
||||
|
||||
extern PGconn *PgGetConnectionId(Tcl_Interp *interp, char *id,
|
||||
extern PGconn *PgGetConnectionId(Tcl_Interp *interp, CONST84 char *id,
|
||||
Pg_ConnectionId **);
|
||||
extern int PgDelConnectionId(DRIVER_DEL_PROTO);
|
||||
extern int PgOutputProc(DRIVER_OUTPUT_PROTO);
|
||||
extern int PgInputProc(DRIVER_INPUT_PROTO);
|
||||
extern int PgSetResultId(Tcl_Interp *interp, char *connid, PGresult *res);
|
||||
extern PGresult *PgGetResultId(Tcl_Interp *interp, char *id);
|
||||
extern void PgDelResultId(Tcl_Interp *interp, char *id);
|
||||
extern int PgGetConnByResultId(Tcl_Interp *interp, char *resid);
|
||||
extern int PgSetResultId(Tcl_Interp *interp, CONST84 char *connid,
|
||||
PGresult *res);
|
||||
extern PGresult *PgGetResultId(Tcl_Interp *interp, CONST84 char *id);
|
||||
extern void PgDelResultId(Tcl_Interp *interp, CONST84 char *id);
|
||||
extern int PgGetConnByResultId(Tcl_Interp *interp, CONST84 char *resid);
|
||||
extern void PgStartNotifyEventSource(Pg_ConnectionId * connid);
|
||||
extern void PgStopNotifyEventSource(Pg_ConnectionId * connid, bool allevents);
|
||||
extern void PgNotifyTransferEvents(Pg_ConnectionId * connid);
|
||||
|
Reference in New Issue
Block a user