int main(void) { /* exec sql begin declare section */ /* char **d8=0; */ /* int *i8=0; */ #line 9 "dynalloc.pgc" int * d1 = 0 ; #line 10 "dynalloc.pgc" double * d2 = 0 ; #line 11 "dynalloc.pgc" char ** d3 = 0 ; #line 12 "dynalloc.pgc" char ** d4 = 0 ; #line 13 "dynalloc.pgc" char ** d5 = 0 ; #line 14 "dynalloc.pgc" char ** d6 = 0 ; #line 15 "dynalloc.pgc" char ** d7 = 0 ; #line 17 "dynalloc.pgc" char ** d9 = 0 ; #line 18 "dynalloc.pgc" int * i1 = 0 ; #line 19 "dynalloc.pgc" int * i2 = 0 ; #line 20 "dynalloc.pgc" int * i3 = 0 ; #line 21 "dynalloc.pgc" int * i4 = 0 ; #line 22 "dynalloc.pgc" int * i5 = 0 ; #line 23 "dynalloc.pgc" int * i6 = 0 ; #line 24 "dynalloc.pgc" int * i7 = 0 ; #line 26 "dynalloc.pgc" int * i9 = 0 ; /* exec sql end declare section */ #line 27 "dynalloc.pgc" int i; ECPGdebug(1, stderr); /* exec sql whenever sqlerror do sqlprint ( ) ; */ #line 32 "dynalloc.pgc" { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); #line 33 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 33 "dynalloc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "set datestyle to mdy", ECPGt_EOIT, ECPGt_EORT); #line 35 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 35 "dynalloc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table test ( a serial , b numeric ( 12 , 3 ) , c varchar , d varchar ( 3 ) , e char ( 4 ) , f timestamptz , g boolean , h box , i inet )", ECPGt_EOIT, ECPGt_EORT); #line 37 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 37 "dynalloc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into test ( b , c , d , e , f , g , h , i ) values ( 23.456 , 'varchar' , 'v' , 'c' , '2003-03-03 12:33:07 PDT' , true , '(1,2,3,4)' , '2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128' )", ECPGt_EOIT, ECPGt_EORT); #line 38 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 38 "dynalloc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into test ( b , c , d , e , f , g , h , i ) values ( 2.446456 , null , 'v' , 'c' , '2003-03-03 12:33:07 PDT' , false , null , null )", ECPGt_EOIT, ECPGt_EORT); #line 39 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 39 "dynalloc.pgc" ECPGallocate_desc(__LINE__, "mydesc"); #line 41 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( ); #line 41 "dynalloc.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select a , b , c , d , e , f , g , h , i from test order by a", ECPGt_EOIT, ECPGt_descriptor, "mydesc", 1L, 1L, 1L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); #line 42 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 42 "dynalloc.pgc" { ECPGget_desc(__LINE__, "mydesc", 1,ECPGd_indicator, ECPGt_int,&(i1),(long)1,(long)0,sizeof(int), ECPGd_data, ECPGt_int,&(d1),(long)1,(long)0,sizeof(int), ECPGd_EODT); #line 43 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 43 "dynalloc.pgc" { ECPGget_desc(__LINE__, "mydesc", 2,ECPGd_indicator, ECPGt_int,&(i2),(long)1,(long)0,sizeof(int), ECPGd_data, ECPGt_double,&(d2),(long)1,(long)0,sizeof(double), ECPGd_EODT); #line 44 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 44 "dynalloc.pgc" { ECPGget_desc(__LINE__, "mydesc", 3,ECPGd_indicator, ECPGt_int,&(i3),(long)1,(long)0,sizeof(int), ECPGd_data, ECPGt_char,&(d3),(long)0,(long)0,(1)*sizeof(char), ECPGd_EODT); #line 45 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 45 "dynalloc.pgc" { ECPGget_desc(__LINE__, "mydesc", 4,ECPGd_indicator, ECPGt_int,&(i4),(long)1,(long)0,sizeof(int), ECPGd_data, ECPGt_char,&(d4),(long)0,(long)0,(1)*sizeof(char), ECPGd_EODT); #line 46 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 46 "dynalloc.pgc" { ECPGget_desc(__LINE__, "mydesc", 5,ECPGd_indicator, ECPGt_int,&(i5),(long)1,(long)0,sizeof(int), ECPGd_data, ECPGt_char,&(d5),(long)0,(long)0,(1)*sizeof(char), ECPGd_EODT); #line 47 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 47 "dynalloc.pgc" { ECPGget_desc(__LINE__, "mydesc", 6,ECPGd_indicator, ECPGt_int,&(i6),(long)1,(long)0,sizeof(int), ECPGd_data, ECPGt_char,&(d6),(long)0,(long)0,(1)*sizeof(char), ECPGd_EODT); #line 48 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 48 "dynalloc.pgc" { ECPGget_desc(__LINE__, "mydesc", 7,ECPGd_indicator, ECPGt_int,&(i7),(long)1,(long)0,sizeof(int), ECPGd_data, ECPGt_char,&(d7),(long)0,(long)0,(1)*sizeof(char), ECPGd_EODT); #line 49 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 49 "dynalloc.pgc" /* skip box for now */ /* exec sql get descriptor mydesc value 8 :d8=DATA, :i8=INDICATOR; */ { ECPGget_desc(__LINE__, "mydesc", 9,ECPGd_indicator, ECPGt_int,&(i9),(long)1,(long)0,sizeof(int), ECPGd_data, ECPGt_char,&(d9),(long)0,(long)0,(1)*sizeof(char), ECPGd_EODT); #line 52 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 52 "dynalloc.pgc" printf("Result:\n"); for (i=0;i<sqlca.sqlerrd[2];++i) { if (i1[i]) printf("NULL, "); else printf("%d, ",d1[i]); if (i2[i]) printf("NULL, "); else printf("%f, ",d2[i]); if (i3[i]) printf("NULL, "); else printf("'%s', ",d3[i]); if (i4[i]) printf("NULL, "); else printf("'%s', ",d4[i]); if (i5[i]) printf("NULL, "); else printf("'%s', ",d5[i]); if (i6[i]) printf("NULL, "); else printf("'%s', ",d6[i]); if (i7[i]) printf("NULL, "); else printf("'%s', ",d7[i]); if (i9[i]) printf("NULL, "); else printf("'%s', ",d9[i]); printf("\n"); } ECPGfree_auto_mem(); printf("\n"); ECPGdeallocate_desc(__LINE__, "mydesc"); #line 86 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( ); #line 86 "dynalloc.pgc" { ECPGdisconnect(__LINE__, "CURRENT"); #line 87 "dynalloc.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} #line 87 "dynalloc.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, "regress1" , 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", 0, 0, 0, NULL); #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", 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 60 "describe.pgc" { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1", ECPGt_descriptor, "desc2", 0L, 0L, 0L, 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", 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 146 "describe.pgc" { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2", ECPGt_descriptor, "desc2", 0L, 0L, 0L, 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 || sqlda1 == NULL || sqlda2 == 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", 0, 0, 0, NULL); #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 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); }