From c5658a0764d5ac5ea8c2c11d27c62d5472234227 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Fri, 24 Feb 2017 16:45:32 -0500
Subject: [PATCH] Suppress compiler warnings in ecpg test on newer Windows
 toolchains.

nan_test.pgc supposed that it could unconditionally #define isnan()
and isinf() on WIN32.  This was evidently copied at some point from
src/include/port/win32.h, but nowadays there's a test on _MSC_VER
there.  Make nan_test.pgc look the same.

Per buildfarm warnings.  There's no evidence this produces anything
worse than a warning, and besides it's only a test case, so I don't
feel a need to back-patch.
---
 .../ecpg/test/expected/pgtypeslib-nan_test.c  | 102 ++---
 .../test/expected/pgtypeslib-nan_test.stderr  | 354 +++++++++---------
 .../ecpg/test/pgtypeslib/nan_test.pgc         |   2 +
 3 files changed, 231 insertions(+), 227 deletions(-)

diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c b/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c
index a56513aa8ac..ecd23431177 100644
--- a/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c
+++ b/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c
@@ -26,8 +26,10 @@
 
 
 #ifdef WIN32
+#if (_MSC_VER < 1800)
 #define isinf(x) ((_fpclass(x) == _FPCLASS_PINF) || (_fpclass(x) == _FPCLASS_NINF))
 #define isnan(x) _isnan(x)
+#endif
 #endif   /* WIN32 */
 
 int
@@ -39,54 +41,54 @@ main(void)
 		
 		
 	
-#line 19 "nan_test.pgc"
+#line 21 "nan_test.pgc"
  int id ;
  
-#line 20 "nan_test.pgc"
+#line 22 "nan_test.pgc"
  double d ;
  
-#line 21 "nan_test.pgc"
+#line 23 "nan_test.pgc"
  numeric * num ;
  
-#line 22 "nan_test.pgc"
+#line 24 "nan_test.pgc"
  char val [ 16 ] ;
 /* exec sql end declare section */
-#line 23 "nan_test.pgc"
+#line 25 "nan_test.pgc"
 
 
 	ECPGdebug(1, stderr);
 	/* exec sql whenever sqlerror  do sqlprint ( ) ; */
-#line 26 "nan_test.pgc"
+#line 28 "nan_test.pgc"
 
 
 	{ ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); 
-#line 28 "nan_test.pgc"
+#line 30 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 28 "nan_test.pgc"
+#line 30 "nan_test.pgc"
 
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table nantest1 ( id int4 , d float8 )", ECPGt_EOIT, ECPGt_EORT);
-#line 30 "nan_test.pgc"
+#line 32 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 30 "nan_test.pgc"
+#line 32 "nan_test.pgc"
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into nantest1 ( id , d ) values ( 1 , 'nan' :: float8 ) , ( 2 , 'infinity' :: float8 ) , ( 3 , '-infinity' :: float8 )", ECPGt_EOIT, ECPGt_EORT);
-#line 31 "nan_test.pgc"
+#line 33 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 31 "nan_test.pgc"
+#line 33 "nan_test.pgc"
 
 
 	/* declare cur cursor for select id , d , d from nantest1 */
