aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/test/thread
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2017-08-26 19:07:25 +0200
committerMichael Meskes <meskes@postgresql.org>2017-08-26 19:11:58 +0200
commit04fbe0e4516d26de9420637f6fc90041e574b4b0 (patch)
tree7dccba7848729d1176b6b35e687ebd8884e9660e /src/interfaces/ecpg/test/thread
parent2073c641b43e1310784dc40aef32f71119313bdc (diff)
downloadpostgresql-04fbe0e4516d26de9420637f6fc90041e574b4b0.tar.gz
postgresql-04fbe0e4516d26de9420637f6fc90041e574b4b0.zip
Changed order of statements and added an additiona MSVC safeguard to make ecpg
thread test cases work on Windows.
Diffstat (limited to 'src/interfaces/ecpg/test/thread')
-rw-r--r--src/interfaces/ecpg/test/thread/alloc.pgc10
-rw-r--r--src/interfaces/ecpg/test/thread/descriptor.pgc2
-rw-r--r--src/interfaces/ecpg/test/thread/prep.pgc10
-rw-r--r--src/interfaces/ecpg/test/thread/thread.pgc10
-rw-r--r--src/interfaces/ecpg/test/thread/thread_implicit.pgc10
5 files changed, 26 insertions, 16 deletions
diff --git a/src/interfaces/ecpg/test/thread/alloc.pgc b/src/interfaces/ecpg/test/thread/alloc.pgc
index 8e6d042d891..b13bcb860b2 100644
--- a/src/interfaces/ecpg/test/thread/alloc.pgc
+++ b/src/interfaces/ecpg/test/thread/alloc.pgc
@@ -36,16 +36,18 @@ static void* fn(void* arg)
{
int i;
-#ifdef WIN32
- _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
-#endif
-
EXEC SQL BEGIN DECLARE SECTION;
int value;
char name[100];
char **r = NULL;
EXEC SQL END DECLARE SECTION;
+#ifdef WIN32
+#ifdef _MSC_VER /* requires MSVC */
+ _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
+#endif
+#endif
+
value = (long)arg;
sprintf(name, "Connection: %d", value);
diff --git a/src/interfaces/ecpg/test/thread/descriptor.pgc b/src/interfaces/ecpg/test/thread/descriptor.pgc
index c88c05a8a5d..3f28c6d329a 100644
--- a/src/interfaces/ecpg/test/thread/descriptor.pgc
+++ b/src/interfaces/ecpg/test/thread/descriptor.pgc
@@ -26,8 +26,10 @@ static void* fn(void* arg)
int i;
#ifdef WIN32
+#ifdef _MSC_VER /* requires MSVC */
_configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
#endif
+#endif
for (i = 1; i <= REPEATS; ++i)
{
diff --git a/src/interfaces/ecpg/test/thread/prep.pgc b/src/interfaces/ecpg/test/thread/prep.pgc
index 1ec96767af9..3a2467c9abb 100644
--- a/src/interfaces/ecpg/test/thread/prep.pgc
+++ b/src/interfaces/ecpg/test/thread/prep.pgc
@@ -36,16 +36,18 @@ static void* fn(void* arg)
{
int i;
-#ifdef WIN32
- _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
-#endif
-
EXEC SQL BEGIN DECLARE SECTION;
int value;
char name[100];
char query[256] = "INSERT INTO T VALUES ( ? )";
EXEC SQL END DECLARE SECTION;
+#ifdef WIN32
+#ifdef _MSC_VER /* requires MSVC */
+ _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
+#endif
+#endif
+
value = (long)arg;
sprintf(name, "Connection: %d", value);
diff --git a/src/interfaces/ecpg/test/thread/thread.pgc b/src/interfaces/ecpg/test/thread/thread.pgc
index f08aacdee5f..c5fbe928d9f 100644
--- a/src/interfaces/ecpg/test/thread/thread.pgc
+++ b/src/interfaces/ecpg/test/thread/thread.pgc
@@ -99,15 +99,17 @@ void *test_thread(void *arg)
{
long threadnum = (long)arg;
-#ifdef WIN32
- _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
-#endif
-
EXEC SQL BEGIN DECLARE SECTION;
int l_i;
char l_connection[128];
EXEC SQL END DECLARE SECTION;
+#ifdef WIN32
+#ifdef _MSC_VER /* requires MSVC */
+ _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
+#endif
+#endif
+
/* build up connection name, and connect to database */
#ifndef _MSC_VER
snprintf(l_connection, sizeof(l_connection), "thread_%03ld", threadnum);
diff --git a/src/interfaces/ecpg/test/thread/thread_implicit.pgc b/src/interfaces/ecpg/test/thread/thread_implicit.pgc
index aab758ed92c..d65f17c0736 100644
--- a/src/interfaces/ecpg/test/thread/thread_implicit.pgc
+++ b/src/interfaces/ecpg/test/thread/thread_implicit.pgc
@@ -100,15 +100,17 @@ void *test_thread(void *arg)
{
long threadnum = (long)arg;
-#ifdef WIN32
- _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
-#endif
-
EXEC SQL BEGIN DECLARE SECTION;
int l_i;
char l_connection[128];
EXEC SQL END DECLARE SECTION;
+#ifdef WIN32
+#ifdef _MSC_VER /* requires MSVC */
+ _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
+#endif
+#endif
+
/* build up connection name, and connect to database */
#ifndef _MSC_VER
snprintf(l_connection, sizeof(l_connection), "thread_%03ld", threadnum);