Add function to return the thread safety status of libpq - Mailing list pgsql-patches

From Qingqing Zhou
Subject Add function to return the thread safety status of libpq
Date
Msg-id Pine.LNX.4.58.0512030016330.5049@eon.cs
Whole thread Raw
Responses Re: Add function to return the thread safety status of libpq
List pgsql-patches
This is half of an item in TODO list. I patch this because now pgbench is
threaded in Win32, so it is better to check thread safety of libpq.dll.

Patch ecpg could be done in a similar way, but I am not sure how we will
use this function there ...

Regards,
Qingqing

---

Index: fe-connect.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v
retrieving revision 1.324
diff -c -r1.324 fe-connect.c
*** fe-connect.c    22 Nov 2005 18:17:32 -0000    1.324
--- fe-connect.c    3 Dec 2005 05:15:29 -0000
***************
*** 2860,2865 ****
--- 2860,2875 ----
      return PG_PROTOCOL_MAJOR(conn->pversion);
  }

+ bool
+ PQthreadSafe(void)
+ {
+ #ifdef ENABLE_THREAD_SAFETY
+     return true;
+ #else
+     return false;
+ #endif
+ }
+
  int
  PQserverVersion(const PGconn *conn)
  {
Index: libpq-fe.h
===================================================================
RCS file: /projects/cvsroot/pgsql/src/interfaces/libpq/libpq-fe.h,v
retrieving revision 1.122
diff -c -r1.122 libpq-fe.h
*** libpq-fe.h    23 Nov 2005 04:23:28 -0000    1.122
--- libpq-fe.h    3 Dec 2005 05:15:29 -0000
***************
*** 264,269 ****
--- 264,270 ----
  extern const char *PQparameterStatus(const PGconn *conn,
                    const char *paramName);
  extern int    PQprotocolVersion(const PGconn *conn);
+ extern bool    PQthreadSafe(void);
  extern int    PQserverVersion(const PGconn *conn);
  extern char *PQerrorMessage(const PGconn *conn);
  extern int    PQsocket(const PGconn *conn);


pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Numeric 508 datatype
Next
From: Tom Lane
Date:
Subject: Re: Add function to return the thread safety status of libpq