diff options
Diffstat (limited to 'src/interfaces/libpgtcl/pgtclCmds.h')
-rw-r--r-- | src/interfaces/libpgtcl/pgtclCmds.h | 134 |
1 files changed, 57 insertions, 77 deletions
diff --git a/src/interfaces/libpgtcl/pgtclCmds.h b/src/interfaces/libpgtcl/pgtclCmds.h index 6def84d97ff..f0f8513da44 100644 --- a/src/interfaces/libpgtcl/pgtclCmds.h +++ b/src/interfaces/libpgtcl/pgtclCmds.h @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: pgtclCmds.h,v 1.8 1997/09/08 02:40:16 momjian Exp $ + * $Id: pgtclCmds.h,v 1.9 1998/03/15 08:02:59 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -18,89 +18,69 @@ #include "libpq-fe.h" #include "libpq/libpq-fs.h" -typedef struct Pg_clientData_s -{ - Tcl_HashTable dbh_hash; - Tcl_HashTable res_hash; - Tcl_HashTable notify_hash; - long dbh_count; - long res_count; -} Pg_clientData; +#define RES_HARD_MAX 128 +#define RES_START 16 +typedef struct Pg_ConnectionId_s { + char id[32]; + PGconn *conn; + int res_max; /* Max number of results allocated */ + int res_hardmax; /* Absolute max to allow */ + int res_count; /* Current count of active results */ + int res_last; /* Optimize where to start looking */ + int res_copy; /* Query result with active copy */ + int res_copyStatus; /* Copying status */ + PGresult **results; /* The results */ + + Tcl_HashTable notify_hash; +} Pg_ConnectionId; -typedef struct Pg_ConnectionId_s -{ - char id[32]; - PGconn *conn; - Tcl_HashTable res_hash; -} Pg_ConnectionId; - -typedef struct Pg_ResultId_s -{ - char id[32]; - PGresult *result; - Pg_ConnectionId *connection; -} Pg_ResultId; +#define RES_COPY_NONE 0 +#define RES_COPY_INPROGRESS 1 +#define RES_COPY_FIN 2 /* **************************/ /* 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_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_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_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_notifies( - ClientData cData, Tcl_Interp * interp, int argc, char *argv[]); +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_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_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_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_notifies( + ClientData cData, Tcl_Interp *interp, int argc, char* argv[]); + +#endif /*PGTCLCMDS_H*/ -#endif /* PGTCLCMDS_H */ |