int main(void) { /* exec sql begin declare section */ #line 14 "execute.pgc" int amount [ 8 ] ; #line 15 "execute.pgc" int increment = 100 ; #line 16 "execute.pgc" char name [ 8 ] [ 8 ] ; #line 17 "execute.pgc" char letter [ 8 ] [ 1 ] ; #line 18 "execute.pgc" char command [ 128 ] ; /* exec sql end declare section */ #line 19 "execute.pgc" int i,j; ECPGdebug(1, stderr); { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , "main", 0); #line 24 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 24 "execute.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table test ( name char ( 8 ) , amount int , letter char ( 1 ) )", ECPGt_EOIT, ECPGt_EORT); #line 25 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 25 "execute.pgc" { ECPGtrans(__LINE__, NULL, "commit"); #line 26 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 26 "execute.pgc" sprintf(command, "insert into test (name, amount, letter) values ('db: ''r1''', 1, 'f')"); { ECPGdo(__LINE__, 0, 1, NULL, 0, 2, command, ECPGt_EOIT, ECPGt_EORT); #line 29 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 29 "execute.pgc" sprintf(command, "insert into test (name, amount, letter) values ('db: ''r1''', 2, 't')"); { ECPGdo(__LINE__, 0, 1, NULL, 0, 2, command, ECPGt_EOIT, ECPGt_EORT); #line 32 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 32 "execute.pgc" sprintf(command, "insert into test (name, amount, letter) select name, amount+10, letter from test"); { ECPGdo(__LINE__, 0, 1, NULL, 0, 2, command, ECPGt_EOIT, ECPGt_EORT); #line 35 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 35 "execute.pgc" printf("Inserted %ld tuples via execute immediate\n", sqlca.sqlerrd[2]); sprintf(command, "insert into test (name, amount, letter) select name, amount+$1, letter from test"); { ECPGprepare(__LINE__, NULL, 0, "i", command); #line 40 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 40 "execute.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, 1, "i", ECPGt_int,&(increment),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 41 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 41 "execute.pgc" printf("Inserted %ld tuples via prepared execute\n", sqlca.sqlerrd[2]); { ECPGtrans(__LINE__, NULL, "commit"); #line 45 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 45 "execute.pgc" sprintf (command, "select * from test"); { ECPGprepare(__LINE__, NULL, 0, "f", command); #line 49 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 49 "execute.pgc" /* declare CUR cursor for $1 */ #line 50 "execute.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare CUR cursor for $1", ECPGt_char_variable,(ECPGprepared_statement(NULL, "f", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 52 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 52 "execute.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 8 in CUR", ECPGt_EOIT, ECPGt_char,(name),(long)8,(long)8,(8)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,(amount),(long)1,(long)8,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(letter),(long)1,(long)8,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 53 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 53 "execute.pgc" for (i=0, j=sqlca.sqlerrd[2]; i<j; i++) { /* exec sql begin declare section */ #line 58 "execute.pgc" char n [ 8 ] , l = letter [ i ] [ 0 ] ; #line 59 "execute.pgc" int a = amount [ i ] ; /* exec sql end declare section */ #line 60 "execute.pgc" strncpy(n, name[i], 8); printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l); } { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close CUR", ECPGt_EOIT, ECPGt_EORT); #line 66 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 66 "execute.pgc" { ECPGdeallocate(__LINE__, 0, NULL, "f"); #line 67 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 67 "execute.pgc" sprintf (command, "select * from test where amount = $1"); { ECPGprepare(__LINE__, NULL, 0, "f", command); #line 71 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 71 "execute.pgc" /* declare CUR2 cursor for $1 */ #line 72 "execute.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare CUR2 cursor for $1", ECPGt_char_variable,(ECPGprepared_statement(NULL, "f", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_const,"1",(long)1,(long)1,strlen("1"), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 74 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 74 "execute.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch in CUR2", ECPGt_EOIT, ECPGt_char,(name),(long)8,(long)8,(8)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,(amount),(long)1,(long)8,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(letter),(long)1,(long)8,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 75 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 75 "execute.pgc" for (i=0, j=sqlca.sqlerrd[2]; i<j; i++) { /* exec sql begin declare section */ #line 80 "execute.pgc" char n [ 8 ] , l = letter [ i ] [ 0 ] ; #line 81 "execute.pgc" int a = amount [ i ] ; /* exec sql end declare section */ #line 82 "execute.pgc" strncpy(n, name[i], 8); printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l); } { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close CUR2", ECPGt_EOIT, ECPGt_EORT); #line 88 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 88 "execute.pgc" { ECPGdeallocate(__LINE__, 0, NULL, "f"); #line 89 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 89 "execute.pgc" sprintf (command, "select * from test where amount = $1"); { ECPGprepare(__LINE__, NULL, 0, "f", command); #line 93 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 93 "execute.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, 1, "f", ECPGt_const,"2",(long)1,(long)1,strlen("2"), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_char,(name),(long)8,(long)8,(8)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,(amount),(long)1,(long)8,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(letter),(long)1,(long)8,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 94 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 94 "execute.pgc" for (i=0, j=sqlca.sqlerrd[2]; i<j; i++) { /* exec sql begin declare section */ #line 99 "execute.pgc" char n [ 8 ] , l = letter [ i ] [ 0 ] ; #line 100 "execute.pgc" int a = amount [ i ] ; /* exec sql end declare section */ #line 101 "execute.pgc" strncpy(n, name[i], 8); printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l); } { ECPGdeallocate(__LINE__, 0, NULL, "f"); #line 107 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 107 "execute.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table test", ECPGt_EOIT, ECPGt_EORT); #line 108 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 108 "execute.pgc" { ECPGtrans(__LINE__, NULL, "commit"); #line 109 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 109 "execute.pgc" { ECPGdisconnect(__LINE__, "CURRENT"); #line 110 "execute.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 110 "execute.pgc" return (0); }
static void* fn(void* arg) #endif { int i; /* exec sql begin declare section */ #line 39 "prep.pgc" int value ; #line 40 "prep.pgc" char name [ 100 ] ; #line 41 "prep.pgc" char query [ 256 ] = "INSERT INTO T VALUES ( ? )" ; /* exec sql end declare section */ #line 42 "prep.pgc" value = (long)arg; sprintf(name, "Connection: %d", value); { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , name, 0); #line 47 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 47 "prep.pgc" { ECPGsetcommit(__LINE__, "on", NULL); #line 48 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 48 "prep.pgc" for (i = 1; i <= REPEATS; ++i) { { ECPGprepare(__LINE__, NULL, 0, "i", query); #line 51 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 51 "prep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "i", ECPGt_int,&(value),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 52 "prep.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) sqlprint(); #line 52 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 52 "prep.pgc" } { ECPGdeallocate(__LINE__, 0, NULL, "i"); #line 54 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 54 "prep.pgc" { ECPGdisconnect(__LINE__, name); #line 55 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 55 "prep.pgc" return 0; }
static void test(void) { /* exec sql begin declare section */ #line 10 "autoprep.pgc" int item [ 4 ] , ind [ 4 ] , i = 1 ; #line 11 "autoprep.pgc" int item1 , ind1 ; #line 12 "autoprep.pgc" char sqlstr [ 64 ] = "SELECT item2 FROM T ORDER BY item2 NULLS LAST" ; /* exec sql end declare section */ #line 13 "autoprep.pgc" ECPGdebug(1, stderr); { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); } #line 16 "autoprep.pgc" /* exec sql whenever sql_warning sqlprint ; */ #line 18 "autoprep.pgc" /* exec sql whenever sqlerror sqlprint ; */ #line 19 "autoprep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table T ( Item1 int , Item2 int )", ECPGt_EOIT, ECPGt_EORT); #line 21 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 21 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 21 "autoprep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_prepnormal, "insert into T values ( 1 , null )", ECPGt_EOIT, ECPGt_EORT); #line 23 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 23 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 23 "autoprep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_prepnormal, "insert into T values ( 1 , $1 )", ECPGt_int,&(i),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 24 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 24 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 24 "autoprep.pgc" i++; { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_prepnormal, "insert into T values ( 1 , $1 )", ECPGt_int,&(i),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 26 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 26 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 26 "autoprep.pgc" { ECPGprepare(__LINE__, NULL, 0, "i", " insert into T values ( 1 , 2 ) "); #line 27 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 27 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 27 "autoprep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "i", ECPGt_EOIT, ECPGt_EORT); #line 28 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 28 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 28 "autoprep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_prepnormal, "select Item2 from T order by Item2 nulls last", ECPGt_EOIT, ECPGt_int,(item),(long)1,(long)4,sizeof(int), ECPGt_int,(ind),(long)1,(long)4,sizeof(int), ECPGt_EORT); #line 30 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 30 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 30 "autoprep.pgc" for (i=0; i<4; i++) printf("item[%d] = %d\n", i, ind[i] ? -1 : item[i]); /* declare C cursor for select Item1 from T */ #line 35 "autoprep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare C cursor for select Item1 from T", ECPGt_EOIT, ECPGt_EORT); #line 37 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 37 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 37 "autoprep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 in C", ECPGt_EOIT, ECPGt_int,&(i),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 39 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 39 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 39 "autoprep.pgc" printf("i = %d\n", i); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close C", ECPGt_EOIT, ECPGt_EORT); #line 42 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 42 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 42 "autoprep.pgc" { ECPGprepare(__LINE__, NULL, 0, "stmt1", sqlstr); #line 44 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 44 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 44 "autoprep.pgc" /* declare cur1 cursor for $1 */ #line 46 "autoprep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur1 cursor for $1", ECPGt_char_variable,(ECPGprepared_statement(NULL, "stmt1", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 48 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 48 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 48 "autoprep.pgc" /* exec sql whenever not found break ; */ #line 50 "autoprep.pgc" i = 0; while (1) { { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch cur1", ECPGt_EOIT, ECPGt_int,&(item1),(long)1,(long)1,sizeof(int), ECPGt_int,&(ind1),(long)1,(long)1,sizeof(int), ECPGt_EORT); #line 55 "autoprep.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) break; #line 55 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 55 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 55 "autoprep.pgc" printf("item[%d] = %d\n", i, ind1 ? -1 : item1); i++; } { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur1", ECPGt_EOIT, ECPGt_EORT); #line 60 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 60 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 60 "autoprep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table T", ECPGt_EOIT, ECPGt_EORT); #line 62 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 62 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 62 "autoprep.pgc" { ECPGdisconnect(__LINE__, "ALL"); #line 64 "autoprep.pgc" if (sqlca.sqlwarn[0] == 'W') sqlprint(); #line 64 "autoprep.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 64 "autoprep.pgc" }
int main (void) { /* exec sql begin declare section */ #line 59 "sqlda.pgc" char * stmt1 = "SELECT * FROM t1" ; #line 60 "sqlda.pgc" char * stmt2 = "SELECT * FROM t1 WHERE id = ?" ; #line 61 "sqlda.pgc" int rec ; #line 62 "sqlda.pgc" int id ; /* exec sql end declare section */ #line 63 "sqlda.pgc" char msg[128]; ECPGdebug(1, stderr); strcpy(msg, "connect"); { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , "regress1", 0); #line 70 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 70 "sqlda.pgc" strcpy(msg, "set"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT); #line 73 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 73 "sqlda.pgc" strcpy(msg, "create"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table t1 ( id integer , t text , d1 numeric , d2 float8 , c char ( 10 ) )", ECPGt_EOIT, ECPGt_EORT); #line 81 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 81 "sqlda.pgc" strcpy(msg, "insert"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 values ( 1 , 'a' , 1.0 , 1 , 'a' ) , ( 2 , null , null , null , null ) , ( 4 , 'd' , 4.0 , 4 , 'd' )", ECPGt_EOIT, ECPGt_EORT); #line 87 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 87 "sqlda.pgc" strcpy(msg, "commit"); { ECPGtrans(__LINE__, NULL, "commit"); #line 90 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 90 "sqlda.pgc" /* SQLDA test for getting all records from a table */ outp_sqlda = NULL; strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id1", stmt1); #line 97 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 97 "sqlda.pgc" strcpy(msg, "declare"); /* declare mycur1 cursor for $1 */ #line 100 "sqlda.pgc" strcpy(msg, "open"); { 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_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 103 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 103 "sqlda.pgc" /* exec sql whenever not found break ; */ #line 105 "sqlda.pgc" rec = 0; while (1) { strcpy(msg, "fetch"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 from mycur1", ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 111 "sqlda.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) break; #line 111 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 111 "sqlda.pgc" printf("FETCH RECORD %d\n", ++rec); dump_sqlda(outp_sqlda); } /* exec sql whenever not found continue ; */ #line 117 "sqlda.pgc" strcpy(msg, "close"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur1", ECPGt_EOIT, ECPGt_EORT); #line 120 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 120 "sqlda.pgc" strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id1"); #line 123 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 123 "sqlda.pgc" free(outp_sqlda); /* SQLDA test for getting ALL records into the sqlda list */ outp_sqlda = NULL; strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id2", stmt1); #line 132 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 132 "sqlda.pgc" strcpy(msg, "declare"); /* declare mycur2 cursor for $1 */ #line 135 "sqlda.pgc" strcpy(msg, "open"); { 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_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 138 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 138 "sqlda.pgc" strcpy(msg, "fetch"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch all from mycur2", ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 141 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 141 "sqlda.pgc" outp_sqlda1 = outp_sqlda; rec = 0; while (outp_sqlda1) { sqlda_t *ptr; printf("FETCH RECORD %d\n", ++rec); dump_sqlda(outp_sqlda1); ptr = outp_sqlda1; outp_sqlda1 = outp_sqlda1->desc_next; free(ptr); } strcpy(msg, "close"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur2", ECPGt_EOIT, ECPGt_EORT); #line 157 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 157 "sqlda.pgc" strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id2"); #line 160 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 160 "sqlda.pgc" /* SQLDA test for getting one record using an input descriptor */ /* * Input sqlda has to be built manually * sqlda_t contains 1 sqlvar_t structure already. */ inp_sqlda = (sqlda_t *)malloc(sizeof(sqlda_t)); memset(inp_sqlda, 0, sizeof(sqlda_t)); inp_sqlda->sqln = 1; inp_sqlda->sqlvar[0].sqltype = ECPGt_int; inp_sqlda->sqlvar[0].sqldata = (char *)&id; printf("EXECUTE RECORD 4\n"); id = 4; outp_sqlda = NULL; strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id3", stmt2); #line 182 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 182 "sqlda.pgc" strcpy(msg, "execute"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "st_id3", ECPGt_sqlda, &inp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 185 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 185 "sqlda.pgc" dump_sqlda(outp_sqlda); strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id3"); #line 190 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 190 "sqlda.pgc" free(inp_sqlda); free(outp_sqlda); /* SQLDA test for getting one record using an input descriptor * on a named connection */ { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , "con2", 0); #line 199 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 199 "sqlda.pgc" /* * Input sqlda has to be built manually * sqlda_t contains 1 sqlvar_t structure already. */ inp_sqlda = (sqlda_t *)malloc(sizeof(sqlda_t)); memset(inp_sqlda, 0, sizeof(sqlda_t)); inp_sqlda->sqln = 1; inp_sqlda->sqlvar[0].sqltype = ECPGt_int; inp_sqlda->sqlvar[0].sqldata = (char *)&id; printf("EXECUTE RECORD 4\n"); id = 4; outp_sqlda = NULL; strcpy(msg, "prepare"); { ECPGprepare(__LINE__, "con2", 0, "st_id4", stmt2); #line 219 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 219 "sqlda.pgc" strcpy(msg, "execute"); { ECPGdo(__LINE__, 0, 1, "con2", 0, ECPGst_execute, "st_id4", ECPGt_sqlda, &inp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 222 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 222 "sqlda.pgc" dump_sqlda(outp_sqlda); strcpy(msg, "commit"); { ECPGtrans(__LINE__, "con2", "commit"); #line 227 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 227 "sqlda.pgc" strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id4"); #line 230 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 230 "sqlda.pgc" free(inp_sqlda); free(outp_sqlda); strcpy(msg, "disconnect"); { ECPGdisconnect(__LINE__, "con2"); #line 236 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 236 "sqlda.pgc" /* End test */ strcpy(msg, "drop"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT); #line 241 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 241 "sqlda.pgc" strcpy(msg, "commit"); { ECPGtrans(__LINE__, NULL, "commit"); #line 244 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 244 "sqlda.pgc" strcpy(msg, "disconnect"); { ECPGdisconnect(__LINE__, "CURRENT"); #line 247 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 247 "sqlda.pgc" return 0; }
int main (void) { /* exec sql begin declare section */ #line 23 "cursor.pgc" char * stmt1 = "SELECT id, t FROM t1" ; #line 24 "cursor.pgc" char * curname1 = CURNAME ; #line 25 "cursor.pgc" char * curname2 = CURNAME ; #line 26 "cursor.pgc" char * curname3 = CURNAME ; #line 27 "cursor.pgc" struct varchar_1 { int len; char arr[ 50 ]; } curname4 ; #line 28 "cursor.pgc" char * curname5 = CURNAME ; #line 29 "cursor.pgc" int count ; #line 30 "cursor.pgc" int id ; #line 31 "cursor.pgc" char t [ 64 ] ; /* exec sql end declare section */ #line 32 "cursor.pgc" char msg[128]; ECPGdebug(1, stderr); strcpy(msg, "connect"); { 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 40 "cursor.pgc" strcpy(msg, "set"); { 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 43 "cursor.pgc" strcpy(msg, "create"); { 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 46 "cursor.pgc" { 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" 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 50 "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 51 "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 52 "cursor.pgc" { 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", 0, 0, 0, NULL); #line 57 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 57 "cursor.pgc" { ECPGtrans(__LINE__, "test2", "commit", 0, 0, 0, NULL); #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 no scroll cursor for select id , t from t1 */ #line 64 "cursor.pgc" strcpy(msg, "open"); { ECPGopen(__LINE__, 0, 1, "test1", 0, 0, ECPGcs_no_scroll, 1, 1, 0, curname1, ECPGst_normal, "declare $0 no scroll 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 67 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 67 "cursor.pgc" strcpy(msg, "fetch from"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname1, 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 70 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 70 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname1, 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 74 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 74 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname1, 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 78 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 78 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward_in_var, NULL, 0, curname1, 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), 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 83 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 83 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "move in"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_absolute, "0", 1, curname1, 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 87 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 87 "cursor.pgc" strcpy(msg, "fetch 1"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname1, 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 90 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 90 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward_in_var, NULL, 0, curname1, 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), 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 95 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 95 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "close"); { ECPGclose(__LINE__, 0, 1, "test1", 0, curname1, 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 99 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 99 "cursor.pgc" /* Dynamic cursorname test with INTO list in DECLARE stmt */ strcpy(msg, "declare"); ECPGset_var( 1, &( curname2 ), __LINE__);\ ECPGset_var( 2, ( t ), __LINE__);\ ECPGset_var( 3, &( id ), __LINE__);\ /* declare $0 no scroll cursor for select id , t from t1 */ #line 105 "cursor.pgc" strcpy(msg, "open"); { ECPGopen(__LINE__, 0, 1, "test1", 0, 0, ECPGcs_no_scroll, 1, 1, 0, curname2, ECPGst_normal, "declare $0 no scroll 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 108 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 108 "cursor.pgc" strcpy(msg, "fetch from"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname2, 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 111 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 111 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname2, 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 115 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 115 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname2, 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 119 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 119 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward_in_var, NULL, 0, curname2, 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), 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 124 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 124 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "move"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_absolute, "0", 1, curname2, 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 128 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 128 "cursor.pgc" strcpy(msg, "fetch 1"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname2, 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 131 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 131 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward_in_var, NULL, 0, curname2, 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), 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 136 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 136 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "close"); { ECPGclose(__LINE__, 0, 1, "test1", 0, curname2, 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 140 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 140 "cursor.pgc" /* Dynamic cursorname test with PREPARED stmt */ strcpy(msg, "prepare"); { ECPGprepare(__LINE__, "test1", 0, "st_id1", stmt1); #line 145 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #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 no scroll cursor for $1 */ #line 149 "cursor.pgc" ECPGset_var( 5, &( curname5 ), __LINE__);\ /* declare $0 no scroll cursor for $1 */ #line 150 "cursor.pgc" strcpy(msg, "open"); { ECPGopen(__LINE__, 0, 1, "test1", 0, 0, ECPGcs_no_scroll, 1, 1, 0, curname3, ECPGst_normal, "declare $0 no scroll 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("test1", "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 153 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 153 "cursor.pgc" { ECPGopen(__LINE__, 0, 1, "test2", 0, 0, ECPGcs_no_scroll, 1, 1, 0, curname5, ECPGst_normal, "declare $0 no scroll 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"); { ECPGfetch(__LINE__, 0, 1, "test2", 0, ECPGc_forward, "1", 0, curname5, 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 157 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 157 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch from"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname3, 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 161 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 161 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname3, 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 165 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 165 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward_in_var, NULL, 0, curname3, 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), 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 170 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 170 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "move"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_absolute, "0", 1, curname3, 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 174 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 174 "cursor.pgc" strcpy(msg, "fetch 1"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname3, 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 177 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 177 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward_in_var, NULL, 0, curname3, 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), 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 182 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 182 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "close"); { ECPGclose(__LINE__, 0, 1, "test1", 0, curname3, 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 186 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 186 "cursor.pgc" { ECPGclose(__LINE__, 0, 1, "test2", 0, curname5, 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 187 "cursor.pgc" strcpy(msg, "deallocate prepare"); { ECPGdeallocate(__LINE__, 0, "test1", "st_id1"); #line 190 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #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, cursor name in varchar */ curname4.len = strlen(CURNAME); strcpy(curname4.arr, CURNAME); strcpy(msg, "prepare"); { ECPGprepare(__LINE__, "test1", 0, "st_id2", stmt1); #line 200 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 200 "cursor.pgc" strcpy(msg, "declare"); ECPGset_var( 6, &( curname4 ), __LINE__);\ /* declare $0 no scroll cursor for $1 */ #line 203 "cursor.pgc" strcpy(msg, "open"); { ECPGopen(__LINE__, 0, 1, "test1", 0, 0, ECPGcs_no_scroll, 1, 1, 0, curname4.arr, ECPGst_normal, "declare $0 no scroll cursor for $1", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 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 206 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 206 "cursor.pgc" strcpy(msg, "fetch from"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname4.arr, ECPGst_normal, "fetch from $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_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 209 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 209 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname4.arr, ECPGst_normal, "fetch $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_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 213 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 213 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch 1 from"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname4.arr, ECPGst_normal, "fetch 1 from $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_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 217 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 217 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count from"); count = 1; { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward_in_var, NULL, 0, curname4.arr, 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_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 222 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 222 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "move"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_absolute, "0", 1, curname4.arr, ECPGst_normal, "move absolute 0 $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 226 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 226 "cursor.pgc" strcpy(msg, "fetch 1"); { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward, "1", 0, curname4.arr, ECPGst_normal, "fetch 1 $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_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 229 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 229 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "fetch :count"); count = 1; { ECPGfetch(__LINE__, 0, 1, "test1", 0, ECPGc_forward_in_var, NULL, 0, curname4.arr, 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_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 234 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 234 "cursor.pgc" printf("%d %s\n", id, t); strcpy(msg, "close"); { ECPGclose(__LINE__, 0, 1, "test1", 0, curname4.arr, ECPGst_normal, "close $0", ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 238 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 238 "cursor.pgc" strcpy(msg, "deallocate prepare"); { ECPGdeallocate(__LINE__, 0, "test1", "st_id2"); #line 241 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 241 "cursor.pgc" /* End test */ strcpy(msg, "drop"); { 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 247 "cursor.pgc" strcpy(msg, "commit"); { ECPGtrans(__LINE__, "test1", "commit", 0, 0, 0, NULL); #line 250 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 250 "cursor.pgc" strcpy(msg, "disconnect"); { ECPGdisconnect(__LINE__, "ALL"); #line 253 "cursor.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 253 "cursor.pgc" return (0); }
int main(void) { /* exec sql begin declare section */ #line 8 "desc.pgc" char * stmt1 = "INSERT INTO test1 VALUES ($1, $2)" ; #line 9 "desc.pgc" char * stmt2 = "SELECT * from test1 where a = $1 and b = $2" ; #line 10 "desc.pgc" char * stmt3 = "SELECT * from test1 where :var = a" ; #line 12 "desc.pgc" int val1 = 1 ; #line 13 "desc.pgc" char val2 [ 4 ] = "one" , val2output [] = "AAA" ; #line 14 "desc.pgc" int val1output = 2 , val2i = 0 ; #line 15 "desc.pgc" int val2null = - 1 ; #line 16 "desc.pgc" int ind1 , ind2 ; #line 17 "desc.pgc" char desc1 [ 8 ] = "outdesc" ; /* exec sql end declare section */ #line 18 "desc.pgc" ECPGdebug(1, stderr); ECPGallocate_desc(__LINE__, "indesc"); #line 22 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint(); #line 22 "desc.pgc" ECPGallocate_desc(__LINE__, (desc1)); #line 23 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint(); #line 23 "desc.pgc" { ECPGset_desc(__LINE__, "indesc", 1,ECPGd_data, ECPGt_int,&(val1),(long)1,(long)1,sizeof(int), ECPGd_EODT); #line 25 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 25 "desc.pgc" { ECPGset_desc(__LINE__, "indesc", 2,ECPGd_data, ECPGt_char,(val2),(long)4,(long)1,(4)*sizeof(char), ECPGd_indicator, ECPGt_int,&(val2i),(long)1,(long)1,sizeof(int), ECPGd_EODT); #line 26 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 26 "desc.pgc" { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , NULL, 0); #line 28 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 28 "desc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table test1 ( a int , b text )", ECPGt_EOIT, ECPGt_EORT); #line 30 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 30 "desc.pgc" { ECPGprepare(__LINE__, NULL, 0, "foo1", stmt1); #line 31 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 31 "desc.pgc" { ECPGprepare(__LINE__, NULL, 0, "Foo-1", stmt1); #line 32 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 32 "desc.pgc" { ECPGprepare(__LINE__, NULL, 0, "foo2", stmt2); #line 33 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 33 "desc.pgc" { ECPGprepare(__LINE__, NULL, 0, "foo3", stmt3); #line 34 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 34 "desc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "foo1", ECPGt_descriptor, "indesc", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 36 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 36 "desc.pgc" { ECPGset_desc(__LINE__, "indesc", 1,ECPGd_data, ECPGt_const,"2",(long)1,(long)1,strlen("2"), ECPGd_EODT); #line 38 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 38 "desc.pgc" { ECPGset_desc(__LINE__, "indesc", 2,ECPGd_data, ECPGt_char,(val2),(long)4,(long)1,(4)*sizeof(char), ECPGd_indicator, ECPGt_int,&(val2null),(long)1,(long)1,sizeof(int), ECPGd_EODT); #line 39 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 39 "desc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "foo1", ECPGt_descriptor, "indesc", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 41 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 41 "desc.pgc" { ECPGset_desc(__LINE__, "indesc", 1,ECPGd_data, ECPGt_const,"3",(long)1,(long)1,strlen("3"), ECPGd_EODT); #line 43 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 43 "desc.pgc" { ECPGset_desc(__LINE__, "indesc", 2,ECPGd_data, ECPGt_const,"this is a long test",(long)19,(long)1,strlen("this is a long test"), ECPGd_indicator, ECPGt_int,&(val1),(long)1,(long)1,sizeof(int), ECPGd_EODT); #line 44 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 44 "desc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "Foo-1", ECPGt_descriptor, "indesc", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 46 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 46 "desc.pgc" { ECPGdeallocate(__LINE__, 0, NULL, "Foo-1"); #line 48 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 48 "desc.pgc" { ECPGset_desc(__LINE__, "indesc", 1,ECPGd_data, ECPGt_int,&(val1),(long)1,(long)1,sizeof(int), ECPGd_EODT); #line 50 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 50 "desc.pgc" { ECPGset_desc(__LINE__, "indesc", 2,ECPGd_data, ECPGt_char,(val2),(long)4,(long)1,(4)*sizeof(char), ECPGd_indicator, ECPGt_int,&(val2i),(long)1,(long)1,sizeof(int), ECPGd_EODT); #line 51 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 51 "desc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "foo2", ECPGt_descriptor, "indesc", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_descriptor, "outdesc", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 53 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 53 "desc.pgc" { ECPGget_desc(__LINE__, "outdesc", 1,ECPGd_data, ECPGt_char,(val2output),(long)sizeof("AAA"),(long)1,(sizeof("AAA"))*sizeof(char), ECPGd_EODT); #line 55 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 55 "desc.pgc" printf("output = %s\n", val2output); /* declare c1 cursor for $1 */ #line 58 "desc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c1 cursor for $1", ECPGt_char_variable,(ECPGprepared_statement(NULL, "foo2", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_descriptor, "indesc", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 59 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 59 "desc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch next from c1", ECPGt_EOIT, ECPGt_int,&(val1output),(long)1,(long)1,sizeof(int), ECPGt_int,&(ind1),(long)1,(long)1,sizeof(int), ECPGt_char,(val2output),(long)sizeof("AAA"),(long)1,(sizeof("AAA"))*sizeof(char), ECPGt_int,&(ind2),(long)1,(long)1,sizeof(int), ECPGt_EORT); #line 61 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 61 "desc.pgc" printf("val1=%d (ind1: %d) val2=%s (ind2: %d)\n", val1output, ind1, val2output, ind2); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close c1", ECPGt_EOIT, ECPGt_EORT); #line 65 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 65 "desc.pgc" { ECPGset_desc_header(__LINE__, "indesc", (int)(1)); #line 67 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 67 "desc.pgc" { ECPGset_desc(__LINE__, "indesc", 1,ECPGd_data, ECPGt_const,"2",(long)1,(long)1,strlen("2"), ECPGd_EODT); #line 68 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 68 "desc.pgc" /* declare c2 cursor for $1 */ #line 70 "desc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c2 cursor for $1", ECPGt_char_variable,(ECPGprepared_statement(NULL, "foo3", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_descriptor, "indesc", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 71 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 71 "desc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch next from c2", ECPGt_EOIT, ECPGt_int,&(val1output),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(val2output),(long)sizeof("AAA"),(long)1,(sizeof("AAA"))*sizeof(char), ECPGt_int,&(val2i),(long)1,(long)1,sizeof(int), ECPGt_EORT); #line 73 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 73 "desc.pgc" printf("val1=%d val2=%s\n", val1output, val2i ? "null" : val2output); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close c2", ECPGt_EOIT, ECPGt_EORT); #line 76 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 76 "desc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select * from test1 where a = 3", ECPGt_EOIT, ECPGt_int,&(val1output),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(val2output),(long)sizeof("AAA"),(long)1,(sizeof("AAA"))*sizeof(char), ECPGt_int,&(val2i),(long)1,(long)1,sizeof(int), ECPGt_EORT); #line 78 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 78 "desc.pgc" printf("val1=%d val2=%c%c%c%c warn=%c truncate=%d\n", val1output, val2output[0], val2output[1], val2output[2], val2output[3], sqlca.sqlwarn[0], val2i); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table test1", ECPGt_EOIT, ECPGt_EORT); #line 81 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 81 "desc.pgc" { ECPGdeallocate_all(__LINE__, 0, NULL); #line 82 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 82 "desc.pgc" { ECPGdisconnect(__LINE__, "CURRENT"); #line 83 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 83 "desc.pgc" ECPGdeallocate_desc(__LINE__, "indesc"); #line 85 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint(); #line 85 "desc.pgc" ECPGdeallocate_desc(__LINE__, "outdesc"); #line 86 "desc.pgc" if (sqlca.sqlcode < 0) sqlprint(); #line 86 "desc.pgc" return 0; }
int main (void) { /* exec sql begin declare section */ #line 57 "sqlda.pgc" char * stmt1 = "SELECT * FROM t1" ; #line 58 "sqlda.pgc" char * stmt2 = "SELECT * FROM t1 WHERE id = ?" ; #line 59 "sqlda.pgc" int rec ; #line 60 "sqlda.pgc" int id ; /* exec sql end declare section */ #line 61 "sqlda.pgc" char msg[128]; ECPGdebug(1, stderr); strcpy(msg, "connect"); { ECPGconnect(__LINE__, 1, "regress1" , NULL, NULL , "regress1", 0); #line 68 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 68 "sqlda.pgc" strcpy(msg, "set"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT); #line 71 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 71 "sqlda.pgc" strcpy(msg, "create"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "create table t1 ( id integer , t text , d1 numeric , d2 float8 , c char ( 10 ) )", ECPGt_EOIT, ECPGt_EORT); #line 79 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 79 "sqlda.pgc" strcpy(msg, "insert"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "insert into t1 values ( 1 , 'a' , 1.0 , 1 , 'a' ) , ( 2 , null , null , null , null ) , ( 4 , 'd' , 4.0 , 4 , 'd' )", ECPGt_EOIT, ECPGt_EORT); #line 85 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 85 "sqlda.pgc" strcpy(msg, "commit"); { ECPGtrans(__LINE__, NULL, "commit"); #line 88 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 88 "sqlda.pgc" /* SQLDA test for getting all records from a table */ outp_sqlda = NULL; strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id1", stmt1); #line 95 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 95 "sqlda.pgc" strcpy(msg, "declare"); ECPG_informix_reset_sqlca(); /* declare mycur1 cursor for $1 */ #line 98 "sqlda.pgc" strcpy(msg, "open"); { ECPGdo(__LINE__, 1, 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_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 101 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 101 "sqlda.pgc" /* exec sql whenever not found break ; */ #line 103 "sqlda.pgc" rec = 0; while (1) { strcpy(msg, "fetch"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "fetch 1 from mycur1", ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 109 "sqlda.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) break; #line 109 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 109 "sqlda.pgc" printf("FETCH RECORD %d\n", ++rec); dump_sqlda(outp_sqlda); } /* exec sql whenever not found continue ; */ #line 115 "sqlda.pgc" strcpy(msg, "close"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "close mycur1", ECPGt_EOIT, ECPGt_EORT); #line 118 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 118 "sqlda.pgc" strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 1, NULL, "st_id1"); #line 121 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 121 "sqlda.pgc" free(outp_sqlda); /* SQLDA test for getting all records from a table using the Informix-specific FETCH ... USING DESCRIPTOR */ outp_sqlda = NULL; strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id2", stmt1); #line 132 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 132 "sqlda.pgc" strcpy(msg, "declare"); ECPG_informix_reset_sqlca(); /* declare mycur2 cursor for $1 */ #line 135 "sqlda.pgc" strcpy(msg, "open"); { ECPGdo(__LINE__, 1, 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_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 138 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 138 "sqlda.pgc" /* exec sql whenever not found break ; */ #line 140 "sqlda.pgc" rec = 0; while (1) { strcpy(msg, "fetch"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "fetch from mycur2", ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 146 "sqlda.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) break; #line 146 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 146 "sqlda.pgc" printf("FETCH RECORD %d\n", ++rec); dump_sqlda(outp_sqlda); } /* exec sql whenever not found continue ; */ #line 152 "sqlda.pgc" strcpy(msg, "close"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "close mycur2", ECPGt_EOIT, ECPGt_EORT); #line 155 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 155 "sqlda.pgc" strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 1, NULL, "st_id2"); #line 158 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 158 "sqlda.pgc" free(outp_sqlda); /* SQLDA test for getting one record using an input descriptor */ /* Input sqlda has to be built manually */ inp_sqlda = (sqlda_t *)malloc(sizeof(sqlda_t)); memset(inp_sqlda, 0, sizeof(sqlda_t)); inp_sqlda->sqld = 1; inp_sqlda->sqlvar = malloc(sizeof(sqlvar_t)); memset(inp_sqlda->sqlvar, 0, sizeof(sqlvar_t)); inp_sqlda->sqlvar[0].sqltype = SQLINT; inp_sqlda->sqlvar[0].sqldata = (char *)&id; printf("EXECUTE RECORD 4\n"); id = 4; outp_sqlda = NULL; strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id3", stmt2); #line 181 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 181 "sqlda.pgc" strcpy(msg, "execute"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_execute, "st_id3", ECPGt_sqlda, &inp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 184 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 184 "sqlda.pgc" dump_sqlda(outp_sqlda); strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 1, NULL, "st_id3"); #line 189 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 189 "sqlda.pgc" free(inp_sqlda->sqlvar); free(inp_sqlda); free(outp_sqlda); /* SQLDA test for getting one record using an input descriptor * on a named connection */ { ECPGconnect(__LINE__, 1, "regress1" , NULL, NULL , "con2", 0); #line 199 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 199 "sqlda.pgc" /* Input sqlda has to be built manually */ inp_sqlda = (sqlda_t *)malloc(sizeof(sqlda_t)); memset(inp_sqlda, 0, sizeof(sqlda_t)); inp_sqlda->sqld = 1; inp_sqlda->sqlvar = malloc(sizeof(sqlvar_t)); memset(inp_sqlda->sqlvar, 0, sizeof(sqlvar_t)); inp_sqlda->sqlvar[0].sqltype = SQLINT; inp_sqlda->sqlvar[0].sqldata = (char *)&id; printf("EXECUTE RECORD 4\n"); id = 4; outp_sqlda = NULL; strcpy(msg, "prepare"); { ECPGprepare(__LINE__, "con2", 0, "st_id4", stmt2); #line 218 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 218 "sqlda.pgc" strcpy(msg, "execute"); { ECPGdo(__LINE__, 1, 1, "con2", 0, ECPGst_execute, "st_id4", ECPGt_sqlda, &inp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 221 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 221 "sqlda.pgc" dump_sqlda(outp_sqlda); strcpy(msg, "commit"); { ECPGtrans(__LINE__, "con2", "commit"); #line 226 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 226 "sqlda.pgc" strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 1, NULL, "st_id4"); #line 229 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 229 "sqlda.pgc" free(inp_sqlda->sqlvar); free(inp_sqlda); free(outp_sqlda); strcpy(msg, "disconnect"); { ECPGdisconnect(__LINE__, "con2"); #line 236 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 236 "sqlda.pgc" /* End test */ strcpy(msg, "drop"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT); #line 241 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 241 "sqlda.pgc" strcpy(msg, "commit"); { ECPGtrans(__LINE__, NULL, "commit"); #line 244 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 244 "sqlda.pgc" strcpy(msg, "disconnect"); { ECPGdisconnect(__LINE__, "CURRENT"); #line 247 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 247 "sqlda.pgc" return (0); }
int main (void) { /* exec sql begin declare section */ #line 15 "describe.pgc" char * stmt1 = "SELECT id, t FROM descr_t1" ; #line 16 "describe.pgc" char * stmt2 = "SELECT id, t FROM descr_t1 WHERE id = -1" ; #line 17 "describe.pgc" int i , count1 , count2 ; #line 18 "describe.pgc" char field_name1 [ 30 ] = "not set" ; #line 19 "describe.pgc" char field_name2 [ 30 ] = "not set" ; /* exec sql end declare section */ #line 20 "describe.pgc" char msg[128]; ECPGdebug(1, stderr); strcpy(msg, "connect"); { ECPGconnect(__LINE__, 1, "ecpg1_regression" , NULL, NULL , NULL, 0); #line 27 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 27 "describe.pgc" strcpy(msg, "set"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT); #line 30 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 30 "describe.pgc" strcpy(msg, "create"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "create table descr_t1 ( id serial primary key , t text )", ECPGt_EOIT, ECPGt_EORT); #line 33 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 33 "describe.pgc" strcpy(msg, "insert"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "insert into descr_t1 ( id , t ) values ( default , 'a' )", ECPGt_EOIT, ECPGt_EORT); #line 36 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 36 "describe.pgc" { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "insert into descr_t1 ( id , t ) values ( default , 'b' )", ECPGt_EOIT, ECPGt_EORT); #line 37 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 37 "describe.pgc" { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "insert into descr_t1 ( id , t ) values ( default , 'c' )", ECPGt_EOIT, ECPGt_EORT); #line 38 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 38 "describe.pgc" { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "insert into descr_t1 ( id , t ) values ( default , 'd' )", ECPGt_EOIT, ECPGt_EORT); #line 39 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 39 "describe.pgc" strcpy(msg, "commit"); { ECPGtrans(__LINE__, NULL, "commit"); #line 42 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 42 "describe.pgc" /* * Test DESCRIBE with a query producing tuples. * DESCRIPTOR and SQL DESCRIPTOR are NOT the same in * Informix-compat mode. */ strcpy(msg, "allocate"); ECPGallocate_desc(__LINE__, "desc1"); #line 51 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 51 "describe.pgc" ECPGallocate_desc(__LINE__, "desc2"); #line 52 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 52 "describe.pgc" strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id1", stmt1); #line 55 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 55 "describe.pgc" sqlda1 = sqlda2 = sqlda3 = NULL; strcpy(msg, "describe"); { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1", ECPGt_descriptor, "desc1", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 60 "describe.pgc" { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1", ECPGt_descriptor, "desc2", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 61 "describe.pgc" { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1", ECPGt_sqlda, &sqlda1, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 63 "describe.pgc" { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1", ECPGt_sqlda, &sqlda2, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 64 "describe.pgc" { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1", ECPGt_sqlda, &sqlda3, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 65 "describe.pgc" if (sqlda1 == NULL) { printf("sqlda1 NULL\n"); exit(1); } if (sqlda2 == NULL) { printf("sqlda2 NULL\n"); exit(1); } if (sqlda3 == NULL) { printf("sqlda3 NULL\n"); exit(1); } strcpy(msg, "get descriptor"); { ECPGget_desc_header(__LINE__, "desc1", &(count1)); #line 86 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 86 "describe.pgc" { ECPGget_desc_header(__LINE__, "desc1", &(count2)); #line 87 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 87 "describe.pgc" if (count1 != count2) { printf("count1 (%d) != count2 (%d)\n", count1, count2); exit(1); } if (count1 != sqlda1->sqld) { printf("count1 (%d) != sqlda1->sqld (%d)\n", count1, sqlda1->sqld); exit(1); } if (count1 != sqlda2->sqld) { printf("count1 (%d) != sqlda2->sqld (%d)\n", count1, sqlda2->sqld); exit(1); } if (count1 != sqlda3->sqld) { printf("count1 (%d) != sqlda3->sqld (%d)\n", count1, sqlda3->sqld); exit(1); } for (i = 1; i <= count1; i++) { { ECPGget_desc(__LINE__, "desc1", i,ECPGd_name, ECPGt_char,(field_name1),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 115 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 115 "describe.pgc" { ECPGget_desc(__LINE__, "desc2", i,ECPGd_name, ECPGt_char,(field_name2),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 116 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 116 "describe.pgc" printf("%d\n\tfield_name1 '%s'\n\tfield_name2 '%s'\n\t" "sqlda1 '%s'\n\tsqlda2 '%s'\n\tsqlda3 '%s'\n", i, field_name1, field_name2, sqlda1->sqlvar[i-1].sqlname, sqlda2->sqlvar[i-1].sqlname, sqlda3->sqlvar[i-1].sqlname); } strcpy(msg, "deallocate"); ECPGdeallocate_desc(__LINE__, "desc1"); #line 126 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 126 "describe.pgc" ECPGdeallocate_desc(__LINE__, "desc2"); #line 127 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 127 "describe.pgc" free(sqlda1); free(sqlda2); free(sqlda3); { ECPGdeallocate(__LINE__, 1, NULL, "st_id1"); #line 132 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 132 "describe.pgc" /* Test DESCRIBE with a query not producing tuples */ strcpy(msg, "allocate"); ECPGallocate_desc(__LINE__, "desc1"); #line 137 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 137 "describe.pgc" ECPGallocate_desc(__LINE__, "desc2"); #line 138 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 138 "describe.pgc" strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id2", stmt2); #line 141 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 141 "describe.pgc" sqlda1 = sqlda2 = sqlda3 = NULL; strcpy(msg, "describe"); { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2", ECPGt_descriptor, "desc1", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 146 "describe.pgc" { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2", ECPGt_descriptor, "desc2", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 147 "describe.pgc" { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2", ECPGt_sqlda, &sqlda1, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 149 "describe.pgc" { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2", ECPGt_sqlda, &sqlda2, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 150 "describe.pgc" { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2", ECPGt_sqlda, &sqlda3, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 151 "describe.pgc" if (sqlda1 == NULL || sqlda2 == NULL || sqlda3 == NULL) exit(1); strcpy(msg, "get descriptor"); { ECPGget_desc_header(__LINE__, "desc1", &(count1)); #line 157 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 157 "describe.pgc" { ECPGget_desc_header(__LINE__, "desc1", &(count2)); #line 158 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 158 "describe.pgc" if (!( count1 == count2 && count1 == sqlda1->sqld && count1 == sqlda2->sqld && count1 == sqlda3->sqld)) exit(1); for (i = 1; i <= count1; i++) { { ECPGget_desc(__LINE__, "desc1", i,ECPGd_name, ECPGt_char,(field_name1),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 168 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 168 "describe.pgc" { ECPGget_desc(__LINE__, "desc2", i,ECPGd_name, ECPGt_char,(field_name2),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 169 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 169 "describe.pgc" printf("%d\n\tfield_name1 '%s'\n\tfield_name2 '%s'\n\t" "sqlda1 '%s'\n\tsqlda2 '%s'\n\tsqlda3 '%s'\n", i, field_name1, field_name2, sqlda1->sqlvar[i-1].sqlname, sqlda2->sqlvar[i-1].sqlname, sqlda3->sqlvar[i-1].sqlname); } strcpy(msg, "deallocate"); ECPGdeallocate_desc(__LINE__, "desc1"); #line 179 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 179 "describe.pgc" ECPGdeallocate_desc(__LINE__, "desc2"); #line 180 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 180 "describe.pgc" free(sqlda1); free(sqlda2); free(sqlda3); { ECPGdeallocate(__LINE__, 1, NULL, "st_id2"); #line 185 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 185 "describe.pgc" /* End test */ strcpy(msg, "drop"); { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "drop table descr_t1", ECPGt_EOIT, ECPGt_EORT); #line 190 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 190 "describe.pgc" strcpy(msg, "commit"); { ECPGtrans(__LINE__, NULL, "commit"); #line 193 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 193 "describe.pgc" strcpy(msg, "disconnect"); { ECPGdisconnect(__LINE__, "CURRENT"); #line 196 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 196 "describe.pgc" return 0; }
int orm_read_all_records(char *table_name, void *result) { /* exec sql begin declare section */ #line 126 "main.pgs" teacher dbval ; #line 127 "main.pgs" char stmt [ string_size ] ; /* exec sql end declare section */ #line 128 "main.pgs" sprintf(stmt, "SELECT * FROM %s", table_name); memset(&dbval, 0, sizeof(teacher)); { ECPGprepare(__LINE__, NULL, 0, "sqlstmt", stmt); } #line 132 "main.pgs" /* declare MyCursor cursor for $1 */ #line 133 "main.pgs" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare MyCursor cursor for $1", ECPGt_char_variable,(ECPGprepared_statement(NULL, "sqlstmt", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); } #line 135 "main.pgs" /* exec sql whenever not found break ; */ #line 136 "main.pgs" while(1) { { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch MyCursor", ECPGt_EOIT, ECPGt_char,&(dbval.name),(long)string_size,(long)1,(string_size)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,&(dbval.title),(long)string_size,(long)1,(string_size)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,&(dbval.post),(long)string_size,(long)1,(string_size)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 140 "main.pgs" if (sqlca.sqlcode == ECPG_NOT_FOUND) break; } #line 140 "main.pgs" *((teacher *) result) = dbval; result++; } { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close MyCursor", ECPGt_EOIT, ECPGt_EORT); } #line 145 "main.pgs" { ECPGtrans(__LINE__, NULL, "commit"); } #line 146 "main.pgs" return 0; }
int main () { /* exec sql begin declare section */ #line 22 "dyntest.pgc" int COUNT ; #line 23 "dyntest.pgc" int INTVAR ; #line 24 "dyntest.pgc" int INDEX ; #line 25 "dyntest.pgc" int INDICATOR ; #line 26 "dyntest.pgc" int TYPE , LENGTH , OCTET_LENGTH , PRECISION , SCALE , RETURNED_OCTET_LENGTH ; #line 27 "dyntest.pgc" int DATETIME_INTERVAL_CODE ; #line 28 "dyntest.pgc" char NAME [ 120 ] , BOOLVAR ; #line 29 "dyntest.pgc" char STRINGVAR [ 1024 ] ; #line 30 "dyntest.pgc" double DOUBLEVAR ; #line 31 "dyntest.pgc" char * QUERY ; /* exec sql end declare section */ #line 32 "dyntest.pgc" int done = 0; /* exec sql var BOOLVAR is bool */ #line 35 "dyntest.pgc" ECPGdebug (1, stderr); QUERY = "select * from dyntest"; /* exec sql whenever sqlerror do error ( ) ; */ #line 43 "dyntest.pgc" ECPGallocate_desc(__LINE__, "MYDESC"); #line 45 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( ); #line 45 "dyntest.pgc" { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , NULL, 0); #line 47 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 47 "dyntest.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "set datestyle to german", ECPGt_EOIT, ECPGt_EORT); #line 49 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 49 "dyntest.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table dyntest ( name char ( 14 ) , d float8 , i int , bignumber int8 , b boolean , comment text , day date )", ECPGt_EOIT, ECPGt_EORT); #line 53 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 53 "dyntest.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into dyntest values ( 'first entry' , 14.7 , 14 , 123045607890 , true , 'The world''s most advanced open source database.' , '1987-07-14' )", ECPGt_EOIT, ECPGt_EORT); #line 54 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 54 "dyntest.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into dyntest values ( 'second entry' , 1407.87 , 1407 , 987065403210 , false , 'The elephant never forgets.' , '1999-11-5' )", ECPGt_EOIT, ECPGt_EORT); #line 55 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 55 "dyntest.pgc" { ECPGprepare(__LINE__, NULL, 0, "myquery", QUERY); #line 57 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 57 "dyntest.pgc" /* declare MYCURS cursor for $1 */ #line 58 "dyntest.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare MYCURS cursor for $1", ECPGt_char_variable,(ECPGprepared_statement(NULL, "myquery", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 60 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 60 "dyntest.pgc" while (1) { { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch in MYCURS", ECPGt_EOIT, ECPGt_descriptor, "MYDESC", 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 64 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 64 "dyntest.pgc" if (sqlca.sqlcode) break; { ECPGget_desc_header(__LINE__, "MYDESC", &(COUNT)); #line 69 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 69 "dyntest.pgc" if (!done) { printf ("Found %d columns\n", COUNT); done = 1; } for (INDEX = 1; INDEX <= COUNT; ++INDEX) { { ECPGget_desc(__LINE__, "MYDESC", INDEX,ECPGd_indicator, ECPGt_int,&(INDICATOR),(long)1,(long)1,sizeof(int), ECPGd_name, ECPGt_char,(NAME),(long)120,(long)1,(120)*sizeof(char), ECPGd_scale, ECPGt_int,&(SCALE),(long)1,(long)1,sizeof(int), ECPGd_precision, ECPGt_int,&(PRECISION),(long)1,(long)1,sizeof(int), ECPGd_ret_octet, ECPGt_int,&(RETURNED_OCTET_LENGTH),(long)1,(long)1,sizeof(int), ECPGd_octet, ECPGt_int,&(OCTET_LENGTH),(long)1,(long)1,sizeof(int), ECPGd_length, ECPGt_int,&(LENGTH),(long)1,(long)1,sizeof(int), ECPGd_type, ECPGt_int,&(TYPE),(long)1,(long)1,sizeof(int), ECPGd_EODT); #line 86 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 86 "dyntest.pgc" printf ("%2d\t%s (type: %d length: %d precision: %d scale: %d = " , INDEX, NAME, TYPE, LENGTH, PRECISION, SCALE); switch (TYPE) { case SQL3_BOOLEAN: printf ("bool"); break; case SQL3_NUMERIC: printf ("numeric(%d,%d)", PRECISION, SCALE); break; case SQL3_DECIMAL: printf ("decimal(%d,%d)", PRECISION, SCALE); break; case SQL3_INTEGER: printf ("integer"); break; case SQL3_SMALLINT: printf ("smallint"); break; case SQL3_FLOAT: printf ("float(%d,%d)", PRECISION, SCALE); break; case SQL3_REAL: printf ("real"); break; case SQL3_DOUBLE_PRECISION: printf ("double precision"); break; case SQL3_DATE_TIME_TIMESTAMP: { ECPGget_desc(__LINE__, "MYDESC", INDEX,ECPGd_di_code, ECPGt_int,&(DATETIME_INTERVAL_CODE),(long)1,(long)1,sizeof(int), ECPGd_EODT); #line 116 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 116 "dyntest.pgc" switch (DATETIME_INTERVAL_CODE) { case SQL3_DDT_DATE: printf ("date"); break; case SQL3_DDT_TIME: printf ("time"); break; case SQL3_DDT_TIMESTAMP: printf ("timestamp"); break; case SQL3_DDT_TIME_WITH_TIME_ZONE: printf ("time with time zone"); break; case SQL3_DDT_TIMESTAMP_WITH_TIME_ZONE: printf ("timestamp with time zone"); break; } break; case SQL3_INTERVAL: printf ("interval"); break; case SQL3_CHARACTER: if (LENGTH > 0) printf ("char(%d)", LENGTH); else printf ("text"); break; case SQL3_CHARACTER_VARYING: if (LENGTH > 0) printf ("varchar(%d)", LENGTH); else printf ("varchar()"); break; default: printf ("<SQL3 %d>", TYPE); break; } printf (")\n\toctet_length: %d returned_octet_length: %d)\n\t= ", OCTET_LENGTH, RETURNED_OCTET_LENGTH); if (INDICATOR == -1) printf ("NULL\n"); else switch (TYPE) { case SQL3_BOOLEAN: { ECPGget_desc(__LINE__, "MYDESC", INDEX,ECPGd_data, ECPGt_bool,&(BOOLVAR),(long)1,(long)1,sizeof(bool), ECPGd_EODT); #line 163 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 163 "dyntest.pgc" printf ("%s\n", BOOLVAR ? "true" : "false"); break; case SQL3_INTEGER: case SQL3_SMALLINT: { ECPGget_desc(__LINE__, "MYDESC", INDEX,ECPGd_data, ECPGt_int,&(INTVAR),(long)1,(long)1,sizeof(int), ECPGd_EODT); #line 168 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 168 "dyntest.pgc" printf ("%d\n", INTVAR); break; case SQL3_DOUBLE_PRECISION: { ECPGget_desc(__LINE__, "MYDESC", INDEX,ECPGd_data, ECPGt_double,&(DOUBLEVAR),(long)1,(long)1,sizeof(double), ECPGd_EODT); #line 172 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 172 "dyntest.pgc" printf ("%.*f\n", PRECISION, DOUBLEVAR); break; case SQL3_DATE_TIME_TIMESTAMP: { ECPGget_desc(__LINE__, "MYDESC", INDEX,ECPGd_data, ECPGt_char,(STRINGVAR),(long)1024,(long)1,(1024)*sizeof(char), ECPGd_di_code, ECPGt_int,&(DATETIME_INTERVAL_CODE),(long)1,(long)1,sizeof(int), ECPGd_EODT); #line 178 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 178 "dyntest.pgc" printf ("%d \"%s\"\n", DATETIME_INTERVAL_CODE, STRINGVAR); break; case SQL3_CHARACTER: case SQL3_CHARACTER_VARYING: { ECPGget_desc(__LINE__, "MYDESC", INDEX,ECPGd_data, ECPGt_char,(STRINGVAR),(long)1024,(long)1,(1024)*sizeof(char), ECPGd_EODT); #line 183 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 183 "dyntest.pgc" printf ("\"%s\"\n", STRINGVAR); break; default: { ECPGget_desc(__LINE__, "MYDESC", INDEX,ECPGd_data, ECPGt_char,(STRINGVAR),(long)1024,(long)1,(1024)*sizeof(char), ECPGd_EODT); #line 187 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 187 "dyntest.pgc" printf ("<\"%s\">\n", STRINGVAR); break; } } } { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close MYCURS", ECPGt_EOIT, ECPGt_EORT); #line 194 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( );} #line 194 "dyntest.pgc" ECPGdeallocate_desc(__LINE__, "MYDESC"); #line 196 "dyntest.pgc" if (sqlca.sqlcode < 0) error ( ); #line 196 "dyntest.pgc" return 0; }
/* * default connection: con2 * Non-default connection: con1 * */ void execute_test(void) { /* exec sql begin declare section */ #line 63 "declare.pgc" int i ; #line 64 "declare.pgc" char * selectString = "SELECT f1,f2,f3 FROM source" ; /* exec sql end declare section */ #line 65 "declare.pgc" /* * testcase1. using DECLARE STATEMENT without using AT clause, * using PREPARE and CURSOR statement without using AT clause */ reset(); { ECPGdeclare(__LINE__, NULL, "stmt_1"); #line 73 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 73 "declare.pgc" { ECPGprepare(__LINE__, NULL, 0, "stmt_1", selectString); #line 74 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 74 "declare.pgc" /* declare cur_1 cursor for $1 */ #line 75 "declare.pgc" { ECPGopen("cur_1", "stmt_1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur_1 cursor for $1", ECPGt_char_variable,(ECPGprepared_statement(NULL, "stmt_1", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 76 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 76 "declare.pgc" /* exec sql whenever not found break ; */ #line 78 "declare.pgc" i = 0; while (1) { { ECPGfetch("cur_1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch cur_1", ECPGt_EOIT, ECPGt_int,&(f1[i]),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(f2[i]),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(f3[i]),(long)20,(long)1,(20)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 82 "declare.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) break; #line 82 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 82 "declare.pgc" i++; } { ECPGclose("cur_1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur_1", ECPGt_EOIT, ECPGt_EORT); #line 85 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 85 "declare.pgc" { ECPGdeallocate(__LINE__, 0, NULL, "stmt_1"); #line 86 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 86 "declare.pgc" /* exec sql whenever not found continue ; */ #line 87 "declare.pgc" printResult("testcase1", 2); /* * testcase2. using DECLARE STATEMENT at con1, * using PREPARE and CURSOR statement without using AT clause */ reset(); { ECPGdeclare(__LINE__, "con1", "stmt_2"); #line 98 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 98 "declare.pgc" { ECPGprepare(__LINE__, NULL, 0, "stmt_2", selectString); #line 99 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 99 "declare.pgc" /* declare cur_2 cursor for $1 */ #line 100 "declare.pgc" { ECPGopen("cur_2", "stmt_2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur_2 cursor for $1", ECPGt_char_variable,(ECPGprepared_statement(NULL, "stmt_2", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 101 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 101 "declare.pgc" /* exec sql whenever not found break ; */ #line 103 "declare.pgc" i = 0; while (1) { { ECPGfetch("cur_2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch cur_2", ECPGt_EOIT, ECPGt_int,&(f1[i]),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(f2[i]),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(f3[i]),(long)20,(long)1,(20)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 107 "declare.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) break; #line 107 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 107 "declare.pgc" i++; } { ECPGclose("cur_2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur_2", ECPGt_EOIT, ECPGt_EORT); #line 110 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 110 "declare.pgc" { ECPGdeallocate(__LINE__, 0, NULL, "stmt_2"); #line 111 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 111 "declare.pgc" /* exec sql whenever not found continue ; */ #line 112 "declare.pgc" printResult("testcase2", 2); /* * testcase3. using DECLARE STATEMENT at con1, * using PREPARE and CURSOR statement at con2 */ reset(); { ECPGdeclare(__LINE__, "con1", "stmt_3"); #line 122 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 122 "declare.pgc" { ECPGprepare(__LINE__, "con2", 0, "stmt_3", selectString); #line 123 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 123 "declare.pgc" /* declare cur_3 cursor for $1 */ #line 124 "declare.pgc" { ECPGopen("cur_3", "stmt_3", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "declare cur_3 cursor for $1", ECPGt_char_variable,(ECPGprepared_statement("con2", "stmt_3", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 125 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 125 "declare.pgc" /* exec sql whenever not found break ; */ #line 127 "declare.pgc" i = 0; while (1) { { ECPGfetch("cur_3", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "fetch cur_3", ECPGt_EOIT, ECPGt_int,&(f1[i]),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(f2[i]),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(f3[i]),(long)20,(long)1,(20)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 131 "declare.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) break; #line 131 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 131 "declare.pgc" i++; } { ECPGclose("cur_3", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "close cur_3", ECPGt_EOIT, ECPGt_EORT); #line 134 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 134 "declare.pgc" { ECPGdeallocate(__LINE__, 0, "con2", "stmt_3"); #line 135 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 135 "declare.pgc" /* exec sql whenever not found continue ; */ #line 136 "declare.pgc" printResult("testcase3", 2); /* * testcase4. using DECLARE STATEMENT without using AT clause, * using PREPARE and CURSOR statement at con2 */ reset(); { ECPGdeclare(__LINE__, NULL, "stmt_4"); #line 147 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 147 "declare.pgc" { ECPGprepare(__LINE__, "con2", 0, "stmt_4", selectString); #line 148 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 148 "declare.pgc" /* declare cur_4 cursor for $1 */ #line 149 "declare.pgc" { ECPGopen("cur_4", "stmt_4", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "declare cur_4 cursor for $1", ECPGt_char_variable,(ECPGprepared_statement("con2", "stmt_4", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); #line 150 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 150 "declare.pgc" /* exec sql whenever not found break ; */ #line 152 "declare.pgc" i = 0; while (1) { { ECPGfetch("cur_4", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "fetch cur_4", ECPGt_EOIT, ECPGt_int,&(f1[i]),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(f2[i]),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(f3[i]),(long)20,(long)1,(20)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 156 "declare.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) break; #line 156 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 156 "declare.pgc" i++; } { ECPGclose("cur_4", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "close cur_4", ECPGt_EOIT, ECPGt_EORT); #line 159 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 159 "declare.pgc" { ECPGdeallocate(__LINE__, 0, "con2", "stmt_4"); #line 160 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 160 "declare.pgc" /* exec sql whenever not found continue ; */ #line 161 "declare.pgc" printResult("testcase4", 2); /* * testcase5. using DECLARE STATEMENT without using AT clause, * using PREPARE and EXECUTE statement without using AT clause */ reset(); { ECPGdeclare(__LINE__, NULL, "stmt_5"); #line 171 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 171 "declare.pgc" { ECPGprepare(__LINE__, NULL, 0, "stmt_5", selectString); #line 172 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 172 "declare.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "stmt_5", ECPGt_EOIT, ECPGt_int,(f1),(long)1,(long)ARRAY_SZIE,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,(f2),(long)1,(long)ARRAY_SZIE,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(f3),(long)20,(long)ARRAY_SZIE,(20)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 173 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 173 "declare.pgc" { ECPGdeallocate(__LINE__, 0, NULL, "stmt_5"); #line 175 "declare.pgc" if (sqlca.sqlcode < 0) sqlprint();} #line 175 "declare.pgc" printResult("testcase5", 2); }
int main (void) { /* exec sql begin declare section */ #line 12 "describe.pgc" char * stmt1 = "SELECT id, t FROM t1" ; #line 13 "describe.pgc" char * stmt2 = "SELECT id, t FROM t1 WHERE id = -1" ; #line 14 "describe.pgc" int i , count1 , count2 , count3 , count4 ; #line 15 "describe.pgc" char field_name1 [ 30 ] = "not set" ; #line 16 "describe.pgc" char field_name2 [ 30 ] = "not set" ; #line 17 "describe.pgc" char field_name3 [ 30 ] = "not set" ; #line 18 "describe.pgc" char field_name4 [ 30 ] = "not set" ; /* exec sql end declare section */ #line 19 "describe.pgc" char msg[128]; ECPGdebug(1, stderr); strcpy(msg, "connect"); { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); #line 26 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 26 "describe.pgc" strcpy(msg, "set"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT); #line 29 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 29 "describe.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 32 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 32 "describe.pgc" strcpy(msg, "insert"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'a' )", ECPGt_EOIT, ECPGt_EORT); #line 35 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 35 "describe.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'b' )", ECPGt_EOIT, ECPGt_EORT); #line 36 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 36 "describe.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'c' )", ECPGt_EOIT, ECPGt_EORT); #line 37 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 37 "describe.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'd' )", ECPGt_EOIT, ECPGt_EORT); #line 38 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 38 "describe.pgc" strcpy(msg, "commit"); { ECPGtrans(__LINE__, NULL, "commit"); #line 41 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 41 "describe.pgc" /* * Test DESCRIBE with a query producing tuples. * DESCRIPTOR and SQL DESCRIPTOR are the same in native mode. */ strcpy(msg, "allocate"); ECPGallocate_desc(__LINE__, "desc1"); #line 49 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 49 "describe.pgc" ECPGallocate_desc(__LINE__, "desc2"); #line 50 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 50 "describe.pgc" ECPGallocate_desc(__LINE__, "desc3"); #line 51 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 51 "describe.pgc" ECPGallocate_desc(__LINE__, "desc4"); #line 52 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 52 "describe.pgc" strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id1", stmt1); #line 55 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 55 "describe.pgc" strcpy(msg, "describe"); { ECPGdescribe(__LINE__, 0, NULL, "st_id1", ECPGt_descriptor, "desc1", 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 58 "describe.pgc" { ECPGdescribe(__LINE__, 0, NULL, "st_id1", ECPGt_descriptor, "desc2", 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 59 "describe.pgc" { ECPGdescribe(__LINE__, 0, NULL, "st_id1", ECPGt_descriptor, "desc3", 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 60 "describe.pgc" { ECPGdescribe(__LINE__, 0, NULL, "st_id1", ECPGt_descriptor, "desc4", 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 61 "describe.pgc" strcpy(msg, "get descriptor"); { ECPGget_desc_header(__LINE__, "desc1", &(count1)); #line 64 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 64 "describe.pgc" { ECPGget_desc_header(__LINE__, "desc2", &(count2)); #line 65 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 65 "describe.pgc" { ECPGget_desc_header(__LINE__, "desc3", &(count3)); #line 66 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 66 "describe.pgc" { ECPGget_desc_header(__LINE__, "desc4", &(count4)); #line 67 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 67 "describe.pgc" if (!(count1 == count2 && count1 == count3 && count1 == count4)) exit(1); for (i = 1; i <= count1; i++) { { ECPGget_desc(__LINE__, "desc1", i,ECPGd_name, ECPGt_char,(field_name1),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 74 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 74 "describe.pgc" { ECPGget_desc(__LINE__, "desc2", i,ECPGd_name, ECPGt_char,(field_name2),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 75 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 75 "describe.pgc" { ECPGget_desc(__LINE__, "desc3", i,ECPGd_name, ECPGt_char,(field_name3),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 76 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 76 "describe.pgc" { ECPGget_desc(__LINE__, "desc4", i,ECPGd_name, ECPGt_char,(field_name4),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 77 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 77 "describe.pgc" printf("field_name 1 '%s' 2 '%s' 3 '%s' 4 '%s'\n", field_name1, field_name2, field_name3, field_name4); } strcpy(msg, "deallocate"); ECPGdeallocate_desc(__LINE__, "desc1"); #line 83 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 83 "describe.pgc" ECPGdeallocate_desc(__LINE__, "desc2"); #line 84 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 84 "describe.pgc" ECPGdeallocate_desc(__LINE__, "desc3"); #line 85 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 85 "describe.pgc" ECPGdeallocate_desc(__LINE__, "desc4"); #line 86 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 86 "describe.pgc" { ECPGdeallocate(__LINE__, 0, NULL, "st_id1"); #line 88 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 88 "describe.pgc" /* Test DESCRIBE with a query not producing tuples */ strcpy(msg, "allocate"); ECPGallocate_desc(__LINE__, "desc1"); #line 93 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 93 "describe.pgc" ECPGallocate_desc(__LINE__, "desc2"); #line 94 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 94 "describe.pgc" ECPGallocate_desc(__LINE__, "desc3"); #line 95 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 95 "describe.pgc" ECPGallocate_desc(__LINE__, "desc4"); #line 96 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 96 "describe.pgc" strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id2", stmt2); #line 99 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 99 "describe.pgc" strcpy(msg, "describe"); { ECPGdescribe(__LINE__, 0, NULL, "st_id2", ECPGt_descriptor, "desc1", 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 102 "describe.pgc" { ECPGdescribe(__LINE__, 0, NULL, "st_id2", ECPGt_descriptor, "desc2", 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 103 "describe.pgc" { ECPGdescribe(__LINE__, 0, NULL, "st_id2", ECPGt_descriptor, "desc3", 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 104 "describe.pgc" { ECPGdescribe(__LINE__, 0, NULL, "st_id2", ECPGt_descriptor, "desc4", 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 105 "describe.pgc" strcpy(msg, "get descriptor"); { ECPGget_desc_header(__LINE__, "desc1", &(count1)); #line 108 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 108 "describe.pgc" { ECPGget_desc_header(__LINE__, "desc2", &(count2)); #line 109 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 109 "describe.pgc" { ECPGget_desc_header(__LINE__, "desc3", &(count3)); #line 110 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 110 "describe.pgc" { ECPGget_desc_header(__LINE__, "desc4", &(count4)); #line 111 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 111 "describe.pgc" if (!(count1 == count2 && count1 == count3 && count1 == count4)) exit(1); for (i = 1; i <= count1; i++) { { ECPGget_desc(__LINE__, "desc1", i,ECPGd_name, ECPGt_char,(field_name1),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 118 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 118 "describe.pgc" { ECPGget_desc(__LINE__, "desc2", i,ECPGd_name, ECPGt_char,(field_name2),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 119 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 119 "describe.pgc" { ECPGget_desc(__LINE__, "desc3", i,ECPGd_name, ECPGt_char,(field_name3),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 120 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 120 "describe.pgc" { ECPGget_desc(__LINE__, "desc4", i,ECPGd_name, ECPGt_char,(field_name4),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT); #line 121 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 121 "describe.pgc" printf("field_name 1 '%s' 2 '%s' 3 '%s' 4 '%s'\n", field_name1, field_name2, field_name3, field_name4); } strcpy(msg, "deallocate"); ECPGdeallocate_desc(__LINE__, "desc1"); #line 127 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 127 "describe.pgc" ECPGdeallocate_desc(__LINE__, "desc2"); #line 128 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 128 "describe.pgc" ECPGdeallocate_desc(__LINE__, "desc3"); #line 129 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 129 "describe.pgc" ECPGdeallocate_desc(__LINE__, "desc4"); #line 130 "describe.pgc" if (sqlca.sqlcode < 0) exit (1); #line 130 "describe.pgc" { ECPGdeallocate(__LINE__, 0, NULL, "st_id2"); #line 132 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 132 "describe.pgc" /* End test */ strcpy(msg, "drop"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT); #line 138 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 138 "describe.pgc" strcpy(msg, "commit"); { ECPGtrans(__LINE__, NULL, "commit"); #line 141 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 141 "describe.pgc" strcpy(msg, "disconnect"); { ECPGdisconnect(__LINE__, "CURRENT"); #line 144 "describe.pgc" if (sqlca.sqlcode < 0) exit (1);} #line 144 "describe.pgc" return (0); }