Commit a64927f9 authored by Bruce Momjian's avatar Bruce Momjian

Ecpg cleanups for prototypes.

parent 228c02c3
/* $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; ...@@ -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 ...@@ -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
......
...@@ -38,6 +38,9 @@ extern "C" ...@@ -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 *);
...@@ -49,10 +52,10 @@ bool ECPGdisconnect(int, const char *); ...@@ -49,10 +52,10 @@ bool ECPGdisconnect(int, const char *);
bool ECPGprepare(int, char *, char *); bool ECPGprepare(int, char *, char *);
bool ECPGdeallocate(int, char *); bool ECPGdeallocate(int, char *);
bool ECPGdeallocate_all(int); bool ECPGdeallocate_all(int);
char *ECPGprepared_statement(char *); char *ECPGprepared_statement(char *);
void ECPGlog(const char *format,...); void ECPGlog(const char *format,...);
char *ECPGerrmsg(void); char *ECPGerrmsg(void);
/* print an error message */ /* print an error message */
void sqlprint(void); void sqlprint(void);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment