From: Michael Meskes Date: Sun, 18 Dec 2011 17:44:14 +0000 (+0100) Subject: Added test for cursor handling on different connections to regression test X-Git-Tag: REL9_2_BETA1~678 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=22232834c54c315ed57708806c9f8a9b962e2988;p=postgresql Added test for cursor handling on different connections to regression test suite for ecpg. --- diff --git a/src/interfaces/ecpg/test/expected/preproc-cursor.c b/src/interfaces/ecpg/test/expected/preproc-cursor.c index 794e7e2643..84ba020108 100644 --- a/src/interfaces/ecpg/test/expected/preproc-cursor.c +++ b/src/interfaces/ecpg/test/expected/preproc-cursor.c @@ -57,6 +57,7 @@ main (void) + @@ -77,15 +78,18 @@ main (void) struct varchar_curname4_1 { int len; char arr[ 50 ]; } curname4 ; #line 28 "cursor.pgc" - int count ; + char * curname5 = CURNAME ; #line 29 "cursor.pgc" - int id ; + int count ; #line 30 "cursor.pgc" + int id ; + +#line 31 "cursor.pgc" char t [ 64 ] ; /* exec sql end declare section */ -#line 31 "cursor.pgc" +#line 32 "cursor.pgc" char msg[128]; @@ -93,129 +97,153 @@ main (void) ECPGdebug(1, stderr); strcpy(msg, "connect"); - { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , NULL, 0); -#line 38 "cursor.pgc" + { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , "test1", 0); +#line 39 "cursor.pgc" + +if (sqlca.sqlcode < 0) exit (1);} +#line 39 "cursor.pgc" + + { ECPGconnect(__LINE__, 0, "connectdb" , NULL, NULL , "test2", 0); +#line 40 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 38 "cursor.pgc" +#line 40 "cursor.pgc" strcpy(msg, "set"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT); -#line 41 "cursor.pgc" + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT); +#line 43 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 41 "cursor.pgc" +#line 43 "cursor.pgc" strcpy(msg, "create"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table t1 ( id serial primary key , t text )", ECPGt_EOIT, ECPGt_EORT); -#line 44 "cursor.pgc" + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "create table t1 ( id serial primary key , t text )", ECPGt_EOIT, ECPGt_EORT); +#line 46 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 44 "cursor.pgc" - +#line 46 "cursor.pgc" - strcpy(msg, "insert"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'a' )", ECPGt_EOIT, ECPGt_EORT); + { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "create table t1 ( id serial primary key , t text )", ECPGt_EOIT, ECPGt_EORT); #line 47 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 47 "cursor.pgc" - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'b' )", ECPGt_EOIT, ECPGt_EORT); -#line 48 "cursor.pgc" + + strcpy(msg, "insert"); + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'a' )", ECPGt_EOIT, ECPGt_EORT); +#line 50 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 48 "cursor.pgc" +#line 50 "cursor.pgc" - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'c' )", ECPGt_EOIT, ECPGt_EORT); -#line 49 "cursor.pgc" + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'b' )", ECPGt_EOIT, ECPGt_EORT); +#line 51 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 49 "cursor.pgc" +#line 51 "cursor.pgc" - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'd' )", ECPGt_EOIT, ECPGt_EORT); -#line 50 "cursor.pgc" + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'c' )", ECPGt_EOIT, ECPGt_EORT); +#line 52 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 50 "cursor.pgc" - +#line 52 "cursor.pgc" - strcpy(msg, "commit"); - { ECPGtrans(__LINE__, NULL, "commit"); + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'd' )", ECPGt_EOIT, ECPGt_EORT); #line 53 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 53 "cursor.pgc" + { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'e' )", ECPGt_EOIT, ECPGt_EORT); +#line 54 "cursor.pgc" + +if (sqlca.sqlcode < 0) exit (1);} +#line 54 "cursor.pgc" + + + strcpy(msg, "commit"); + { ECPGtrans(__LINE__, "test1", "commit"); +#line 57 "cursor.pgc" + +if (sqlca.sqlcode < 0) exit (1);} +#line 57 "cursor.pgc" + + { ECPGtrans(__LINE__, "test2", "commit"); +#line 58 "cursor.pgc" + +if (sqlca.sqlcode < 0) exit (1);} +#line 58 "cursor.pgc" + /* Dynamic cursorname test with INTO list in FETCH stmts */ strcpy(msg, "declare"); ECPGset_var( 0, &( curname1 ), __LINE__);\ /* declare $0 cursor for select id , t from t1 */ -#line 59 "cursor.pgc" +#line 64 "cursor.pgc" strcpy(msg, "open"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare $0 cursor for select id , t from t1", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for select id , t from t1", ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 62 "cursor.pgc" +#line 67 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 62 "cursor.pgc" +#line 67 "cursor.pgc" strcpy(msg, "fetch from"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch forward from $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch forward from $0", ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 65 "cursor.pgc" +#line 70 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 65 "cursor.pgc" +#line 70 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch forward $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch forward $0", ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 69 "cursor.pgc" +#line 74 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 69 "cursor.pgc" +#line 74 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 from $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0", ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 73 "cursor.pgc" +#line 78 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 73 "cursor.pgc" +#line 78 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0 from $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0", ECPGt_int,&(count),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char), @@ -224,41 +252,41 @@ if (sqlca.sqlcode < 0) exit (1);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 78 "cursor.pgc" +#line 83 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 78 "cursor.pgc" +#line 83 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "move in"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "move absolute 0 in $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 in $0", ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 82 "cursor.pgc" +#line 87 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 82 "cursor.pgc" +#line 87 "cursor.pgc" strcpy(msg, "fetch 1"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0", ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 85 "cursor.pgc" +#line 90 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 85 "cursor.pgc" +#line 90 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0 $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0", ECPGt_int,&(count),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char), @@ -267,21 +295,21 @@ if (sqlca.sqlcode < 0) exit (1);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 90 "cursor.pgc" +#line 95 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 90 "cursor.pgc" +#line 95 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "close"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0", ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 94 "cursor.pgc" +#line 99 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 94 "cursor.pgc" +#line 99 "cursor.pgc" /* Dynamic cursorname test with INTO list in DECLARE stmt */ @@ -291,71 +319,71 @@ if (sqlca.sqlcode < 0) exit (1);} ECPGset_var( 2, ( t ), __LINE__);\ ECPGset_var( 3, &( id ), __LINE__);\ /* declare $0 cursor for select id , t from t1 */ -#line 100 "cursor.pgc" +#line 105 "cursor.pgc" strcpy(msg, "open"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare $0 cursor for select id , t from t1", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for select id , t from t1", ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 103 "cursor.pgc" +#line 108 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 103 "cursor.pgc" +#line 108 "cursor.pgc" strcpy(msg, "fetch from"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch from $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0", ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 106 "cursor.pgc" +#line 111 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 106 "cursor.pgc" +#line 111 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0", ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 110 "cursor.pgc" +#line 115 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 110 "cursor.pgc" +#line 115 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 from $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0", ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 114 "cursor.pgc" +#line 119 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 114 "cursor.pgc" +#line 119 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0 from $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0", ECPGt_int,&(count),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char), @@ -364,45 +392,45 @@ if (sqlca.sqlcode < 0) exit (1);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 119 "cursor.pgc" +#line 124 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 119 "cursor.pgc" +#line 124 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "move"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "move absolute 0 $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0", ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 123 "cursor.pgc" +#line 128 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 123 "cursor.pgc" +#line 128 "cursor.pgc" strcpy(msg, "fetch 1"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0", ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 126 "cursor.pgc" +#line 131 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 126 "cursor.pgc" +#line 131 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0 $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0", ECPGt_int,&(count),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char), @@ -411,99 +439,119 @@ if (sqlca.sqlcode < 0) exit (1);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 131 "cursor.pgc" +#line 136 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 131 "cursor.pgc" +#line 136 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "close"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0", ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 135 "cursor.pgc" +#line 140 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 135 "cursor.pgc" +#line 140 "cursor.pgc" /* Dynamic cursorname test with PREPARED stmt */ strcpy(msg, "prepare"); - { ECPGprepare(__LINE__, NULL, 0, "st_id1", stmt1); -#line 140 "cursor.pgc" + { ECPGprepare(__LINE__, "test1", 0, "st_id1", stmt1); +#line 145 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 140 "cursor.pgc" +#line 145 "cursor.pgc" + + { ECPGprepare(__LINE__, "test2", 0, "st_id1", stmt1); +#line 146 "cursor.pgc" + +if (sqlca.sqlcode < 0) exit (1);} +#line 146 "cursor.pgc" strcpy(msg, "declare"); ECPGset_var( 4, &( curname3 ), __LINE__);\ /* declare $0 cursor for $1 */ -#line 143 "cursor.pgc" +#line 149 "cursor.pgc" + + ECPGset_var( 5, &( curname5 ), __LINE__);\ + /* declare $0 cursor for $1 */ +#line 150 "cursor.pgc" strcpy(msg, "open"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare $0 cursor for $1", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for $1", ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, - ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char), + ECPGt_char_variable,(ECPGprepared_statement("test1", "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 146 "cursor.pgc" +#line 153 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 146 "cursor.pgc" +#line 153 "cursor.pgc" + + { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "declare $0 cursor for $1", + ECPGt_char,&(curname5),(long)0,(long)1,(1)*sizeof(char), + ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, + ECPGt_char_variable,(ECPGprepared_statement("test2", "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char), + ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); +#line 154 "cursor.pgc" +if (sqlca.sqlcode < 0) exit (1);} +#line 154 "cursor.pgc" - strcpy(msg, "fetch from"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch from $0", - ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char), + + strcpy(msg, "fetch"); + { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "fetch $0", + ECPGt_char,&(curname5),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 149 "cursor.pgc" +#line 157 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 149 "cursor.pgc" +#line 157 "cursor.pgc" printf("%d %s\n", id, t); - strcpy(msg, "fetch"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0", + strcpy(msg, "fetch from"); + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0", ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 153 "cursor.pgc" +#line 161 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 153 "cursor.pgc" +#line 161 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 from $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0", ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 157 "cursor.pgc" +#line 165 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 157 "cursor.pgc" +#line 165 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0 from $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0", ECPGt_int,&(count),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char), @@ -512,41 +560,41 @@ if (sqlca.sqlcode < 0) exit (1);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 162 "cursor.pgc" +#line 170 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 162 "cursor.pgc" +#line 170 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "move"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "move absolute 0 $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0", ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 166 "cursor.pgc" +#line 174 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 166 "cursor.pgc" +#line 174 "cursor.pgc" strcpy(msg, "fetch 1"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0", ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 169 "cursor.pgc" +#line 177 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 169 "cursor.pgc" +#line 177 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0 $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0", ECPGt_int,&(count),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char), @@ -555,29 +603,43 @@ if (sqlca.sqlcode < 0) exit (1);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 174 "cursor.pgc" +#line 182 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 174 "cursor.pgc" +#line 182 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "close"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0", ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 178 "cursor.pgc" +#line 186 "cursor.pgc" + +if (sqlca.sqlcode < 0) exit (1);} +#line 186 "cursor.pgc" + + { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "close $0", + ECPGt_char,&(curname5),(long)0,(long)1,(1)*sizeof(char), + ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); +#line 187 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 178 "cursor.pgc" +#line 187 "cursor.pgc" strcpy(msg, "deallocate prepare"); - { ECPGdeallocate(__LINE__, 0, NULL, "st_id1"); -#line 181 "cursor.pgc" + { ECPGdeallocate(__LINE__, 0, "test1", "st_id1"); +#line 190 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 181 "cursor.pgc" +#line 190 "cursor.pgc" + + { ECPGdeallocate(__LINE__, 0, "test2", "st_id1"); +#line 191 "cursor.pgc" + +if (sqlca.sqlcode < 0) exit (1);} +#line 191 "cursor.pgc" /* Dynamic cursorname test with PREPARED stmt, @@ -587,79 +649,79 @@ if (sqlca.sqlcode < 0) exit (1);} strcpy(curname4.arr, CURNAME); strcpy(msg, "prepare"); - { ECPGprepare(__LINE__, NULL, 0, "st_id2", stmt1); -#line 190 "cursor.pgc" + { ECPGprepare(__LINE__, "test1", 0, "st_id2", stmt1); +#line 200 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 190 "cursor.pgc" +#line 200 "cursor.pgc" strcpy(msg, "declare"); - ECPGset_var( 5, &( curname4 ), __LINE__);\ + ECPGset_var( 6, &( curname4 ), __LINE__);\ /* declare $0 cursor for $1 */ -#line 193 "cursor.pgc" +#line 203 "cursor.pgc" strcpy(msg, "open"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare $0 cursor for $1", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for $1", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_curname4_1), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, - ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id2", __LINE__)),(long)1,(long)1,(1)*sizeof(char), + ECPGt_char_variable,(ECPGprepared_statement("test1", "st_id2", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 196 "cursor.pgc" +#line 206 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 196 "cursor.pgc" +#line 206 "cursor.pgc" strcpy(msg, "fetch from"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch from $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_curname4_1), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 199 "cursor.pgc" +#line 209 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 199 "cursor.pgc" +#line 209 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_curname4_1), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 203 "cursor.pgc" +#line 213 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 203 "cursor.pgc" +#line 213 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 from $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_curname4_1), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 207 "cursor.pgc" +#line 217 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 207 "cursor.pgc" +#line 217 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0 from $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0", ECPGt_int,&(count),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_curname4_1), @@ -668,41 +730,41 @@ if (sqlca.sqlcode < 0) exit (1);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 212 "cursor.pgc" +#line 222 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 212 "cursor.pgc" +#line 222 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "move"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "move absolute 0 $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_curname4_1), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 216 "cursor.pgc" +#line 226 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 216 "cursor.pgc" +#line 226 "cursor.pgc" strcpy(msg, "fetch 1"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_curname4_1), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 219 "cursor.pgc" +#line 229 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 219 "cursor.pgc" +#line 229 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0 $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0", ECPGt_int,&(count),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_curname4_1), @@ -711,55 +773,61 @@ if (sqlca.sqlcode < 0) exit (1);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 224 "cursor.pgc" +#line 234 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 224 "cursor.pgc" +#line 234 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "close"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close $0", + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_curname4_1), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 228 "cursor.pgc" +#line 238 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 228 "cursor.pgc" +#line 238 "cursor.pgc" strcpy(msg, "deallocate prepare"); - { ECPGdeallocate(__LINE__, 0, NULL, "st_id2"); -#line 231 "cursor.pgc" + { ECPGdeallocate(__LINE__, 0, "test1", "st_id2"); +#line 241 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 231 "cursor.pgc" +#line 241 "cursor.pgc" /* End test */ strcpy(msg, "drop"); - { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT); -#line 236 "cursor.pgc" + { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT); +#line 246 "cursor.pgc" + +if (sqlca.sqlcode < 0) exit (1);} +#line 246 "cursor.pgc" + + { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT); +#line 247 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 236 "cursor.pgc" +#line 247 "cursor.pgc" strcpy(msg, "commit"); - { ECPGtrans(__LINE__, NULL, "commit"); -#line 239 "cursor.pgc" + { ECPGtrans(__LINE__, "test1", "commit"); +#line 250 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 239 "cursor.pgc" +#line 250 "cursor.pgc" strcpy(msg, "disconnect"); - { ECPGdisconnect(__LINE__, "CURRENT"); -#line 242 "cursor.pgc" + { ECPGdisconnect(__LINE__, "ALL"); +#line 253 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 242 "cursor.pgc" +#line 253 "cursor.pgc" return (0); diff --git a/src/interfaces/ecpg/test/expected/preproc-cursor.stderr b/src/interfaces/ecpg/test/expected/preproc-cursor.stderr index 3a3bedc1cb..7af39db543 100644 --- a/src/interfaces/ecpg/test/expected/preproc-cursor.stderr +++ b/src/interfaces/ecpg/test/expected/preproc-cursor.stderr @@ -2,371 +2,411 @@ [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ECPGconnect: opening database regress1 on port [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 41: query: set datestyle to iso; with 0 parameter(s) on connection regress1 +[NO_PID]: ECPGconnect: opening database connectdb on port [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 41: using PQexec +[NO_PID]: ecpg_execute on line 43: query: set datestyle to iso; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 41: OK: SET +[NO_PID]: ecpg_execute on line 43: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 44: query: create table t1 ( id serial primary key , t text ); with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 43: OK: SET [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 44: using PQexec +[NO_PID]: ecpg_execute on line 46: query: create table t1 ( id serial primary key , t text ); with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 44: OK: CREATE TABLE +[NO_PID]: ecpg_execute on line 46: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 47: query: insert into t1 ( id , t ) values ( default , 'a' ); with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 46: OK: CREATE TABLE +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 47: query: create table t1 ( id serial primary key , t text ); with 0 parameter(s) on connection test2 [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 47: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 47: OK: INSERT 0 1 +[NO_PID]: ecpg_execute on line 47: OK: CREATE TABLE [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 48: query: insert into t1 ( id , t ) values ( default , 'b' ); with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 50: query: insert into t1 ( id , t ) values ( default , 'a' ); with 0 parameter(s) on connection test1 [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_execute on line 48: OK: INSERT 0 1 +[NO_PID]: ecpg_execute on line 50: OK: INSERT 0 1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 49: query: insert into t1 ( id , t ) values ( default , 'c' ); with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 51: query: insert into t1 ( id , t ) values ( default , 'b' ); with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 49: using PQexec +[NO_PID]: ecpg_execute on line 51: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 49: OK: INSERT 0 1 +[NO_PID]: ecpg_execute on line 51: OK: INSERT 0 1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 50: query: insert into t1 ( id , t ) values ( default , 'd' ); with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 52: query: insert into t1 ( id , t ) values ( default , 'c' ); with 0 parameter(s) on connection test1 [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_execute on line 50: OK: INSERT 0 1 +[NO_PID]: ecpg_execute on line 52: OK: INSERT 0 1 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 53: query: insert into t1 ( id , t ) values ( default , 'd' ); with 0 parameter(s) on connection test1 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 53: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ECPGtrans on line 53: action "commit"; connection "regress1" +[NO_PID]: ecpg_execute on line 53: OK: INSERT 0 1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 62: query: declare mycur cursor for select id , t from t1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 54: query: insert into t1 ( id , t ) values ( default , 'e' ); with 0 parameter(s) on connection test2 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 62: using PQexec +[NO_PID]: ecpg_execute on line 54: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 62: OK: DECLARE CURSOR +[NO_PID]: ecpg_execute on line 54: OK: INSERT 0 1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 65: query: fetch forward from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ECPGtrans on line 57: action "commit"; connection "test1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 65: using PQexec +[NO_PID]: ECPGtrans on line 58: action "commit"; connection "test2" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 65: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 67: query: declare mycur cursor for select id , t from t1; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 65: RESULT: 1 offset: -1; array: no +[NO_PID]: ecpg_execute on line 67: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 65: RESULT: a offset: -1; array: no +[NO_PID]: ecpg_execute on line 67: OK: DECLARE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 69: query: fetch forward mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 70: query: fetch forward from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 69: using PQexec +[NO_PID]: ecpg_execute on line 70: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 69: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 70: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 69: RESULT: 2 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 70: RESULT: 1 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 69: RESULT: b offset: -1; array: no +[NO_PID]: ecpg_get_data on line 70: RESULT: a offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 73: query: fetch 1 from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 74: query: fetch forward mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 73: using PQexec +[NO_PID]: ecpg_execute on line 74: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 73: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 74: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 73: RESULT: 3 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 74: RESULT: 2 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 73: RESULT: c offset: -1; array: no +[NO_PID]: ecpg_get_data on line 74: RESULT: b offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 78: query: fetch 1 from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 78: query: fetch 1 from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 78: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 78: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 78: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 78: RESULT: 3 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 78: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_get_data on line 78: RESULT: c offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 82: query: move absolute 0 in mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 83: query: fetch 1 from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 82: using PQexec +[NO_PID]: ecpg_execute on line 83: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 82: OK: MOVE 0 +[NO_PID]: ecpg_execute on line 83: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 85: query: fetch 1 mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 83: RESULT: 4 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 85: using PQexec +[NO_PID]: ecpg_get_data on line 83: RESULT: d offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 85: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 87: query: move absolute 0 in mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 85: RESULT: 1 offset: -1; array: no +[NO_PID]: ecpg_execute on line 87: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 85: RESULT: a offset: -1; array: no +[NO_PID]: ecpg_execute on line 87: OK: MOVE 0 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 90: query: fetch 1 mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 90: query: fetch 1 mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 90: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 90: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 90: RESULT: 2 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 90: RESULT: 1 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 90: RESULT: b offset: -1; array: no +[NO_PID]: ecpg_get_data on line 90: RESULT: a offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 94: query: close mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 95: query: fetch 1 mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 94: using PQexec +[NO_PID]: ecpg_execute on line 95: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 94: OK: CLOSE CURSOR +[NO_PID]: ecpg_execute on line 95: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 103: query: declare mycur cursor for select id , t from t1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 95: RESULT: 2 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 103: using PQexec +[NO_PID]: ecpg_get_data on line 95: RESULT: b offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 103: OK: DECLARE CURSOR +[NO_PID]: ecpg_execute on line 99: query: close mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 106: query: fetch from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 99: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 106: using PQexec +[NO_PID]: ecpg_execute on line 99: OK: CLOSE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 106: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 108: query: declare mycur cursor for select id , t from t1; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 106: RESULT: 1 offset: -1; array: no +[NO_PID]: ecpg_execute on line 108: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 106: RESULT: a offset: -1; array: no +[NO_PID]: ecpg_execute on line 108: OK: DECLARE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 110: query: fetch mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 111: query: fetch from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 110: using PQexec +[NO_PID]: ecpg_execute on line 111: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 110: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 111: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 110: RESULT: 2 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 111: RESULT: 1 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 110: RESULT: b offset: -1; array: no +[NO_PID]: ecpg_get_data on line 111: RESULT: a offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 114: query: fetch 1 from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 115: query: fetch mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 114: using PQexec +[NO_PID]: ecpg_execute on line 115: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 114: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 115: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 114: RESULT: 3 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 115: RESULT: 2 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 114: RESULT: c offset: -1; array: no +[NO_PID]: ecpg_get_data on line 115: RESULT: b offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 119: query: fetch 1 from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 119: query: fetch 1 from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 119: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 119: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 119: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 119: RESULT: 3 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 119: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_get_data on line 119: RESULT: c offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 123: query: move absolute 0 mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 124: query: fetch 1 from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 123: using PQexec +[NO_PID]: ecpg_execute on line 124: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 123: OK: MOVE 0 +[NO_PID]: ecpg_execute on line 124: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 126: query: fetch 1 mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 124: RESULT: 4 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 126: using PQexec +[NO_PID]: ecpg_get_data on line 124: RESULT: d offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 126: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 128: query: move absolute 0 mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 126: RESULT: 1 offset: -1; array: no +[NO_PID]: ecpg_execute on line 128: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 126: RESULT: a offset: -1; array: no +[NO_PID]: ecpg_execute on line 128: OK: MOVE 0 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 131: query: fetch 1 mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 131: query: fetch 1 mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 131: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 131: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 131: RESULT: 2 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 131: RESULT: 1 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 131: RESULT: b offset: -1; array: no +[NO_PID]: ecpg_get_data on line 131: RESULT: a offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 135: query: close mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 136: query: fetch 1 mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 135: using PQexec +[NO_PID]: ecpg_execute on line 136: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 135: OK: CLOSE CURSOR +[NO_PID]: ecpg_execute on line 136: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: prepare_common on line 140: name st_id1; query: "SELECT id, t FROM t1" +[NO_PID]: ecpg_get_data on line 136: RESULT: 2 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 146: query: declare mycur cursor for SELECT id, t FROM t1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 136: RESULT: b offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 146: using PQexec +[NO_PID]: ecpg_execute on line 140: query: close mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 146: OK: DECLARE CURSOR +[NO_PID]: ecpg_execute on line 140: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 149: query: fetch from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 140: OK: CLOSE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 149: using PQexec +[NO_PID]: prepare_common on line 145: name st_id1; query: "SELECT id, t FROM t1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 149: correctly got 1 tuples with 2 fields +[NO_PID]: prepare_common on line 146: name st_id1; query: "SELECT id, t FROM t1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 149: RESULT: 1 offset: -1; array: no -[NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 149: RESULT: a offset: -1; array: no -[NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 153: query: fetch mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 153: query: declare mycur cursor for SELECT id, t FROM t1; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 153: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 153: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 153: OK: DECLARE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 153: RESULT: 2 offset: -1; array: no +[NO_PID]: ecpg_execute on line 154: query: declare mycur cursor for SELECT id, t FROM t1; with 0 parameter(s) on connection test2 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 153: RESULT: b offset: -1; array: no +[NO_PID]: ecpg_execute on line 154: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 157: query: fetch 1 from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 154: OK: DECLARE CURSOR +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 157: query: fetch mycur; with 0 parameter(s) on connection test2 [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 157: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 157: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 3 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 157: RESULT: 1 offset: -1; array: no +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_get_data on line 157: RESULT: e offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: c offset: -1; array: no +[NO_PID]: ecpg_execute on line 161: query: fetch from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 162: query: fetch 1 from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 161: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 162: using PQexec +[NO_PID]: ecpg_execute on line 161: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 162: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_get_data on line 161: RESULT: 1 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 162: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 161: RESULT: a offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 162: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_execute on line 165: query: fetch 1 from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 166: query: move absolute 0 mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 165: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 166: using PQexec +[NO_PID]: ecpg_execute on line 165: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 166: OK: MOVE 0 +[NO_PID]: ecpg_get_data on line 165: RESULT: 2 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 169: query: fetch 1 mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 165: RESULT: b offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 169: using PQexec +[NO_PID]: ecpg_execute on line 170: query: fetch 1 from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 169: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 170: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 169: RESULT: 1 offset: -1; array: no +[NO_PID]: ecpg_execute on line 170: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 169: RESULT: a offset: -1; array: no +[NO_PID]: ecpg_get_data on line 170: RESULT: 3 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 174: query: fetch 1 mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 170: RESULT: c offset: -1; array: no +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 174: query: move absolute 0 mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 174: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 174: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 174: OK: MOVE 0 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 177: query: fetch 1 mycur; with 0 parameter(s) on connection test1 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 177: using PQexec +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 177: correctly got 1 tuples with 2 fields +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_get_data on line 177: RESULT: 1 offset: -1; array: no +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_get_data on line 177: RESULT: a offset: -1; array: no +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 182: query: fetch 1 mycur; with 0 parameter(s) on connection test1 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 182: using PQexec +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 182: correctly got 1 tuples with 2 fields +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_get_data on line 182: RESULT: 2 offset: -1; array: no +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_get_data on line 182: RESULT: b offset: -1; array: no +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 186: query: close mycur; with 0 parameter(s) on connection test1 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 186: using PQexec +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 186: OK: CLOSE CURSOR +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 187: query: close mycur; with 0 parameter(s) on connection test2 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 187: using PQexec +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 187: OK: CLOSE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 174: RESULT: 2 offset: -1; array: no +[NO_PID]: deallocate_one on line 190: name st_id1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 174: RESULT: b offset: -1; array: no +[NO_PID]: deallocate_one on line 191: name st_id1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 178: query: close mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: prepare_common on line 200: name st_id2; query: "SELECT id, t FROM t1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 178: using PQexec +[NO_PID]: ecpg_execute on line 206: query: declare mycur cursor for SELECT id, t FROM t1; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 178: OK: CLOSE CURSOR +[NO_PID]: ecpg_execute on line 206: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: deallocate_one on line 181: name st_id1 +[NO_PID]: ecpg_execute on line 206: OK: DECLARE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: prepare_common on line 190: name st_id2; query: "SELECT id, t FROM t1" +[NO_PID]: ecpg_execute on line 209: query: fetch from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 196: query: declare mycur cursor for SELECT id, t FROM t1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 209: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 196: using PQexec +[NO_PID]: ecpg_execute on line 209: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 196: OK: DECLARE CURSOR +[NO_PID]: ecpg_get_data on line 209: RESULT: 1 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 199: query: fetch from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 209: RESULT: a offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 199: using PQexec +[NO_PID]: ecpg_execute on line 213: query: fetch mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 199: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 213: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 199: RESULT: 1 offset: -1; array: no +[NO_PID]: ecpg_execute on line 213: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 199: RESULT: a offset: -1; array: no +[NO_PID]: ecpg_get_data on line 213: RESULT: 2 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 203: query: fetch mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 213: RESULT: b offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 203: using PQexec +[NO_PID]: ecpg_execute on line 217: query: fetch 1 from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 203: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 217: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 203: RESULT: 2 offset: -1; array: no +[NO_PID]: ecpg_execute on line 217: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 203: RESULT: b offset: -1; array: no +[NO_PID]: ecpg_get_data on line 217: RESULT: 3 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 207: query: fetch 1 from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 217: RESULT: c offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 207: using PQexec +[NO_PID]: ecpg_execute on line 222: query: fetch 1 from mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 207: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 222: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 207: RESULT: 3 offset: -1; array: no +[NO_PID]: ecpg_execute on line 222: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 207: RESULT: c offset: -1; array: no +[NO_PID]: ecpg_get_data on line 222: RESULT: 4 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 212: query: fetch 1 from mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 222: RESULT: d offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 212: using PQexec +[NO_PID]: ecpg_execute on line 226: query: move absolute 0 mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 212: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 226: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 212: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_execute on line 226: OK: MOVE 0 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 212: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_execute on line 229: query: fetch 1 mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 216: query: move absolute 0 mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 229: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 216: using PQexec +[NO_PID]: ecpg_execute on line 229: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 216: OK: MOVE 0 +[NO_PID]: ecpg_get_data on line 229: RESULT: 1 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 219: query: fetch 1 mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 229: RESULT: a offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 219: using PQexec +[NO_PID]: ecpg_execute on line 234: query: fetch 1 mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 219: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 234: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 219: RESULT: 1 offset: -1; array: no +[NO_PID]: ecpg_execute on line 234: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 219: RESULT: a offset: -1; array: no +[NO_PID]: ecpg_get_data on line 234: RESULT: 2 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 224: query: fetch 1 mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_get_data on line 234: RESULT: b offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 224: using PQexec +[NO_PID]: ecpg_execute on line 238: query: close mycur; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 224: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_execute on line 238: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 224: RESULT: 2 offset: -1; array: no +[NO_PID]: ecpg_execute on line 238: OK: CLOSE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 224: RESULT: b offset: -1; array: no +[NO_PID]: deallocate_one on line 241: name st_id2 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 228: query: close mycur; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 246: query: drop table t1; with 0 parameter(s) on connection test1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 228: using PQexec +[NO_PID]: ecpg_execute on line 246: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 228: OK: CLOSE CURSOR +[NO_PID]: ecpg_execute on line 246: OK: DROP TABLE [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: deallocate_one on line 231: name st_id2 +[NO_PID]: ecpg_execute on line 247: query: drop table t1; with 0 parameter(s) on connection test2 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 236: query: drop table t1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 247: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 236: using PQexec +[NO_PID]: ecpg_execute on line 247: OK: DROP TABLE [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 236: OK: DROP TABLE +[NO_PID]: ECPGtrans on line 250: action "commit"; connection "test1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ECPGtrans on line 239: action "commit"; connection "regress1" +[NO_PID]: ecpg_finish: connection test2 closed [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_finish: connection regress1 closed +[NO_PID]: ecpg_finish: connection test1 closed [NO_PID]: sqlca: code: 0, state: 00000 diff --git a/src/interfaces/ecpg/test/expected/preproc-cursor.stdout b/src/interfaces/ecpg/test/expected/preproc-cursor.stdout index 451f7845f0..233dc0313d 100644 --- a/src/interfaces/ecpg/test/expected/preproc-cursor.stdout +++ b/src/interfaces/ecpg/test/expected/preproc-cursor.stdout @@ -10,10 +10,10 @@ 4 d 1 a 2 b +1 e 1 a 2 b 3 c -4 d 1 a 2 b 1 a diff --git a/src/interfaces/ecpg/test/preproc/cursor.pgc b/src/interfaces/ecpg/test/preproc/cursor.pgc index a88041a2b8..4247912989 100644 --- a/src/interfaces/ecpg/test/preproc/cursor.pgc +++ b/src/interfaces/ecpg/test/preproc/cursor.pgc @@ -25,6 +25,7 @@ exec sql begin declare section; char *curname2 = CURNAME; char *curname3 = CURNAME; varchar curname4[50]; + char *curname5 = CURNAME; int count; int id; char t[64]; @@ -35,150 +36,159 @@ exec sql end declare section; ECPGdebug(1, stderr); strcpy(msg, "connect"); - exec sql connect to REGRESSDB1; + exec sql connect to REGRESSDB1 as test1; + exec sql connect to REGRESSDB2 as test2; strcpy(msg, "set"); - exec sql set datestyle to iso; + exec sql at test1 set datestyle to iso; strcpy(msg, "create"); - exec sql create table t1(id serial primary key, t text); + exec sql at test1 create table t1(id serial primary key, t text); + exec sql at test2 create table t1(id serial primary key, t text); strcpy(msg, "insert"); - exec sql insert into t1(id, t) values (default, 'a'); - exec sql insert into t1(id, t) values (default, 'b'); - exec sql insert into t1(id, t) values (default, 'c'); - exec sql insert into t1(id, t) values (default, 'd'); + exec sql at test1 insert into t1(id, t) values (default, 'a'); + exec sql at test1 insert into t1(id, t) values (default, 'b'); + exec sql at test1 insert into t1(id, t) values (default, 'c'); + exec sql at test1 insert into t1(id, t) values (default, 'd'); + exec sql at test2 insert into t1(id, t) values (default, 'e'); strcpy(msg, "commit"); - exec sql commit; + exec sql at test1 commit; + exec sql at test2 commit; /* Dynamic cursorname test with INTO list in FETCH stmts */ strcpy(msg, "declare"); - exec sql declare :curname1 cursor for + exec sql at test1 declare :curname1 cursor for select id, t from t1; strcpy(msg, "open"); - exec sql open :curname1; + exec sql at test1 open :curname1; strcpy(msg, "fetch from"); - exec sql fetch forward from :curname1 into :id, :t; + exec sql at test1 fetch forward from :curname1 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "fetch"); - exec sql fetch forward :curname1 into :id, :t; + exec sql at test1 fetch forward :curname1 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); - exec sql fetch 1 from :curname1 into :id, :t; + exec sql at test1 fetch 1 from :curname1 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; - exec sql fetch :count from :curname1 into :id, :t; + exec sql at test1 fetch :count from :curname1 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "move in"); - exec sql move absolute 0 in :curname1; + exec sql at test1 move absolute 0 in :curname1; strcpy(msg, "fetch 1"); - exec sql fetch 1 :curname1 into :id, :t; + exec sql at test1 fetch 1 :curname1 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; - exec sql fetch :count :curname1 into :id, :t; + exec sql at test1 fetch :count :curname1 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "close"); - exec sql close :curname1; + exec sql at test1 close :curname1; /* Dynamic cursorname test with INTO list in DECLARE stmt */ strcpy(msg, "declare"); - exec sql declare :curname2 cursor for + exec sql at test1 declare :curname2 cursor for select id, t into :id, :t from t1; strcpy(msg, "open"); - exec sql open :curname2; + exec sql at test1 open :curname2; strcpy(msg, "fetch from"); - exec sql fetch from :curname2; + exec sql at test1 fetch from :curname2; printf("%d %s\n", id, t); strcpy(msg, "fetch"); - exec sql fetch :curname2; + exec sql at test1 fetch :curname2; printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); - exec sql fetch 1 from :curname2; + exec sql at test1 fetch 1 from :curname2; printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; - exec sql fetch :count from :curname2; + exec sql at test1 fetch :count from :curname2; printf("%d %s\n", id, t); strcpy(msg, "move"); - exec sql move absolute 0 :curname2; + exec sql at test1 move absolute 0 :curname2; strcpy(msg, "fetch 1"); - exec sql fetch 1 :curname2; + exec sql at test1 fetch 1 :curname2; printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; - exec sql fetch :count :curname2; + exec sql at test1 fetch :count :curname2; printf("%d %s\n", id, t); strcpy(msg, "close"); - exec sql close :curname2; + exec sql at test1 close :curname2; /* Dynamic cursorname test with PREPARED stmt */ strcpy(msg, "prepare"); - exec sql prepare st_id1 from :stmt1; + exec sql at test1 prepare st_id1 from :stmt1; + exec sql at test2 prepare st_id1 from :stmt1; strcpy(msg, "declare"); - exec sql declare :curname3 cursor for st_id1; + exec sql at test1 declare :curname3 cursor for st_id1; + exec sql at test2 declare :curname5 cursor for st_id1; strcpy(msg, "open"); - exec sql open :curname3; + exec sql at test1 open :curname3; + exec sql at test2 open :curname5; - strcpy(msg, "fetch from"); - exec sql fetch from :curname3 into :id, :t; + strcpy(msg, "fetch"); + exec sql at test2 fetch :curname5 into :id, :t; printf("%d %s\n", id, t); - strcpy(msg, "fetch"); - exec sql fetch :curname3 into :id, :t; + strcpy(msg, "fetch from"); + exec sql at test1 fetch from :curname3 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); - exec sql fetch 1 from :curname3 into :id, :t; + exec sql at test1 fetch 1 from :curname3 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; - exec sql fetch :count from :curname3 into :id, :t; + exec sql at test1 fetch :count from :curname3 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "move"); - exec sql move absolute 0 :curname3; + exec sql at test1 move absolute 0 :curname3; strcpy(msg, "fetch 1"); - exec sql fetch 1 :curname3 into :id, :t; + exec sql at test1 fetch 1 :curname3 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; - exec sql fetch :count :curname3 into :id, :t; + exec sql at test1 fetch :count :curname3 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "close"); - exec sql close :curname3; + exec sql at test1 close :curname3; + exec sql at test2 close :curname5; strcpy(msg, "deallocate prepare"); - exec sql deallocate prepare st_id1; + exec sql at test1 deallocate prepare st_id1; + exec sql at test2 deallocate prepare st_id1; /* Dynamic cursorname test with PREPARED stmt, cursor name in varchar */ @@ -187,59 +197,60 @@ exec sql end declare section; strcpy(curname4.arr, CURNAME); strcpy(msg, "prepare"); - exec sql prepare st_id2 from :stmt1; + exec sql at test1 prepare st_id2 from :stmt1; strcpy(msg, "declare"); - exec sql declare :curname4 cursor for st_id2; + exec sql at test1 declare :curname4 cursor for st_id2; strcpy(msg, "open"); - exec sql open :curname4; + exec sql at test1 open :curname4; strcpy(msg, "fetch from"); - exec sql fetch from :curname4 into :id, :t; + exec sql at test1 fetch from :curname4 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "fetch"); - exec sql fetch :curname4 into :id, :t; + exec sql at test1 fetch :curname4 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); - exec sql fetch 1 from :curname4 into :id, :t; + exec sql at test1 fetch 1 from :curname4 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; - exec sql fetch :count from :curname4 into :id, :t; + exec sql at test1 fetch :count from :curname4 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "move"); - exec sql move absolute 0 :curname4; + exec sql at test1 move absolute 0 :curname4; strcpy(msg, "fetch 1"); - exec sql fetch 1 :curname4 into :id, :t; + exec sql at test1 fetch 1 :curname4 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; - exec sql fetch :count :curname4 into :id, :t; + exec sql at test1 fetch :count :curname4 into :id, :t; printf("%d %s\n", id, t); strcpy(msg, "close"); - exec sql close :curname4; + exec sql at test1 close :curname4; strcpy(msg, "deallocate prepare"); - exec sql deallocate prepare st_id2; + exec sql at test1 deallocate prepare st_id2; /* End test */ strcpy(msg, "drop"); - exec sql drop table t1; + exec sql at test1 drop table t1; + exec sql at test2 drop table t1; strcpy(msg, "commit"); - exec sql commit; + exec sql at test1 commit; strcpy(msg, "disconnect"); - exec sql disconnect; + exec sql disconnect all; return (0); }