Fix incorrect results for numeric data passed through an ECPG SQLDA.

Numeric values with leading zeroes were incorrectly copied into a
SQLDA (SQL Descriptor Area), leading to wrong results in ECPG programs.

Report and patch by Daisuke Higuchi.  Back-patch to all supported
versions.

Discussion: https://postgr.es/m/1803D792815FC24D871C00D17AE95905C71161@g01jpexmbkw24
This commit is contained in:
Tom Lane 2018-11-13 15:46:08 -05:00
parent 965a3d6be0
commit ecfd557956
5 changed files with 380 additions and 230 deletions

View File

@ -107,9 +107,12 @@ sqlda_common_total_size(const PGresult *res, int row, enum COMPAT_MODE compat, l
case ECPGt_numeric: case ECPGt_numeric:
/* /*
* Let's align both the numeric struct and the digits array to * We align the numeric struct to allow it to store a pointer,
* int Unfortunately we need to do double work here to compute * while the digits array is aligned to int (which seems like
* the size of the space needed for the numeric structure. * overkill, but let's keep compatibility here).
*
* Unfortunately we need to deconstruct the value twice to
* find out the digits array's size and then later fill it.
*/ */
ecpg_sqlda_align_add_size(offset, sizeof(NumericDigit *), sizeof(numeric), &offset, &next_offset); ecpg_sqlda_align_add_size(offset, sizeof(NumericDigit *), sizeof(numeric), &offset, &next_offset);
if (!PQgetisnull(res, row, i)) if (!PQgetisnull(res, row, i))
@ -120,8 +123,7 @@ sqlda_common_total_size(const PGresult *res, int row, enum COMPAT_MODE compat, l
num = PGTYPESnumeric_from_asc(val, NULL); num = PGTYPESnumeric_from_asc(val, NULL);
if (!num) if (!num)
break; break;
if (num->ndigits) ecpg_sqlda_align_add_size(next_offset, sizeof(int), num->digits - num->buf + num->ndigits, &offset, &next_offset);
ecpg_sqlda_align_add_size(next_offset, sizeof(int), num->ndigits + 1, &offset, &next_offset);
PGTYPESnumeric_free(num); PGTYPESnumeric_free(num);
} }
break; break;
@ -345,14 +347,11 @@ ecpg_set_compat_sqlda(int lineno, struct sqlda_compat **_sqlda, const PGresult *
memcpy(sqlda->sqlvar[i].sqldata, num, sizeof(numeric)); memcpy(sqlda->sqlvar[i].sqldata, num, sizeof(numeric));
if (num->ndigits) ecpg_sqlda_align_add_size(next_offset, sizeof(int), num->digits - num->buf + num->ndigits, &offset, &next_offset);
{ memcpy((char *) sqlda + offset, num->buf, num->digits - num->buf + num->ndigits);
ecpg_sqlda_align_add_size(next_offset, sizeof(int), num->ndigits + 1, &offset, &next_offset);
memcpy((char *) sqlda + offset, num->buf, num->ndigits + 1);
((numeric *) sqlda->sqlvar[i].sqldata)->buf = (NumericDigit *) sqlda + offset; ((numeric *) sqlda->sqlvar[i].sqldata)->buf = (NumericDigit *) sqlda + offset;
((numeric *) sqlda->sqlvar[i].sqldata)->digits = (NumericDigit *) sqlda + offset + (num->digits - num->buf); ((numeric *) sqlda->sqlvar[i].sqldata)->digits = (NumericDigit *) sqlda + offset + (num->digits - num->buf);
}
PGTYPESnumeric_free(num); PGTYPESnumeric_free(num);
@ -534,14 +533,11 @@ ecpg_set_native_sqlda(int lineno, struct sqlda_struct **_sqlda, const PGresult *
memcpy(sqlda->sqlvar[i].sqldata, num, sizeof(numeric)); memcpy(sqlda->sqlvar[i].sqldata, num, sizeof(numeric));
if (num->ndigits) ecpg_sqlda_align_add_size(next_offset, sizeof(int), num->digits - num->buf + num->ndigits, &offset, &next_offset);
{ memcpy((char *) sqlda + offset, num->buf, num->digits - num->buf + num->ndigits);
ecpg_sqlda_align_add_size(next_offset, sizeof(int), num->ndigits + 1, &offset, &next_offset);
memcpy((char *) sqlda + offset, num->buf, num->ndigits + 1);
((numeric *) sqlda->sqlvar[i].sqldata)->buf = (NumericDigit *) sqlda + offset; ((numeric *) sqlda->sqlvar[i].sqldata)->buf = (NumericDigit *) sqlda + offset;
((numeric *) sqlda->sqlvar[i].sqldata)->digits = (NumericDigit *) sqlda + offset + (num->digits - num->buf); ((numeric *) sqlda->sqlvar[i].sqldata)->digits = (NumericDigit *) sqlda + offset + (num->digits - num->buf);
}
PGTYPESnumeric_free(num); PGTYPESnumeric_free(num);

View File

@ -228,19 +228,19 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "insert"); strcpy(msg, "insert");
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 values ( 1 , 'a' , 1.0 , 1 , 'a' , 1111111111111111111 ) , ( 2 , null , null , null , null , null ) , ( 4 , 'd' , 4.0 , 4 , 'd' , 4444444444444444444 )", ECPGt_EOIT, ECPGt_EORT); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 values ( 1 , 'a' , 1.0 , 1 , 'a' , 1111111111111111111 ) , ( 2 , null , null , null , null , null ) , ( 3 , 'c' , 0.0 , 3 , 'c' , 3333333333333333333 ) , ( 4 , 'd' , 4.0 , 4 , 'd' , 4444444444444444444 ) , ( 5 , 'e' , 0.001234 , 5 , 'e' , 5555555555555555555 )", ECPGt_EOIT, ECPGt_EORT);
#line 97 "sqlda.pgc" #line 99 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 97 "sqlda.pgc" #line 99 "sqlda.pgc"
strcpy(msg, "commit"); strcpy(msg, "commit");
{ ECPGtrans(__LINE__, NULL, "commit"); { ECPGtrans(__LINE__, NULL, "commit");
#line 100 "sqlda.pgc" #line 102 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 100 "sqlda.pgc" #line 102 "sqlda.pgc"
/* SQLDA test for getting all records from a table */ /* SQLDA test for getting all records from a table */
@ -249,29 +249,29 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "prepare"); strcpy(msg, "prepare");
{ ECPGprepare(__LINE__, NULL, 0, "st_id1", stmt1); { ECPGprepare(__LINE__, NULL, 0, "st_id1", stmt1);
#line 107 "sqlda.pgc" #line 109 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 107 "sqlda.pgc" #line 109 "sqlda.pgc"
strcpy(msg, "declare"); strcpy(msg, "declare");
/* declare mycur1 cursor for $1 */ /* declare mycur1 cursor for $1 */
#line 110 "sqlda.pgc" #line 112 "sqlda.pgc"
strcpy(msg, "open"); strcpy(msg, "open");
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur1 cursor for $1", { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur1 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 113 "sqlda.pgc" #line 115 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 113 "sqlda.pgc" #line 115 "sqlda.pgc"
/* exec sql whenever not found break ; */ /* exec sql whenever not found break ; */
#line 115 "sqlda.pgc" #line 117 "sqlda.pgc"
rec = 0; rec = 0;
@ -281,13 +281,13 @@ if (sqlca.sqlcode < 0) exit (1);}
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 from mycur1", ECPGt_EOIT, { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 from mycur1", ECPGt_EOIT,
ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 121 "sqlda.pgc" #line 123 "sqlda.pgc"
if (sqlca.sqlcode == ECPG_NOT_FOUND) break; if (sqlca.sqlcode == ECPG_NOT_FOUND) break;
#line 121 "sqlda.pgc" #line 123 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 121 "sqlda.pgc" #line 123 "sqlda.pgc"
printf("FETCH RECORD %d\n", ++rec); printf("FETCH RECORD %d\n", ++rec);
@ -295,23 +295,23 @@ if (sqlca.sqlcode < 0) exit (1);}
} }
/* exec sql whenever not found continue ; */ /* exec sql whenever not found continue ; */
#line 127 "sqlda.pgc" #line 129 "sqlda.pgc"
strcpy(msg, "close"); strcpy(msg, "close");
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur1", ECPGt_EOIT, ECPGt_EORT); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur1", ECPGt_EOIT, ECPGt_EORT);
#line 130 "sqlda.pgc" #line 132 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 130 "sqlda.pgc" #line 132 "sqlda.pgc"
strcpy(msg, "deallocate"); strcpy(msg, "deallocate");
{ ECPGdeallocate(__LINE__, 0, NULL, "st_id1"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id1");
#line 133 "sqlda.pgc" #line 135 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 133 "sqlda.pgc" #line 135 "sqlda.pgc"
free(outp_sqlda); free(outp_sqlda);
@ -322,35 +322,35 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "prepare"); strcpy(msg, "prepare");
{ ECPGprepare(__LINE__, NULL, 0, "st_id2", stmt1); { ECPGprepare(__LINE__, NULL, 0, "st_id2", stmt1);
#line 142 "sqlda.pgc" #line 144 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 142 "sqlda.pgc" #line 144 "sqlda.pgc"
strcpy(msg, "declare"); strcpy(msg, "declare");
/* declare mycur2 cursor for $1 */ /* declare mycur2 cursor for $1 */
#line 145 "sqlda.pgc" #line 147 "sqlda.pgc"
strcpy(msg, "open"); strcpy(msg, "open");
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur2 cursor for $1", { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur2 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id2", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id2", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 148 "sqlda.pgc" #line 150 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 148 "sqlda.pgc" #line 150 "sqlda.pgc"
strcpy(msg, "fetch"); strcpy(msg, "fetch");
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch all from mycur2", ECPGt_EOIT, { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch all from mycur2", ECPGt_EOIT,
ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 151 "sqlda.pgc" #line 153 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 151 "sqlda.pgc" #line 153 "sqlda.pgc"
outp_sqlda1 = outp_sqlda; outp_sqlda1 = outp_sqlda;
@ -368,18 +368,18 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "close"); strcpy(msg, "close");
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur2", ECPGt_EOIT, ECPGt_EORT); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur2", ECPGt_EOIT, ECPGt_EORT);
#line 167 "sqlda.pgc" #line 169 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 167 "sqlda.pgc" #line 169 "sqlda.pgc"
strcpy(msg, "deallocate"); strcpy(msg, "deallocate");
{ ECPGdeallocate(__LINE__, 0, NULL, "st_id2"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id2");
#line 170 "sqlda.pgc" #line 172 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 170 "sqlda.pgc" #line 172 "sqlda.pgc"
/* SQLDA test for getting one record using an input descriptor */ /* SQLDA test for getting one record using an input descriptor */
@ -403,10 +403,10 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "prepare"); strcpy(msg, "prepare");
{ ECPGprepare(__LINE__, NULL, 0, "st_id3", stmt2); { ECPGprepare(__LINE__, NULL, 0, "st_id3", stmt2);
#line 192 "sqlda.pgc" #line 194 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 192 "sqlda.pgc" #line 194 "sqlda.pgc"
strcpy(msg, "execute"); strcpy(msg, "execute");
@ -415,20 +415,20 @@ if (sqlca.sqlcode < 0) exit (1);}
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 195 "sqlda.pgc" #line 197 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 195 "sqlda.pgc" #line 197 "sqlda.pgc"
dump_sqlda(outp_sqlda); dump_sqlda(outp_sqlda);
strcpy(msg, "deallocate"); strcpy(msg, "deallocate");
{ ECPGdeallocate(__LINE__, 0, NULL, "st_id3"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id3");
#line 200 "sqlda.pgc" #line 202 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 200 "sqlda.pgc" #line 202 "sqlda.pgc"
free(inp_sqlda); free(inp_sqlda);
@ -439,10 +439,10 @@ if (sqlca.sqlcode < 0) exit (1);}
*/ */
{ ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , "con2", 0); { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , "con2", 0);
#line 209 "sqlda.pgc" #line 211 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 209 "sqlda.pgc" #line 211 "sqlda.pgc"
/* /*
@ -464,10 +464,10 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "prepare"); strcpy(msg, "prepare");
{ ECPGprepare(__LINE__, "con2", 0, "st_id4", stmt2); { ECPGprepare(__LINE__, "con2", 0, "st_id4", stmt2);
#line 229 "sqlda.pgc" #line 231 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 229 "sqlda.pgc" #line 231 "sqlda.pgc"
strcpy(msg, "execute"); strcpy(msg, "execute");
@ -476,28 +476,28 @@ if (sqlca.sqlcode < 0) exit (1);}
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 232 "sqlda.pgc" #line 234 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 232 "sqlda.pgc" #line 234 "sqlda.pgc"
dump_sqlda(outp_sqlda); dump_sqlda(outp_sqlda);
strcpy(msg, "commit"); strcpy(msg, "commit");
{ ECPGtrans(__LINE__, "con2", "commit"); { ECPGtrans(__LINE__, "con2", "commit");
#line 237 "sqlda.pgc" #line 239 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 237 "sqlda.pgc" #line 239 "sqlda.pgc"
strcpy(msg, "deallocate"); strcpy(msg, "deallocate");
{ ECPGdeallocate(__LINE__, 0, NULL, "st_id4"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id4");
#line 240 "sqlda.pgc" #line 242 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 240 "sqlda.pgc" #line 242 "sqlda.pgc"
free(inp_sqlda); free(inp_sqlda);
@ -505,36 +505,36 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "disconnect"); strcpy(msg, "disconnect");
{ ECPGdisconnect(__LINE__, "con2"); { ECPGdisconnect(__LINE__, "con2");
#line 246 "sqlda.pgc" #line 248 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 246 "sqlda.pgc" #line 248 "sqlda.pgc"
/* End test */ /* End test */
strcpy(msg, "drop"); strcpy(msg, "drop");
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT);
#line 251 "sqlda.pgc" #line 253 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 251 "sqlda.pgc" #line 253 "sqlda.pgc"
strcpy(msg, "commit"); strcpy(msg, "commit");
{ ECPGtrans(__LINE__, NULL, "commit"); { ECPGtrans(__LINE__, NULL, "commit");
#line 254 "sqlda.pgc" #line 256 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 254 "sqlda.pgc" #line 256 "sqlda.pgc"
strcpy(msg, "disconnect"); strcpy(msg, "disconnect");
{ ECPGdisconnect(__LINE__, "CURRENT"); { ECPGdisconnect(__LINE__, "CURRENT");
#line 257 "sqlda.pgc" #line 259 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);} if (sqlca.sqlcode < 0) exit (1);}
#line 257 "sqlda.pgc" #line 259 "sqlda.pgc"
return 0; return 0;

View File

@ -14,323 +14,447 @@
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 84: OK: CREATE TABLE [NO_PID]: ecpg_process_output on line 84: OK: CREATE TABLE
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 94: query: insert into t1 values ( 1 , 'a' , 1.0 , 1 , 'a' , 1111111111111111111 ) , ( 2 , null , null , null , null , null ) , ( 4 , 'd' , 4.0 , 4 , 'd' , 4444444444444444444 ); with 0 parameter(s) on connection regress1 [NO_PID]: ecpg_execute on line 94: query: insert into t1 values ( 1 , 'a' , 1.0 , 1 , 'a' , 1111111111111111111 ) , ( 2 , null , null , null , null , null ) , ( 3 , 'c' , 0.0 , 3 , 'c' , 3333333333333333333 ) , ( 4 , 'd' , 4.0 , 4 , 'd' , 4444444444444444444 ) , ( 5 , 'e' , 0.001234 , 5 , 'e' , 5555555555555555555 ); with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 94: using PQexec [NO_PID]: ecpg_execute on line 94: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 94: OK: INSERT 0 3 [NO_PID]: ecpg_process_output on line 94: OK: INSERT 0 5
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGtrans on line 100: action "commit"; connection "regress1" [NO_PID]: ECPGtrans on line 102: action "commit"; connection "regress1"
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: prepare_common on line 107: name st_id1; query: "SELECT * FROM t1" [NO_PID]: prepare_common on line 109: name st_id1; query: "SELECT * FROM t1"
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 113: query: declare mycur1 cursor for SELECT * FROM t1; with 0 parameter(s) on connection regress1 [NO_PID]: ecpg_execute on line 115: query: declare mycur1 cursor for SELECT * FROM t1; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 113: using PQexec [NO_PID]: ecpg_execute on line 115: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 113: OK: DECLARE CURSOR [NO_PID]: ecpg_process_output on line 115: OK: DECLARE CURSOR
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 121: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: ecpg_execute on line 123: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 121: using PQexec [NO_PID]: ecpg_execute on line 123: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 121: correctly got 1 tuples with 6 fields [NO_PID]: ecpg_process_output on line 123: correctly got 1 tuples with 6 fields
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_build_native_sqlda on line 121 sqld = 6 [NO_PID]: ecpg_build_native_sqlda on line 123 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 121: new sqlda was built [NO_PID]: ecpg_process_output on line 123: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 0 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 121: RESULT: 1 offset: -1; array: no [NO_PID]: ecpg_get_data on line 123: RESULT: 1 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 1 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 1 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 121: RESULT: a offset: -1; array: no [NO_PID]: ecpg_get_data on line 123: RESULT: a offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 2 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 2 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 3 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 3 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 121: RESULT: 1 offset: -1; array: no [NO_PID]: ecpg_get_data on line 123: RESULT: 1 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 4 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 4 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 121: RESULT: a offset: -1; array: no [NO_PID]: ecpg_get_data on line 123: RESULT: a offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 5 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 5 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 121: RESULT: 1111111111111111111 offset: -1; array: no [NO_PID]: ecpg_get_data on line 123: RESULT: 1111111111111111111 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 121: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: ecpg_process_output on line 123: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 121: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: ecpg_execute on line 123: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 121: using PQexec [NO_PID]: ecpg_execute on line 123: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 121: correctly got 1 tuples with 6 fields [NO_PID]: ecpg_process_output on line 123: correctly got 1 tuples with 6 fields
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_build_native_sqlda on line 121 sqld = 6 [NO_PID]: ecpg_build_native_sqlda on line 123 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 121: new sqlda was built [NO_PID]: ecpg_process_output on line 123: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 0 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 121: RESULT: 2 offset: -1; array: no [NO_PID]: ecpg_get_data on line 123: RESULT: 2 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 1 IS NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 1 IS NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 2 IS NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 2 IS NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 3 IS NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 3 IS NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 4 IS NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 4 IS NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 5 IS NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 5 IS NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 121: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: ecpg_process_output on line 123: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 121: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: ecpg_execute on line 123: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 121: using PQexec [NO_PID]: ecpg_execute on line 123: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 121: correctly got 1 tuples with 6 fields [NO_PID]: ecpg_process_output on line 123: correctly got 1 tuples with 6 fields
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_build_native_sqlda on line 121 sqld = 6 [NO_PID]: ecpg_build_native_sqlda on line 123 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 121: new sqlda was built [NO_PID]: ecpg_process_output on line 123: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 0 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 121: RESULT: 4 offset: -1; array: no [NO_PID]: ecpg_get_data on line 123: RESULT: 3 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 1 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 1 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 121: RESULT: d offset: -1; array: no [NO_PID]: ecpg_get_data on line 123: RESULT: c offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 2 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 2 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 3 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 3 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 121: RESULT: 4 offset: -1; array: no [NO_PID]: ecpg_get_data on line 123: RESULT: 3 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 4 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 4 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 121: RESULT: d offset: -1; array: no [NO_PID]: ecpg_get_data on line 123: RESULT: c offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 121 row 0 col 5 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 5 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 121: RESULT: 4444444444444444444 offset: -1; array: no [NO_PID]: ecpg_get_data on line 123: RESULT: 3333333333333333333 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 121: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: ecpg_process_output on line 123: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 121: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: ecpg_execute on line 123: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 121: using PQexec [NO_PID]: ecpg_execute on line 123: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 121: correctly got 0 tuples with 6 fields [NO_PID]: ecpg_process_output on line 123: correctly got 1 tuples with 6 fields
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: raising sqlcode 100 on line 121: no data found on line 121 [NO_PID]: ecpg_build_native_sqlda on line 123 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 123: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 123: RESULT: 4 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 1 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 123: RESULT: d offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 2 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 3 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 123: RESULT: 4 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 4 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 123: RESULT: d offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 5 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 123: RESULT: 4444444444444444444 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 123: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 123: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 123: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 123: correctly got 1 tuples with 6 fields
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_build_native_sqlda on line 123 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 123: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 123: RESULT: 5 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 1 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 123: RESULT: e offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 2 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 3 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 123: RESULT: 5 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 4 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 123: RESULT: e offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 123 row 0 col 5 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 123: RESULT: 5555555555555555555 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 123: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 123: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 123: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 123: correctly got 0 tuples with 6 fields
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: raising sqlcode 100 on line 123: no data found on line 123
[NO_PID]: sqlca: code: 100, state: 02000 [NO_PID]: sqlca: code: 100, state: 02000
[NO_PID]: ecpg_execute on line 130: query: close mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: ecpg_execute on line 132: query: close mycur1; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 130: using PQexec [NO_PID]: ecpg_execute on line 132: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 130: OK: CLOSE CURSOR [NO_PID]: ecpg_process_output on line 132: OK: CLOSE CURSOR
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: deallocate_one on line 133: name st_id1 [NO_PID]: deallocate_one on line 135: name st_id1
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: prepare_common on line 142: name st_id2; query: "SELECT * FROM t1" [NO_PID]: prepare_common on line 144: name st_id2; query: "SELECT * FROM t1"
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 148: query: declare mycur2 cursor for SELECT * FROM t1; with 0 parameter(s) on connection regress1 [NO_PID]: ecpg_execute on line 150: query: declare mycur2 cursor for SELECT * FROM t1; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 148: using PQexec [NO_PID]: ecpg_execute on line 150: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 148: OK: DECLARE CURSOR [NO_PID]: ecpg_process_output on line 150: OK: DECLARE CURSOR
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 151: query: fetch all from mycur2; with 0 parameter(s) on connection regress1 [NO_PID]: ecpg_execute on line 153: query: fetch all from mycur2; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 151: using PQexec [NO_PID]: ecpg_execute on line 153: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 151: correctly got 3 tuples with 6 fields [NO_PID]: ecpg_process_output on line 153: correctly got 5 tuples with 6 fields
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_build_native_sqlda on line 151 sqld = 6 [NO_PID]: ecpg_build_native_sqlda on line 153 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 151: new sqlda was built [NO_PID]: ecpg_process_output on line 153: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 2 col 0 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 4 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 151: RESULT: 4 offset: -1; array: no [NO_PID]: ecpg_get_data on line 153: RESULT: 5 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 2 col 1 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 4 col 1 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 151: RESULT: d offset: -1; array: no [NO_PID]: ecpg_get_data on line 153: RESULT: e offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 2 col 2 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 4 col 2 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 2 col 3 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 4 col 3 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 151: RESULT: 4 offset: -1; array: no [NO_PID]: ecpg_get_data on line 153: RESULT: 5 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 2 col 4 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 4 col 4 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 151: RESULT: d offset: -1; array: no [NO_PID]: ecpg_get_data on line 153: RESULT: e offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 2 col 5 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 4 col 5 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 151: RESULT: 4444444444444444444 offset: -1; array: no [NO_PID]: ecpg_get_data on line 153: RESULT: 5555555555555555555 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 151: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: ecpg_process_output on line 153: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_build_native_sqlda on line 151 sqld = 6 [NO_PID]: ecpg_build_native_sqlda on line 153 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 151: new sqlda was built [NO_PID]: ecpg_process_output on line 153: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 1 col 0 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 3 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 151: RESULT: 2 offset: -1; array: no [NO_PID]: ecpg_get_data on line 153: RESULT: 4 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 1 col 1 IS NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 3 col 1 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 1 col 2 IS NULL [NO_PID]: ecpg_get_data on line 153: RESULT: d offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 1 col 3 IS NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 3 col 2 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 1 col 4 IS NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 3 col 3 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 1 col 5 IS NULL [NO_PID]: ecpg_get_data on line 153: RESULT: 4 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 151: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: ecpg_set_native_sqlda on line 153 row 3 col 4 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_build_native_sqlda on line 151 sqld = 6 [NO_PID]: ecpg_get_data on line 153: RESULT: d offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 151: new sqlda was built [NO_PID]: ecpg_set_native_sqlda on line 153 row 3 col 5 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 0 col 0 IS NOT NULL [NO_PID]: ecpg_get_data on line 153: RESULT: 4444444444444444444 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 151: RESULT: 1 offset: -1; array: no [NO_PID]: ecpg_process_output on line 153: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 0 col 1 IS NOT NULL [NO_PID]: ecpg_build_native_sqlda on line 153 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 151: RESULT: a offset: -1; array: no [NO_PID]: ecpg_process_output on line 153: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 0 col 2 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 2 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 0 col 3 IS NOT NULL [NO_PID]: ecpg_get_data on line 153: RESULT: 3 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 151: RESULT: 1 offset: -1; array: no [NO_PID]: ecpg_set_native_sqlda on line 153 row 2 col 1 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 0 col 4 IS NOT NULL [NO_PID]: ecpg_get_data on line 153: RESULT: c offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 151: RESULT: a offset: -1; array: no [NO_PID]: ecpg_set_native_sqlda on line 153 row 2 col 2 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 151 row 0 col 5 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 2 col 3 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 151: RESULT: 1111111111111111111 offset: -1; array: no [NO_PID]: ecpg_get_data on line 153: RESULT: 3 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 151: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: ecpg_set_native_sqlda on line 153 row 2 col 4 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 167: query: close mycur2; with 0 parameter(s) on connection regress1 [NO_PID]: ecpg_get_data on line 153: RESULT: c offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 167: using PQexec [NO_PID]: ecpg_set_native_sqlda on line 153 row 2 col 5 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 167: OK: CLOSE CURSOR [NO_PID]: ecpg_get_data on line 153: RESULT: 3333333333333333333 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: deallocate_one on line 170: name st_id2 [NO_PID]: ecpg_process_output on line 153: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: prepare_common on line 192: name st_id3; query: "SELECT * FROM t1 WHERE id = $1" [NO_PID]: ecpg_build_native_sqlda on line 153 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 195: query: SELECT * FROM t1 WHERE id = $1; with 1 parameter(s) on connection regress1 [NO_PID]: ecpg_process_output on line 153: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 195: using PQexecPrepared for "SELECT * FROM t1 WHERE id = $1" [NO_PID]: ecpg_set_native_sqlda on line 153 row 1 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_free_params on line 195: parameter 1 = 4 [NO_PID]: ecpg_get_data on line 153: RESULT: 2 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 195: correctly got 1 tuples with 6 fields [NO_PID]: ecpg_set_native_sqlda on line 153 row 1 col 1 IS NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_build_native_sqlda on line 195 sqld = 6 [NO_PID]: ecpg_set_native_sqlda on line 153 row 1 col 2 IS NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 195: new sqlda was built [NO_PID]: ecpg_set_native_sqlda on line 153 row 1 col 3 IS NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 195 row 0 col 0 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 1 col 4 IS NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 195: RESULT: 4 offset: -1; array: no [NO_PID]: ecpg_set_native_sqlda on line 153 row 1 col 5 IS NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 195 row 0 col 1 IS NOT NULL [NO_PID]: ecpg_process_output on line 153: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 195: RESULT: d offset: -1; array: no [NO_PID]: ecpg_build_native_sqlda on line 153 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 195 row 0 col 2 IS NOT NULL [NO_PID]: ecpg_process_output on line 153: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 195 row 0 col 3 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 0 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 195: RESULT: 4 offset: -1; array: no [NO_PID]: ecpg_get_data on line 153: RESULT: 1 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 195 row 0 col 4 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 0 col 1 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 195: RESULT: d offset: -1; array: no [NO_PID]: ecpg_get_data on line 153: RESULT: a offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 195 row 0 col 5 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 153 row 0 col 2 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 195: RESULT: 4444444444444444444 offset: -1; array: no [NO_PID]: ecpg_set_native_sqlda on line 153 row 0 col 3 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 195: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: ecpg_get_data on line 153: RESULT: 1 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: deallocate_one on line 200: name st_id3 [NO_PID]: ecpg_set_native_sqlda on line 153 row 0 col 4 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 153: RESULT: a offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 153 row 0 col 5 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 153: RESULT: 1111111111111111111 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 153: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 169: query: close mycur2; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 169: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 169: OK: CLOSE CURSOR
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: deallocate_one on line 172: name st_id2
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: prepare_common on line 194: name st_id3; query: "SELECT * FROM t1 WHERE id = $1"
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 197: query: SELECT * FROM t1 WHERE id = $1; with 1 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 197: using PQexecPrepared for "SELECT * FROM t1 WHERE id = $1"
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_free_params on line 197: parameter 1 = 4
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 197: correctly got 1 tuples with 6 fields
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_build_native_sqlda on line 197 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 197: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 197 row 0 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 197: RESULT: 4 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 197 row 0 col 1 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 197: RESULT: d offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 197 row 0 col 2 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 197 row 0 col 3 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 197: RESULT: 4 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 197 row 0 col 4 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 197: RESULT: d offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 197 row 0 col 5 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 197: RESULT: 4444444444444444444 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 197: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: deallocate_one on line 202: name st_id3
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGconnect: opening database ecpg1_regression on <DEFAULT> port <DEFAULT> [NO_PID]: ECPGconnect: opening database ecpg1_regression on <DEFAULT> port <DEFAULT>
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: prepare_common on line 229: name st_id4; query: "SELECT * FROM t1 WHERE id = $1" [NO_PID]: prepare_common on line 231: name st_id4; query: "SELECT * FROM t1 WHERE id = $1"
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 232: query: SELECT * FROM t1 WHERE id = $1; with 1 parameter(s) on connection con2 [NO_PID]: ecpg_execute on line 234: query: SELECT * FROM t1 WHERE id = $1; with 1 parameter(s) on connection con2
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 232: using PQexecPrepared for "SELECT * FROM t1 WHERE id = $1" [NO_PID]: ecpg_execute on line 234: using PQexecPrepared for "SELECT * FROM t1 WHERE id = $1"
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_free_params on line 232: parameter 1 = 4 [NO_PID]: ecpg_free_params on line 234: parameter 1 = 4
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 232: correctly got 1 tuples with 6 fields [NO_PID]: ecpg_process_output on line 234: correctly got 1 tuples with 6 fields
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_build_native_sqlda on line 232 sqld = 6 [NO_PID]: ecpg_build_native_sqlda on line 234 sqld = 6
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 232: new sqlda was built [NO_PID]: ecpg_process_output on line 234: new sqlda was built
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 232 row 0 col 0 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 234 row 0 col 0 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 232: RESULT: 4 offset: -1; array: no [NO_PID]: ecpg_get_data on line 234: RESULT: 4 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 232 row 0 col 1 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 234 row 0 col 1 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 232: RESULT: d offset: -1; array: no [NO_PID]: ecpg_get_data on line 234: RESULT: d offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 232 row 0 col 2 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 234 row 0 col 2 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 232 row 0 col 3 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 234 row 0 col 3 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 232: RESULT: 4 offset: -1; array: no [NO_PID]: ecpg_get_data on line 234: RESULT: 4 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 232 row 0 col 4 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 234 row 0 col 4 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 232: RESULT: d offset: -1; array: no [NO_PID]: ecpg_get_data on line 234: RESULT: d offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_set_native_sqlda on line 232 row 0 col 5 IS NOT NULL [NO_PID]: ecpg_set_native_sqlda on line 234 row 0 col 5 IS NOT NULL
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 232: RESULT: 4444444444444444444 offset: -1; array: no [NO_PID]: ecpg_get_data on line 234: RESULT: 4444444444444444444 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 232: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: ecpg_process_output on line 234: putting result (1 tuple 6 fields) into sqlda descriptor
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGtrans on line 237: action "commit"; connection "con2" [NO_PID]: ECPGtrans on line 239: action "commit"; connection "con2"
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: deallocate_one on line 240: name st_id4 [NO_PID]: deallocate_one on line 242: name st_id4
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_finish: connection con2 closed [NO_PID]: ecpg_finish: connection con2 closed
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 251: query: drop table t1; with 0 parameter(s) on connection regress1 [NO_PID]: ecpg_execute on line 253: query: drop table t1; with 0 parameter(s) on connection regress1
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 251: using PQexec [NO_PID]: ecpg_execute on line 253: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 251: OK: DROP TABLE [NO_PID]: ecpg_process_output on line 253: OK: DROP TABLE
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGtrans on line 254: action "commit"; connection "regress1" [NO_PID]: ECPGtrans on line 256: action "commit"; connection "regress1"
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_finish: connection regress1 closed [NO_PID]: ecpg_finish: connection regress1 closed
[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: sqlca: code: 0, state: 00000

View File

@ -13,12 +13,26 @@ name sqlda descriptor: 'd2' value NULL'
name sqlda descriptor: 'c' value NULL' name sqlda descriptor: 'c' value NULL'
name sqlda descriptor: 'big' value NULL' name sqlda descriptor: 'big' value NULL'
FETCH RECORD 3 FETCH RECORD 3
name sqlda descriptor: 'id' value 3
name sqlda descriptor: 't' value 'c'
name sqlda descriptor: 'd1' value NUMERIC '0.0'
name sqlda descriptor: 'd2' value 3.000000
name sqlda descriptor: 'c' value 'c '
name sqlda descriptor: 'big' value 3333333333333333333
FETCH RECORD 4
name sqlda descriptor: 'id' value 4 name sqlda descriptor: 'id' value 4
name sqlda descriptor: 't' value 'd' name sqlda descriptor: 't' value 'd'
name sqlda descriptor: 'd1' value NUMERIC '4.0' name sqlda descriptor: 'd1' value NUMERIC '4.0'
name sqlda descriptor: 'd2' value 4.000000 name sqlda descriptor: 'd2' value 4.000000
name sqlda descriptor: 'c' value 'd ' name sqlda descriptor: 'c' value 'd '
name sqlda descriptor: 'big' value 4444444444444444444 name sqlda descriptor: 'big' value 4444444444444444444
FETCH RECORD 5
name sqlda descriptor: 'id' value 5
name sqlda descriptor: 't' value 'e'
name sqlda descriptor: 'd1' value NUMERIC '0.001234'
name sqlda descriptor: 'd2' value 5.000000
name sqlda descriptor: 'c' value 'e '
name sqlda descriptor: 'big' value 5555555555555555555
FETCH RECORD 1 FETCH RECORD 1
name sqlda descriptor: 'id' value 1 name sqlda descriptor: 'id' value 1
name sqlda descriptor: 't' value 'a' name sqlda descriptor: 't' value 'a'
@ -34,12 +48,26 @@ name sqlda descriptor: 'd2' value NULL'
name sqlda descriptor: 'c' value NULL' name sqlda descriptor: 'c' value NULL'
name sqlda descriptor: 'big' value NULL' name sqlda descriptor: 'big' value NULL'
FETCH RECORD 3 FETCH RECORD 3
name sqlda descriptor: 'id' value 3
name sqlda descriptor: 't' value 'c'
name sqlda descriptor: 'd1' value NUMERIC '0.0'
name sqlda descriptor: 'd2' value 3.000000
name sqlda descriptor: 'c' value 'c '
name sqlda descriptor: 'big' value 3333333333333333333
FETCH RECORD 4
name sqlda descriptor: 'id' value 4 name sqlda descriptor: 'id' value 4
name sqlda descriptor: 't' value 'd' name sqlda descriptor: 't' value 'd'
name sqlda descriptor: 'd1' value NUMERIC '4.0' name sqlda descriptor: 'd1' value NUMERIC '4.0'
name sqlda descriptor: 'd2' value 4.000000 name sqlda descriptor: 'd2' value 4.000000
name sqlda descriptor: 'c' value 'd ' name sqlda descriptor: 'c' value 'd '
name sqlda descriptor: 'big' value 4444444444444444444 name sqlda descriptor: 'big' value 4444444444444444444
FETCH RECORD 5
name sqlda descriptor: 'id' value 5
name sqlda descriptor: 't' value 'e'
name sqlda descriptor: 'd1' value NUMERIC '0.001234'
name sqlda descriptor: 'd2' value 5.000000
name sqlda descriptor: 'c' value 'e '
name sqlda descriptor: 'big' value 5555555555555555555
EXECUTE RECORD 4 EXECUTE RECORD 4
name sqlda descriptor: 'id' value 4 name sqlda descriptor: 'id' value 4
name sqlda descriptor: 't' value 'd' name sqlda descriptor: 't' value 'd'

View File

@ -94,7 +94,9 @@ exec sql end declare section;
exec sql insert into t1 values exec sql insert into t1 values
(1, 'a', 1.0, 1, 'a',1111111111111111111), (1, 'a', 1.0, 1, 'a',1111111111111111111),
(2, null, null, null, null,null), (2, null, null, null, null,null),
(4, 'd', 4.0, 4, 'd',4444444444444444444); (3, 'c', 0.0, 3, 'c',3333333333333333333),
(4, 'd', 4.0, 4, 'd',4444444444444444444),
(5, 'e', 0.001234, 5, 'e',5555555555555555555);
strcpy(msg, "commit"); strcpy(msg, "commit");
exec sql commit; exec sql commit;