Ejemplo n.º 1
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;
}
Ejemplo n.º 2
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);
}