-#line 33 "nan_test.pgc"
+#line 35 "nan_test.pgc"
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur cursor for select id , d , d from nantest1", ECPGt_EOIT, ECPGt_EORT);
-#line 34 "nan_test.pgc"
+#line 36 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 34 "nan_test.pgc"
+#line 36 "nan_test.pgc"
 
 	while (1)
 	{
@@ -97,10 +99,10 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_char,(val),(long)16,(long)1,(16)*sizeof(char), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 37 "nan_test.pgc"
+#line 39 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 37 "nan_test.pgc"
+#line 39 "nan_test.pgc"
 
 		if (sqlca.sqlcode)
 			break;
@@ -114,34 +116,34 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_double,&(d),(long)1,(long)1,sizeof(double), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 45 "nan_test.pgc"
+#line 47 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 45 "nan_test.pgc"
+#line 47 "nan_test.pgc"
 
 		{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into nantest1 ( id , d ) values ( $1  + 6 , $2  )", 
 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_char,(val),(long)16,(long)1,(16)*sizeof(char), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 46 "nan_test.pgc"
+#line 48 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 46 "nan_test.pgc"
+#line 48 "nan_test.pgc"
 
 	}
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur", ECPGt_EOIT, ECPGt_EORT);
-#line 48 "nan_test.pgc"
+#line 50 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 48 "nan_test.pgc"
+#line 50 "nan_test.pgc"
 
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur cursor for select id , d , d from nantest1", ECPGt_EOIT, ECPGt_EORT);
-#line 50 "nan_test.pgc"
+#line 52 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 50 "nan_test.pgc"
+#line 52 "nan_test.pgc"
 
 	while (1)
 	{
@@ -152,10 +154,10 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_char,(val),(long)16,(long)1,(16)*sizeof(char), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 53 "nan_test.pgc"
+#line 55 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 53 "nan_test.pgc"
+#line 55 "nan_test.pgc"
 
 		if (sqlca.sqlcode)
 			break;
@@ -165,25 +167,25 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
 			printf("%d  NaN '%s'\n", id, val);
 	}
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur", ECPGt_EOIT, ECPGt_EORT);
-#line 61 "nan_test.pgc"
+#line 63 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 61 "nan_test.pgc"
+#line 63 "nan_test.pgc"
 
 
 	num = PGTYPESnumeric_new();
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table nantest2 ( id int4 , d numeric )", ECPGt_EOIT, ECPGt_EORT);
-#line 65 "nan_test.pgc"
+#line 67 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 65 "nan_test.pgc"
+#line 67 "nan_test.pgc"
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into nantest2 ( id , d ) values ( 4 , 'nan' :: numeric )", ECPGt_EOIT, ECPGt_EORT);
-#line 66 "nan_test.pgc"
+#line 68 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 66 "nan_test.pgc"
+#line 68 "nan_test.pgc"
 
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select id , d , d from nantest2 where id = 4", ECPGt_EOIT, 
@@ -193,10 +195,10 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_char,(val),(long)16,(long)1,(16)*sizeof(char), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 68 "nan_test.pgc"
+#line 70 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 68 "nan_test.pgc"
+#line 70 "nan_test.pgc"
 
 
 	printf("%d %s '%s'\n", id, (num->sign == NUMERIC_NAN ? "NaN" : "not NaN"), val);
@@ -204,28 +206,28 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into nantest2 ( id , d ) values ( 5 , $1  )", 
 	ECPGt_numeric,&(num),(long)1,(long)0,sizeof(numeric), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 72 "nan_test.pgc"
+#line 74 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 72 "nan_test.pgc"
+#line 74 "nan_test.pgc"
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into nantest2 ( id , d ) values ( 6 , $1  )", 
 	ECPGt_char,(val),(long)16,(long)1,(16)*sizeof(char), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 73 "nan_test.pgc"
+#line 75 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 73 "nan_test.pgc"
+#line 75 "nan_test.pgc"
 
 
 	/* declare cur1 cursor for select id , d , d from nantest2 */
-#line 75 "nan_test.pgc"
+#line 77 "nan_test.pgc"
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur1 cursor for select id , d , d from nantest2", ECPGt_EOIT, ECPGt_EORT);
-#line 76 "nan_test.pgc"
+#line 78 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 76 "nan_test.pgc"
+#line 78 "nan_test.pgc"
 
 	while (1)
 	{
@@ -236,35 +238,35 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_char,(val),(long)16,(long)1,(16)*sizeof(char), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 79 "nan_test.pgc"
+#line 81 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 79 "nan_test.pgc"
+#line 81 "nan_test.pgc"
 
 		if (sqlca.sqlcode)
 			break;
 		printf("%d %s '%s'\n", id, (num->sign == NUMERIC_NAN ? "NaN" : "not NaN"), val);
 	}
 	{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur1", ECPGt_EOIT, ECPGt_EORT);
-#line 84 "nan_test.pgc"
+#line 86 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 84 "nan_test.pgc"
+#line 86 "nan_test.pgc"
 
 
 	PGTYPESnumeric_free(num);
 
 	{ ECPGtrans(__LINE__, NULL, "rollback");
-#line 88 "nan_test.pgc"
+#line 90 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 88 "nan_test.pgc"
+#line 90 "nan_test.pgc"
 
 	{ ECPGdisconnect(__LINE__, "CURRENT");
-#line 89 "nan_test.pgc"
+#line 91 "nan_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint ( );}
-#line 89 "nan_test.pgc"
+#line 91 "nan_test.pgc"
 
 
 	return (0);
diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stderr b/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stderr
index 16063e44ddc..75a9ffb1034 100644
--- a/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stderr
+++ b/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stderr
@@ -2,359 +2,359 @@
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ECPGconnect: opening database ecpg1_regression on <DEFAULT> port <DEFAULT>  
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 30: query: create table nantest1 ( id int4 , d float8 ); with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 32: query: create table nantest1 ( id int4 , d float8 ); with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 30: using PQexec
+[NO_PID]: ecpg_execute on line 32: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 30: OK: CREATE TABLE
+[NO_PID]: ecpg_process_output on line 32: OK: CREATE TABLE
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 31: query: insert into nantest1 ( id , d ) values ( 1 , 'nan' :: float8 ) , ( 2 , 'infinity' :: float8 ) , ( 3 , '-infinity' :: float8 ); with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 33: query: insert into nantest1 ( id , d ) values ( 1 , 'nan' :: float8 ) , ( 2 , 'infinity' :: float8 ) , ( 3 , '-infinity' :: float8 ); with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 31: using PQexec
+[NO_PID]: ecpg_execute on line 33: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 31: OK: INSERT 0 3
+[NO_PID]: ecpg_process_output on line 33: OK: INSERT 0 3
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 34: query: declare cur cursor for select id , d , d from nantest1; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 36: query: declare cur cursor for select id , d , d from nantest1; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 34: using PQexec
+[NO_PID]: ecpg_execute on line 36: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 34: OK: DECLARE CURSOR
+[NO_PID]: ecpg_process_output on line 36: OK: DECLARE CURSOR
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 37: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 39: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 37: using PQexec
+[NO_PID]: ecpg_execute on line 39: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 37: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 39: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 37: RESULT: 1 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 39: RESULT: 1 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 37: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 39: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 37: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 39: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 45: query: insert into nantest1 ( id , d ) values ( $1  + 3 , $2  ); with 2 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 47: query: insert into nantest1 ( id , d ) values ( $1  + 3 , $2  ); with 2 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 45: using PQexecParams
+[NO_PID]: ecpg_execute on line 47: using PQexecParams
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 45: parameter 1 = 1
+[NO_PID]: ecpg_free_params on line 47: parameter 1 = 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 45: parameter 2 = NaN
+[NO_PID]: ecpg_free_params on line 47: parameter 2 = NaN
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 45: OK: INSERT 0 1
+[NO_PID]: ecpg_process_output on line 47: OK: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 46: query: insert into nantest1 ( id , d ) values ( $1  + 6 , $2  ); with 2 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 48: query: insert into nantest1 ( id , d ) values ( $1  + 6 , $2  ); with 2 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 46: using PQexecParams
+[NO_PID]: ecpg_execute on line 48: using PQexecParams
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 46: parameter 1 = 1
+[NO_PID]: ecpg_free_params on line 48: parameter 1 = 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 46: parameter 2 = NaN
+[NO_PID]: ecpg_free_params on line 48: parameter 2 = NaN
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 46: OK: INSERT 0 1
+[NO_PID]: ecpg_process_output on line 48: OK: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 37: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 39: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 37: using PQexec
+[NO_PID]: ecpg_execute on line 39: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 37: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 39: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 37: RESULT: 2 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 39: RESULT: 2 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 37: RESULT: Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 39: RESULT: Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 37: RESULT: Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 39: RESULT: Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 45: query: insert into nantest1 ( id , d ) values ( $1  + 3 , $2  ); with 2 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 47: query: insert into nantest1 ( id , d ) values ( $1  + 3 , $2  ); with 2 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 45: using PQexecParams
+[NO_PID]: ecpg_execute on line 47: using PQexecParams
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 45: parameter 1 = 2
+[NO_PID]: ecpg_free_params on line 47: parameter 1 = 2
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 45: parameter 2 = Infinity
+[NO_PID]: ecpg_free_params on line 47: parameter 2 = Infinity
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 45: OK: INSERT 0 1
+[NO_PID]: ecpg_process_output on line 47: OK: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 46: query: insert into nantest1 ( id , d ) values ( $1  + 6 , $2  ); with 2 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 48: query: insert into nantest1 ( id , d ) values ( $1  + 6 , $2  ); with 2 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 46: using PQexecParams
+[NO_PID]: ecpg_execute on line 48: using PQexecParams
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 46: parameter 1 = 2
+[NO_PID]: ecpg_free_params on line 48: parameter 1 = 2
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 46: parameter 2 = Infinity
+[NO_PID]: ecpg_free_params on line 48: parameter 2 = Infinity
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 46: OK: INSERT 0 1
+[NO_PID]: ecpg_process_output on line 48: OK: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 37: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 39: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 37: using PQexec
+[NO_PID]: ecpg_execute on line 39: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 37: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 39: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 37: RESULT: 3 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 39: RESULT: 3 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 37: RESULT: -Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 39: RESULT: -Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 37: RESULT: -Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 39: RESULT: -Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 45: query: insert into nantest1 ( id , d ) values ( $1  + 3 , $2  ); with 2 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 47: query: insert into nantest1 ( id , d ) values ( $1  + 3 , $2  ); with 2 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 45: using PQexecParams
+[NO_PID]: ecpg_execute on line 47: using PQexecParams
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 45: parameter 1 = 3
+[NO_PID]: ecpg_free_params on line 47: parameter 1 = 3
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 45: parameter 2 = -Infinity
+[NO_PID]: ecpg_free_params on line 47: parameter 2 = -Infinity
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 45: OK: INSERT 0 1
+[NO_PID]: ecpg_process_output on line 47: OK: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 46: query: insert into nantest1 ( id , d ) values ( $1  + 6 , $2  ); with 2 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 48: query: insert into nantest1 ( id , d ) values ( $1  + 6 , $2  ); with 2 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 46: using PQexecParams
+[NO_PID]: ecpg_execute on line 48: using PQexecParams
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 46: parameter 1 = 3
+[NO_PID]: ecpg_free_params on line 48: parameter 1 = 3
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 46: parameter 2 = -Infinity
+[NO_PID]: ecpg_free_params on line 48: parameter 2 = -Infinity
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 46: OK: INSERT 0 1
+[NO_PID]: ecpg_process_output on line 48: OK: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 37: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 39: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 37: using PQexec
+[NO_PID]: ecpg_execute on line 39: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 37: correctly got 0 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 39: correctly got 0 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: raising sqlcode 100 on line 37: no data found on line 37
+[NO_PID]: raising sqlcode 100 on line 39: no data found on line 39
 [NO_PID]: sqlca: code: 100, state: 02000
-[NO_PID]: ecpg_execute on line 48: query: close cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 50: query: close cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 48: using PQexec
+[NO_PID]: ecpg_execute on line 50: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 48: OK: CLOSE CURSOR
+[NO_PID]: ecpg_process_output on line 50: OK: CLOSE CURSOR
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 50: query: declare cur cursor for select id , d , d from nantest1; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 52: query: declare cur cursor for select id , d , d from nantest1; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 50: using PQexec
+[NO_PID]: ecpg_execute on line 52: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 50: OK: DECLARE CURSOR
+[NO_PID]: ecpg_process_output on line 52: OK: DECLARE CURSOR
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 55: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: using PQexec
+[NO_PID]: ecpg_execute on line 55: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 53: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 55: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: 1 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: 1 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 55: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: using PQexec
+[NO_PID]: ecpg_execute on line 55: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 53: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 55: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: 2 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: 2 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 55: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: using PQexec
+[NO_PID]: ecpg_execute on line 55: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 53: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 55: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: 3 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: 3 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: -Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: -Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: -Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: -Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 55: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: using PQexec
+[NO_PID]: ecpg_execute on line 55: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 53: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 55: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: 4 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: 4 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 55: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: using PQexec
+[NO_PID]: ecpg_execute on line 55: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 53: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 55: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: 7 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: 7 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 55: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: using PQexec
+[NO_PID]: ecpg_execute on line 55: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 53: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 55: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: 5 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: 5 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 55: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: using PQexec
+[NO_PID]: ecpg_execute on line 55: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 53: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 55: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: 8 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: 8 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 55: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: using PQexec
+[NO_PID]: ecpg_execute on line 55: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 53: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 55: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: 6 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: 6 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: -Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: -Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: -Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: -Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 55: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: using PQexec
+[NO_PID]: ecpg_execute on line 55: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 53: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 55: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: 9 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: 9 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: -Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: -Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 53: RESULT: -Infinity offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 55: RESULT: -Infinity offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 55: query: fetch from cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 53: using PQexec
+[NO_PID]: ecpg_execute on line 55: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 53: correctly got 0 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 55: correctly got 0 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: raising sqlcode 100 on line 53: no data found on line 53
+[NO_PID]: raising sqlcode 100 on line 55: no data found on line 55
 [NO_PID]: sqlca: code: 100, state: 02000
-[NO_PID]: ecpg_execute on line 61: query: close cur; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 63: query: close cur; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 61: using PQexec
+[NO_PID]: ecpg_execute on line 63: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 61: OK: CLOSE CURSOR
+[NO_PID]: ecpg_process_output on line 63: OK: CLOSE CURSOR
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 65: query: create table nantest2 ( id int4 , d numeric ); with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 67: query: create table nantest2 ( id int4 , d numeric ); with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 65: using PQexec
+[NO_PID]: ecpg_execute on line 67: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 65: OK: CREATE TABLE
+[NO_PID]: ecpg_process_output on line 67: OK: CREATE TABLE
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 66: query: insert into nantest2 ( id , d ) values ( 4 , 'nan' :: numeric ); with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 68: query: insert into nantest2 ( id , d ) values ( 4 , 'nan' :: numeric ); with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 66: using PQexec
+[NO_PID]: ecpg_execute on line 68: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 66: OK: INSERT 0 1
+[NO_PID]: ecpg_process_output on line 68: OK: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 68: query: select id , d , d from nantest2 where id = 4; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 70: query: select id , d , d from nantest2 where id = 4; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 68: using PQexec
+[NO_PID]: ecpg_execute on line 70: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 68: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 70: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 68: RESULT: 4 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 70: RESULT: 4 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 68: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 70: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 68: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 70: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 72: query: insert into nantest2 ( id , d ) values ( 5 , $1  ); with 1 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 74: query: insert into nantest2 ( id , d ) values ( 5 , $1  ); with 1 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 72: using PQexecParams
+[NO_PID]: ecpg_execute on line 74: using PQexecParams
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 72: parameter 1 = NaN
+[NO_PID]: ecpg_free_params on line 74: parameter 1 = NaN
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 72: OK: INSERT 0 1
+[NO_PID]: ecpg_process_output on line 74: OK: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 73: query: insert into nantest2 ( id , d ) values ( 6 , $1  ); with 1 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 75: query: insert into nantest2 ( id , d ) values ( 6 , $1  ); with 1 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 73: using PQexecParams
+[NO_PID]: ecpg_execute on line 75: using PQexecParams
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_free_params on line 73: parameter 1 = NaN
+[NO_PID]: ecpg_free_params on line 75: parameter 1 = NaN
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 73: OK: INSERT 0 1
+[NO_PID]: ecpg_process_output on line 75: OK: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 76: query: declare cur1 cursor for select id , d , d from nantest2; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 78: query: declare cur1 cursor for select id , d , d from nantest2; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 76: using PQexec
+[NO_PID]: ecpg_execute on line 78: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 76: OK: DECLARE CURSOR
+[NO_PID]: ecpg_process_output on line 78: OK: DECLARE CURSOR
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 79: query: fetch from cur1; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 81: query: fetch from cur1; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 79: using PQexec
+[NO_PID]: ecpg_execute on line 81: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 79: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 81: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 79: RESULT: 4 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 81: RESULT: 4 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 79: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 81: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 79: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 81: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 79: query: fetch from cur1; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 81: query: fetch from cur1; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 79: using PQexec
+[NO_PID]: ecpg_execute on line 81: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 79: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 81: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 79: RESULT: 5 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 81: RESULT: 5 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 79: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 81: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 79: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 81: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 79: query: fetch from cur1; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 81: query: fetch from cur1; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 79: using PQexec
+[NO_PID]: ecpg_execute on line 81: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 79: correctly got 1 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 81: correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 79: RESULT: 6 offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 81: RESULT: 6 offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 79: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 81: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 79: RESULT: NaN offset: -1; array: no
+[NO_PID]: ecpg_get_data on line 81: RESULT: NaN offset: -1; array: no
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 79: query: fetch from cur1; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 81: query: fetch from cur1; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 79: using PQexec
+[NO_PID]: ecpg_execute on line 81: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 79: correctly got 0 tuples with 3 fields
+[NO_PID]: ecpg_process_output on line 81: correctly got 0 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: raising sqlcode 100 on line 79: no data found on line 79
+[NO_PID]: raising sqlcode 100 on line 81: no data found on line 81
 [NO_PID]: sqlca: code: 100, state: 02000
-[NO_PID]: ecpg_execute on line 84: query: close cur1; with 0 parameter(s) on connection ecpg1_regression
+[NO_PID]: ecpg_execute on line 86: query: close cur1; with 0 parameter(s) on connection ecpg1_regression
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 84: using PQexec
+[NO_PID]: ecpg_execute on line 86: using PQexec
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 84: OK: CLOSE CURSOR
+[NO_PID]: ecpg_process_output on line 86: OK: CLOSE CURSOR
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGtrans on line 88: action "rollback"; connection "ecpg1_regression"
+[NO_PID]: ECPGtrans on line 90: action "rollback"; connection "ecpg1_regression"
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ecpg_finish: connection ecpg1_regression closed
 [NO_PID]: sqlca: code: 0, state: 00000
diff --git a/src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc b/src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc
index a5cbe296a97..3b5781632e8 100644
--- a/src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc
+++ b/src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc
@@ -8,8 +8,10 @@
 exec sql include ../regression;
 
 #ifdef WIN32
+#if (_MSC_VER < 1800)
 #define isinf(x) ((_fpclass(x) == _FPCLASS_PINF) || (_fpclass(x) == _FPCLASS_NINF))
 #define isnan(x) _isnan(x)
+#endif
 #endif   /* WIN32 */
 
 int
-- 
GitLab