Ecpg cleanups for prototypes.

This commit is contained in:
Bruce Momjian 2003-06-15 04:56:45 +00:00
parent 228c02c3e5
commit a64927f995
2 changed files with 14 additions and 8 deletions

View File

@ -1,4 +1,4 @@
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.3 2003/06/15 04:07:58 momjian Exp $ */ /* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.4 2003/06/15 04:56:45 momjian Exp $ */
#define POSTGRES_ECPG_INTERNAL #define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h" #include "postgres_fe.h"
@ -78,7 +78,8 @@ static pthread_mutex_t debug_mutex = PTHREAD_MUTEX_INITIALIZER;
static int simple_debug = 0; static int simple_debug = 0;
static FILE *debugstream = NULL; static FILE *debugstream = NULL;
void ECPGinit_sqlca(struct sqlca_t *sqlca) void
ECPGinit_sqlca(struct sqlca_t *sqlca)
{ {
memcpy((char *)sqlca, (char *)&sqlca_init, sizeof(struct sqlca_t)); memcpy((char *)sqlca, (char *)&sqlca_init, sizeof(struct sqlca_t));
} }
@ -98,25 +99,27 @@ ECPGinit(const struct connection * con, const char *connection_name, const int l
} }
#ifdef USE_THREADS #ifdef USE_THREADS
static void ecpg_sqlca_key_init(void) static void
ecpg_sqlca_key_init(void)
{ {
pthread_key_create(&sqlca_key, NULL); pthread_key_create(&sqlca_key, NULL);
} }
#endif #endif
struct sqlca_t *ECPGget_sqlca(void) struct sqlca_t *
ECPGget_sqlca(void)
{ {
#ifdef USE_THREADS #ifdef USE_THREADS
struct sqlca_t *sqlca; struct sqlca_t *sqlca;
pthread_once(&sqlca_key_once, ecpg_sqlca_key_init); pthread_once(&sqlca_key_once, ecpg_sqlca_key_init);
sqlca = pthread_getspecific(&sqlca_key); sqlca = pthread_getspecific(sqlca_key);
if( sqlca == NULL ) if( sqlca == NULL )
{ {
sqlca = malloc(sizeof(struct sqlca_t)); sqlca = malloc(sizeof(struct sqlca_t));
ECPGinit_sqlca(sqlca); ECPGinit_sqlca(sqlca);
pthread_setspecific(&sqlca_key, sqlca); pthread_setspecific(sqlca_key, sqlca);
} }
return( sqlca ); return( sqlca );
#else #else

View File

@ -38,6 +38,9 @@ extern "C"
{ {
#endif #endif
struct sqlca_t;
void ECPGinit_sqlca(struct sqlca_t *sqlca);
void ECPGdebug(int, FILE *); void ECPGdebug(int, FILE *);
bool ECPGstatus(int, const char *); bool ECPGstatus(int, const char *);
bool ECPGsetcommit(int, const char *, const char *); bool ECPGsetcommit(int, const char *, const char *);