diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 7904efa1476ec6889045c499055a850c545a062d..1483e0a4f76b8cbf5ce534762cf01f70739f7c9e 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -2064,5 +2064,9 @@ We Aug  2 13:15:25 CEST 2006
 	- Implemented EXEC SQL UNDEF.
 	- Applied first version of the regression test patch by Joachim
 	  Wieland <joe@mcknight.de>.
+
+Th Aug  3 14:45:06 CEST 2006
+
+	- Applied test suite update by Joachim Wieland <joe@mcknight.de>.
 	- Set ecpg library version to 5.2.
 	- Set ecpg version to 4.2.1.
diff --git a/src/interfaces/ecpg/test/compat_informix/test_informix2.pgc b/src/interfaces/ecpg/test/compat_informix/test_informix2.pgc
index 73f5872da839ff1d04ba446106b964ded5bcf216..4c72c42017888c2a2b30fc643645b7eaa2b6ceb3 100644
--- a/src/interfaces/ecpg/test/compat_informix/test_informix2.pgc
+++ b/src/interfaces/ecpg/test/compat_informix/test_informix2.pgc
@@ -48,10 +48,13 @@ int main(void)
 	EXEC SQL BEGIN DECLARE SECTION;
 		int c;
 		timestamp d;
+		timestamp e;
 		timestamp maxd;
 		char dbname[30];
 	EXEC SQL END DECLARE SECTION;
 
+	interval *intvl;
+
 	EXEC SQL whenever sqlerror sqlprint;
 
 	ECPGdebug(1, stderr);
@@ -91,17 +94,15 @@ int main(void)
 	sql_check("main", "select", 0);
 
 	printf("Read in customer %d\n", c);
-	
-	/* Adding 1 to d adds 1 second. So:
-	         60           1 minute
-	       3600           1 hour
-              86400           1 day */
-	d=d+86400;
+
+	intvl = PGTYPESinterval_from_asc("1 day 2 hours 24 minutes 65 seconds", NULL);
+	PGTYPEStimestamp_add_interval(&d, intvl, &e);
+
 	c++;
 
 	EXEC SQL insert into history
 			(customerid, timestamp, action_taken, narrative)
-			values(:c, :d, 'test', 'test');
+			values(:c, :e, 'test', 'test');
 	sql_check("main", "update", 0);
   
 	EXEC SQL commit;
diff --git a/src/interfaces/ecpg/test/complex/header_test.h b/src/interfaces/ecpg/test/complex/header_test.h
index 85e0ff6459d347215d4e6a801b0bb13acc2486be..aacc8ba7cec4452ff19dfd6d75365f924490620e 100644
--- a/src/interfaces/ecpg/test/complex/header_test.h
+++ b/src/interfaces/ecpg/test/complex/header_test.h
@@ -1,5 +1,3 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/test/complex/header_test.h,v 1.1 2006/08/02 14:14:02 meskes Exp $ */
-
 #include "stdlib.h"
 
 static void
diff --git a/src/interfaces/ecpg/test/complex/test5.pgc b/src/interfaces/ecpg/test/complex/test5.pgc
index dd0f5b8d336c575406dcc30dfcbce334b4711a78..fe4f913a2852a74c0c260db9dbc2134516041d00 100644
--- a/src/interfaces/ecpg/test/complex/test5.pgc
+++ b/src/interfaces/ecpg/test/complex/test5.pgc
@@ -91,10 +91,6 @@ main (void)
 
   EXEC SQL CLOSE B;
 
-  i=a.t[0];
-  a.t[0]=a.t[1];
-  a.t[1]=i;
-
   printf ("name=%s, accs=%d byte=", empl.name, a.accs);
   for (i=0; i<20; i++)
   {
diff --git a/src/interfaces/ecpg/test/errors/init.pgc b/src/interfaces/ecpg/test/errors/init.pgc
index 34b1a21e8930e9230c7d14dc64c959a156e60ebd..5a6b200f537564a20d80e36c767515f958ac68aa 100644
--- a/src/interfaces/ecpg/test/errors/init.pgc
+++ b/src/interfaces/ecpg/test/errors/init.pgc
@@ -73,8 +73,6 @@ int main(void)
 		long long iax /* = 40000000000LL */ ;
 	exec sql end declare section;
 
-	ECPGdebug(1, stderr);
-
 	int f=fa();
 
 #ifdef _cplusplus
@@ -83,6 +81,8 @@ int main(void)
 	exec sql end declare section;
 #endif
 
+	ECPGdebug(1, stderr);
+
 	exec sql whenever sqlerror do fa();
 	exec sql select now();
 	exec sql whenever sqlerror do fb(20);
diff --git a/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c b/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c
index 45c1e97a17f4a157a1e01e6a18d20d011a4f2326..54b9b67db025a7335684efc3f8efeaaa15e8583e 100644
--- a/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c
+++ b/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c
@@ -142,6 +142,7 @@ int main(void)
 		 
 		 
 		 
+		 
 	
 #line 49 "test_informix2.pgc"
  int  c    ;
@@ -150,16 +151,21 @@ int main(void)
  timestamp  d    ;
  
 #line 51 "test_informix2.pgc"
- timestamp  maxd    ;
+ timestamp  e    ;
  
 #line 52 "test_informix2.pgc"
+ timestamp  maxd    ;
+ 
+#line 53 "test_informix2.pgc"
  char  dbname [ 30 ]    ;
 /* exec sql end declare section */
-#line 53 "test_informix2.pgc"
+#line 54 "test_informix2.pgc"
 
 
+	interval *intvl;
+
 	/* exec sql whenever sqlerror  sqlprint ; */
-#line 55 "test_informix2.pgc"
+#line 58 "test_informix2.pgc"
 
 
 	ECPGdebug(1, stderr);
@@ -170,36 +176,36 @@ int main(void)
 */
 	strcpy(dbname, "regress1");
 	{ ECPGconnect(__LINE__, 1, dbname , NULL,NULL , NULL, 0); 
-#line 64 "test_informix2.pgc"
+#line 67 "test_informix2.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 64 "test_informix2.pgc"
+#line 67 "test_informix2.pgc"
 
 	sql_check("main", "connect", 0);
 
 	{ ECPGdo(__LINE__, 1, 0, NULL, "create  table history ( customerid integer   , timestamp timestamp without time zone   , action_taken char  ( 5 )    , narrative varchar ( 100 )    )    ", ECPGt_EOIT, ECPGt_EORT);
-#line 67 "test_informix2.pgc"
+#line 70 "test_informix2.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 67 "test_informix2.pgc"
+#line 70 "test_informix2.pgc"
 
 	sql_check("main", "create", 0);
 	
 	{ ECPGdo(__LINE__, 1, 0, NULL, "insert into history ( customerid  , timestamp  , action_taken  , narrative  ) values( 1 , '2003-05-07 13:28:34 CEST' , 'test' , 'test' )", ECPGt_EOIT, ECPGt_EORT);
-#line 72 "test_informix2.pgc"
+#line 75 "test_informix2.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 72 "test_informix2.pgc"
+#line 75 "test_informix2.pgc"
 
 	sql_check("main", "insert", 0);
 
 	{ ECPGdo(__LINE__, 1, 0, NULL, "select  max ( timestamp )  from history   ", ECPGt_EOIT, 
 	ECPGt_timestamp,&(maxd),(long)1,(long)1,sizeof(timestamp), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 77 "test_informix2.pgc"
+#line 80 "test_informix2.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 77 "test_informix2.pgc"
+#line 80 "test_informix2.pgc"
 
 	sql_check("main", "select max", 100);
 
@@ -216,61 +222,59 @@ if (sqlca.sqlcode < 0) sqlprint();}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_timestamp,&(d),(long)1,(long)1,sizeof(timestamp), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 90 "test_informix2.pgc"
+#line 93 "test_informix2.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 90 "test_informix2.pgc"
+#line 93 "test_informix2.pgc"
 
 	sql_check("main", "select", 0);
 
 	printf("Read in customer %d\n", c);
-	
-	/* Adding 1 to d adds 1 second. So:
-	         60           1 minute
-	       3600           1 hour
-              86400           1 day */
-	d=d+86400;
+
+	intvl = PGTYPESinterval_from_asc("1 day 2 hours 24 minutes 65 seconds", NULL);
+	PGTYPEStimestamp_add_interval(&d, intvl, &e);
+
 	c++;
 
 	{ ECPGdo(__LINE__, 1, 0, NULL, "insert into history ( customerid  , timestamp  , action_taken  , narrative  ) values(  ? ,  ? , 'test' , 'test' )", 
 	ECPGt_int,&(c),(long)1,(long)1,sizeof(int), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
-	ECPGt_timestamp,&(d),(long)1,(long)1,sizeof(timestamp), 
+	ECPGt_timestamp,&(e),(long)1,(long)1,sizeof(timestamp), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 104 "test_informix2.pgc"
+#line 105 "test_informix2.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 104 "test_informix2.pgc"
+#line 105 "test_informix2.pgc"
 
 	sql_check("main", "update", 0);
   
 	{ ECPGtrans(__LINE__, NULL, "commit");
-#line 107 "test_informix2.pgc"
+#line 108 "test_informix2.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 107 "test_informix2.pgc"
+#line 108 "test_informix2.pgc"
 
 
 	{ ECPGdo(__LINE__, 1, 0, NULL, "drop table history ", ECPGt_EOIT, ECPGt_EORT);
-#line 109 "test_informix2.pgc"
+#line 110 "test_informix2.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 109 "test_informix2.pgc"
+#line 110 "test_informix2.pgc"
 
 	sql_check("main", "drop", 0);
 
 	{ ECPGtrans(__LINE__, NULL, "commit");
-#line 112 "test_informix2.pgc"
+#line 113 "test_informix2.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 112 "test_informix2.pgc"
+#line 113 "test_informix2.pgc"
 
 
 	{ ECPGdisconnect(__LINE__, "CURRENT");
-#line 114 "test_informix2.pgc"
+#line 115 "test_informix2.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 114 "test_informix2.pgc"
+#line 115 "test_informix2.pgc"
 
 	sql_check("main", "disconnect", 0);
 
diff --git a/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.stderr b/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.stderr
index 7840075165147a1ac34811e7da92c7da6f798dcf..1261c6e0c16b36ddba3bd95426517ccff9553d66 100644
--- a/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.stderr
+++ b/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.stderr
@@ -2,39 +2,39 @@
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ECPGconnect: opening database regress1 on <DEFAULT> port <DEFAULT> 
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 67: QUERY: create  table history ( customerid integer   , timestamp timestamp without time zone   , action_taken char  ( 5 )    , narrative varchar ( 100 )    )     on connection regress1
+[NO_PID]: ECPGexecute line 70: QUERY: create  table history ( customerid integer   , timestamp timestamp without time zone   , action_taken char  ( 5 )    , narrative varchar ( 100 )    )     on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 67 Ok: CREATE TABLE
+[NO_PID]: ECPGexecute line 70 Ok: CREATE TABLE
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 70: QUERY: insert into history ( customerid  , timestamp  , action_taken  , narrative  ) values( 1 , '2003-05-07 13:28:34 CEST' , 'test' , 'test' ) on connection regress1
+[NO_PID]: ECPGexecute line 73: QUERY: insert into history ( customerid  , timestamp  , action_taken  , narrative  ) values( 1 , '2003-05-07 13:28:34 CEST' , 'test' , 'test' ) on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 70 Ok: INSERT 0 1
+[NO_PID]: ECPGexecute line 73 Ok: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 75: QUERY: select  max ( timestamp )  from history    on connection regress1
+[NO_PID]: ECPGexecute line 78: QUERY: select  max ( timestamp )  from history    on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 75: Correctly got 1 tuples with 1 fields
+[NO_PID]: ECPGexecute line 78: Correctly got 1 tuples with 1 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 75: RESULT: Wed May 07 13:28:34 2003 offset: 8 array: Yes
+[NO_PID]: ECPGget_data line 78: RESULT: Wed May 07 13:28:34 2003 offset: 8 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 86: QUERY: select  customerid , timestamp  from history where timestamp =  timestamp '2003-05-07 13:28:34'    limit 1  on connection regress1
+[NO_PID]: ECPGexecute line 89: QUERY: select  customerid , timestamp  from history where timestamp =  timestamp '2003-05-07 13:28:34'    limit 1  on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 86: Correctly got 1 tuples with 2 fields
+[NO_PID]: ECPGexecute line 89: Correctly got 1 tuples with 2 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 86: RESULT: 1 offset: 4 array: Yes
+[NO_PID]: ECPGget_data line 89: RESULT: 1 offset: 4 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 86: RESULT: Wed May 07 13:28:34 2003 offset: 8 array: Yes
+[NO_PID]: ECPGget_data line 89: RESULT: Wed May 07 13:28:34 2003 offset: 8 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 102: QUERY: insert into history ( customerid  , timestamp  , action_taken  , narrative  ) values(  2 ,  timestamp '2003-05-08 13:28:34' , 'test' , 'test' ) on connection regress1
+[NO_PID]: ECPGexecute line 103: QUERY: insert into history ( customerid  , timestamp  , action_taken  , narrative  ) values(  2 ,  timestamp '2003-05-08 15:53:39' , 'test' , 'test' ) on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 102 Ok: INSERT 0 1
+[NO_PID]: ECPGexecute line 103 Ok: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGtrans line 107 action = commit connection = regress1
+[NO_PID]: ECPGtrans line 108 action = commit connection = regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 109: QUERY: drop table history  on connection regress1
+[NO_PID]: ECPGexecute line 110: QUERY: drop table history  on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 109 Ok: DROP TABLE
+[NO_PID]: ECPGexecute line 110 Ok: DROP TABLE
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGtrans line 112 action = commit connection = regress1
+[NO_PID]: ECPGtrans line 113 action = commit connection = regress1
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ecpg_finish: Connection regress1 closed.
 [NO_PID]: sqlca: code: 0, state: 00000
diff --git a/src/interfaces/ecpg/test/expected/complex-test2.c b/src/interfaces/ecpg/test/expected/complex-test2.c
index 37fe434c14d663f0b27e995c1238bad5ed3c2b9e..92fe0fabf06d9af17842e23dd4ec13634761661e 100644
--- a/src/interfaces/ecpg/test/expected/complex-test2.c
+++ b/src/interfaces/ecpg/test/expected/complex-test2.c
@@ -12,8 +12,6 @@
 
 
 #line 1 "./header_test.h"
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/test/expected/complex-test2.c,v 1.1 2006/08/02 14:14:02 meskes Exp $ */
-
 #include "stdlib.h"
 
 static void
@@ -24,19 +22,19 @@ Finish(char *msg)
 
 	/* finish transaction */
 	{ ECPGtrans(__LINE__, NULL, "rollback");}
-#line 12 "./header_test.h"
+#line 10 "./header_test.h"
 
 
 	/* and remove test table */
 	{ ECPGdo(__LINE__, 0, 1, NULL, "drop table meskes ", ECPGt_EOIT, ECPGt_EORT);}
-#line 15 "./header_test.h"
+#line 13 "./header_test.h"
 
 	{ ECPGtrans(__LINE__, NULL, "commit");}
-#line 16 "./header_test.h"
+#line 14 "./header_test.h"
 
 
 	{ ECPGdisconnect(__LINE__, "CURRENT");}
-#line 18 "./header_test.h"
+#line 16 "./header_test.h"
 
 
 	exit(-1);
@@ -49,10 +47,10 @@ warn(void)
 }
 
 /* exec sql whenever sqlerror  do Finish ( msg ) ; */
-#line 31 "./header_test.h"
+#line 29 "./header_test.h"
 
 /* exec sql whenever sql_warning  do warn (  ) ; */
-#line 34 "./header_test.h"
+#line 32 "./header_test.h"
 
 
 #line 4 "test2.pgc"
diff --git a/src/interfaces/ecpg/test/expected/complex-test3.c b/src/interfaces/ecpg/test/expected/complex-test3.c
index 1f359379627d0e99f59a67e0da69bf21602123ab..e97822a8ce3115020322bc35e92d035703660405 100644
--- a/src/interfaces/ecpg/test/expected/complex-test3.c
+++ b/src/interfaces/ecpg/test/expected/complex-test3.c
@@ -12,8 +12,6 @@
 /*--------------------------------------------------------------------------*/
 
 #line 1 "./header_test.h"
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/test/expected/complex-test3.c,v 1.1 2006/08/02 14:14:02 meskes Exp $ */
-
 #include "stdlib.h"
 
 static void
@@ -24,19 +22,19 @@ Finish(char *msg)
 
 	/* finish transaction */
 	{ ECPGtrans(__LINE__, NULL, "rollback");}
-#line 12 "./header_test.h"
+#line 10 "./header_test.h"
 
 
 	/* and remove test table */
 	{ ECPGdo(__LINE__, 0, 1, NULL, "drop table meskes ", ECPGt_EOIT, ECPGt_EORT);}
-#line 15 "./header_test.h"
+#line 13 "./header_test.h"
 
 	{ ECPGtrans(__LINE__, NULL, "commit");}
-#line 16 "./header_test.h"
+#line 14 "./header_test.h"
 
 
 	{ ECPGdisconnect(__LINE__, "CURRENT");}
-#line 18 "./header_test.h"
+#line 16 "./header_test.h"
 
 
 	exit(-1);
@@ -49,10 +47,10 @@ warn(void)
 }
 
 /* exec sql whenever sqlerror  do Finish ( msg ) ; */
-#line 31 "./header_test.h"
+#line 29 "./header_test.h"
 
 /* exec sql whenever sql_warning  do warn (  ) ; */
-#line 34 "./header_test.h"
+#line 32 "./header_test.h"
 
 
 #line 4 "test3.pgc"
diff --git a/src/interfaces/ecpg/test/expected/complex-test5.c b/src/interfaces/ecpg/test/expected/complex-test5.c
index 80cc3adf8e35ccb83ecd334463fe9dcd46948e5e..ad70df22c9194abcc024301b280c1ab78f05bb35 100644
--- a/src/interfaces/ecpg/test/expected/complex-test5.c
+++ b/src/interfaces/ecpg/test/expected/complex-test5.c
@@ -199,10 +199,6 @@ main (void)
 #line 92 "test5.pgc"
 
 
-  i=a.t[0];
-  a.t[0]=a.t[1];
-  a.t[1]=i;
-
   printf ("name=%s, accs=%d byte=", empl.name, a.accs);
   for (i=0; i<20; i++)
   {
@@ -212,7 +208,7 @@ main (void)
   }
   printf("\n");
   { ECPGdisconnect(__LINE__, "CURRENT");}
-#line 106 "test5.pgc"
+#line 102 "test5.pgc"
 
   exit (0);
 }
diff --git a/src/interfaces/ecpg/test/expected/complex-test5.stdout b/src/interfaces/ecpg/test/expected/complex-test5.stdout
index ef7072c7084d072c64799d20377d763684fc139a..06f970a6e6fb62bd7fdf3d3c6a212f9e98a98870 100644
--- a/src/interfaces/ecpg/test/expected/complex-test5.stdout
+++ b/src/interfaces/ecpg/test/expected/complex-test5.stdout
@@ -1,3 +1,3 @@
 name=first user          , accs=320 byte=\001m\000\212
 name=first user          , accs=320 byte=\001m\000\212
-name=first user          , accs=320 byte=(1)(155)(0)(212)
+name=first user          , accs=16385 byte=(1)(155)(0)(212)
diff --git a/src/interfaces/ecpg/test/expected/errors-init.c b/src/interfaces/ecpg/test/expected/errors-init.c
index 5ef5507ba6291ef790e0d3ebb4512dadeb9aedc6..2907a040256c650b750dab9078c5cc74408fcd10 100644
--- a/src/interfaces/ecpg/test/expected/errors-init.c
+++ b/src/interfaces/ecpg/test/expected/errors-init.c
@@ -190,21 +190,21 @@ int main(void)
 #line 74 "init.pgc"
 
 
-	ECPGdebug(1, stderr);
-
 	int f=fa();
 
 #ifdef _cplusplus
 	/* exec sql begin declare section */
 	  /* compile error */
 	
-#line 82 "init.pgc"
+#line 80 "init.pgc"
  int  k   = N : : i ;
 /* exec sql end declare section */
-#line 83 "init.pgc"
+#line 81 "init.pgc"
 
 #endif
 
+	ECPGdebug(1, stderr);
+
 	/* exec sql whenever sqlerror  do fa (  ) ; */
 #line 86 "init.pgc"
 
diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c
index 76465a18e9c9ab7561d37b755bc5bf05de62caa7..ea6831a9fcf819f4e8716dc1a7fa62a68c2cddd4 100644
--- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c
+++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c
@@ -7,8 +7,6 @@
 /* End of automatic include section */
 
 #line 1 "dt_test.pgc"
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c,v 1.1 2006/08/02 14:14:03 meskes Exp $ */
-
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
@@ -24,7 +22,7 @@
 
 
 
-#line 10 "dt_test.pgc"
+#line 8 "dt_test.pgc"
 
 
 int
@@ -36,19 +34,19 @@ main(void)
 		 
 		 
 	
-#line 16 "dt_test.pgc"
+#line 14 "dt_test.pgc"
  date  date1    ;
  
-#line 17 "dt_test.pgc"
+#line 15 "dt_test.pgc"
  timestamp  ts1    ;
  
-#line 18 "dt_test.pgc"
+#line 16 "dt_test.pgc"
  interval  iv1    ;
  
-#line 19 "dt_test.pgc"
+#line 17 "dt_test.pgc"
  char * text    ;
 /* exec sql end declare section */
-#line 20 "dt_test.pgc"
+#line 18 "dt_test.pgc"
 
 	date date2;
 	int mdy[3] = { 4, 19, 1998 };
@@ -59,25 +57,25 @@ main(void)
 
         ECPGdebug(1, stderr);
         /* exec sql whenever sqlerror  do sqlprint (  ) ; */
-#line 29 "dt_test.pgc"
+#line 27 "dt_test.pgc"
 
         { ECPGconnect(__LINE__, 0, "regress1" , NULL,NULL , NULL, 0); 
-#line 30 "dt_test.pgc"
+#line 28 "dt_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 30 "dt_test.pgc"
+#line 28 "dt_test.pgc"
 
         { ECPGdo(__LINE__, 0, 1, NULL, "create  table date_test ( d date   , ts timestamp    , iv interval    )    ", ECPGt_EOIT, ECPGt_EORT);
-#line 31 "dt_test.pgc"
+#line 29 "dt_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 31 "dt_test.pgc"
+#line 29 "dt_test.pgc"
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT);
-#line 32 "dt_test.pgc"
+#line 30 "dt_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 32 "dt_test.pgc"
+#line 30 "dt_test.pgc"
 
 
 	date1 = PGTYPESdate_from_asc(d1, NULL); 
@@ -88,10 +86,10 @@ if (sqlca.sqlcode < 0) sqlprint (  );}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_timestamp,&(ts1),(long)1,(long)1,sizeof(timestamp), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 37 "dt_test.pgc"
+#line 35 "dt_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 37 "dt_test.pgc"
+#line 35 "dt_test.pgc"
 
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "select  *  from date_test where d =  ?  ", 
@@ -103,10 +101,10 @@ if (sqlca.sqlcode < 0) sqlprint (  );}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_interval,&(iv1),(long)1,(long)1,sizeof(interval), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 39 "dt_test.pgc"
+#line 37 "dt_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 39 "dt_test.pgc"
+#line 37 "dt_test.pgc"
 
 
 	text = PGTYPESdate_to_asc(date1);
@@ -425,16 +423,16 @@ if (sqlca.sqlcode < 0) sqlprint (  );}
 	free(text);
 
 	{ ECPGtrans(__LINE__, NULL, "rollback");
-#line 356 "dt_test.pgc"
+#line 354 "dt_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 356 "dt_test.pgc"
+#line 354 "dt_test.pgc"
 
         { ECPGdisconnect(__LINE__, "CURRENT");
-#line 357 "dt_test.pgc"
+#line 355 "dt_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 357 "dt_test.pgc"
+#line 355 "dt_test.pgc"
 
 
 	return (0);
diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr
index 1192d2b10317f814ca293ab5e3711889453da67d..e1377e3f37d7ff3693fa271bf2d36e39dad0abd5 100644
--- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr
+++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr
@@ -2,29 +2,29 @@
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ECPGconnect: opening database regress1 on <DEFAULT> port <DEFAULT> 
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 31: QUERY: create  table date_test ( d date   , ts timestamp    , iv interval    )     on connection regress1
+[NO_PID]: ECPGexecute line 29: QUERY: create  table date_test ( d date   , ts timestamp    , iv interval    )     on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 31 Ok: CREATE TABLE
+[NO_PID]: ECPGexecute line 29 Ok: CREATE TABLE
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 32: QUERY: set datestyle to iso on connection regress1
+[NO_PID]: ECPGexecute line 30: QUERY: set datestyle to iso on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 32 Ok: SET
+[NO_PID]: ECPGexecute line 30 Ok: SET
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 37: QUERY: insert into date_test ( d  , ts  , iv  ) values(  date '1966-01-17' ,  timestamp '2000-07-12 17:34:29' , '2003-02-28 12:34' :: timestamp   - 'Mon Jan 17 1966' :: timestamp   ) on connection regress1
+[NO_PID]: ECPGexecute line 35: QUERY: insert into date_test ( d  , ts  , iv  ) values(  date '1966-01-17' ,  timestamp '2000-07-12 17:34:29' , '2003-02-28 12:34' :: timestamp   - 'Mon Jan 17 1966' :: timestamp   ) on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 37 Ok: INSERT 0 1
+[NO_PID]: ECPGexecute line 35 Ok: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 39: QUERY: select  *  from date_test where d =  date '1966-01-17'   on connection regress1
+[NO_PID]: ECPGexecute line 37: QUERY: select  *  from date_test where d =  date '1966-01-17'   on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 39: Correctly got 1 tuples with 3 fields
+[NO_PID]: ECPGexecute line 37: Correctly got 1 tuples with 3 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 39: RESULT: 1966-01-17 offset: 4 array: Yes
+[NO_PID]: ECPGget_data line 37: RESULT: 1966-01-17 offset: 4 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 39: RESULT: 2000-07-12 17:34:29 offset: 8 array: Yes
+[NO_PID]: ECPGget_data line 37: RESULT: 2000-07-12 17:34:29 offset: 8 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 39: RESULT: 13556 days 12:34:00 offset: 12 array: Yes
+[NO_PID]: ECPGget_data line 37: RESULT: 13556 days 12:34:00 offset: 12 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGtrans line 356 action = rollback connection = regress1
+[NO_PID]: ECPGtrans line 354 action = rollback connection = regress1
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ecpg_finish: Connection regress1 closed.
 [NO_PID]: sqlca: code: 0, state: 00000
diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c b/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c
index b7195ccc890b3aad05cb044d6b6dcf46fbc7ca55..58ca7964ca3e3fe93ef3a0c092404301424c61ab 100644
--- a/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c
+++ b/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c
@@ -7,8 +7,6 @@
 /* End of automatic include section */
 
 #line 1 "num_test.pgc"
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c,v 1.1 2006/08/02 14:14:03 meskes Exp $ */
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <pgtypes_numeric.h>
@@ -22,7 +20,7 @@
 
 
 
-#line 8 "num_test.pgc"
+#line 6 "num_test.pgc"
 
 
 int
@@ -34,36 +32,36 @@ main(void)
 		 
 		/* = {0, 0, 0, 0, 0, NULL, NULL} ; */
 	
-#line 16 "num_test.pgc"
+#line 14 "num_test.pgc"
  numeric * des    ;
 /* exec sql end declare section */
-#line 18 "num_test.pgc"
+#line 16 "num_test.pgc"
 
 	double d;
 
 	ECPGdebug(1, stderr);
 	/* exec sql whenever sqlerror  do sqlprint (  ) ; */
-#line 22 "num_test.pgc"
+#line 20 "num_test.pgc"
 
 
 	{ ECPGconnect(__LINE__, 0, "regress1" , NULL,NULL , NULL, 0); 
-#line 24 "num_test.pgc"
+#line 22 "num_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 24 "num_test.pgc"
+#line 22 "num_test.pgc"
 
 
 	{ ECPGsetcommit(__LINE__, "off", NULL);
-#line 26 "num_test.pgc"
+#line 24 "num_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 26 "num_test.pgc"
+#line 24 "num_test.pgc"
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "create  table test ( text char  ( 5 )    , num numeric ( 14 , 7 )   )    ", ECPGt_EOIT, ECPGt_EORT);
-#line 27 "num_test.pgc"
+#line 25 "num_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 27 "num_test.pgc"
+#line 25 "num_test.pgc"
 
 
 	value1 = PGTYPESnumeric_new();
@@ -92,10 +90,10 @@ if (sqlca.sqlcode < 0) sqlprint (  );}
 	{ ECPGdo(__LINE__, 0, 1, NULL, "insert into test ( text  , num  ) values( 'test' ,  ? )", 
 	ECPGt_numeric,&(des),(long)1,(long)0,sizeof(numeric), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 52 "num_test.pgc"
+#line 50 "num_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 52 "num_test.pgc"
+#line 50 "num_test.pgc"
 
 
 	value2 = PGTYPESnumeric_from_asc("2369.7", NULL);
@@ -105,10 +103,10 @@ if (sqlca.sqlcode < 0) sqlprint (  );}
 	{ ECPGdo(__LINE__, 0, 1, NULL, "select  num  from test where text = 'test'  ", ECPGt_EOIT, 
 	ECPGt_numeric,&(des),(long)1,(long)0,sizeof(numeric), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 58 "num_test.pgc"
+#line 56 "num_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 58 "num_test.pgc"
+#line 56 "num_test.pgc"
 
 
 	PGTYPESnumeric_mul(res, des, res);
@@ -128,16 +126,16 @@ if (sqlca.sqlcode < 0) sqlprint (  );}
 	PGTYPESnumeric_free(res);
 
 	{ ECPGtrans(__LINE__, NULL, "rollback");
-#line 76 "num_test.pgc"
+#line 74 "num_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 76 "num_test.pgc"
+#line 74 "num_test.pgc"
 
 	{ ECPGdisconnect(__LINE__, "CURRENT");
-#line 77 "num_test.pgc"
+#line 75 "num_test.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 77 "num_test.pgc"
+#line 75 "num_test.pgc"
 
 
 	return (0);
diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stderr b/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stderr
index f7aade1a8b97dacccc61c6b71149aa09ec34610f..f22986bcdfa203a9f5f08c233f86649cd57d4a12 100644
--- a/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stderr
+++ b/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stderr
@@ -2,23 +2,23 @@
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ECPGconnect: opening database regress1 on <DEFAULT> port <DEFAULT> 
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGsetcommit line 26 action = off connection = regress1
+[NO_PID]: ECPGsetcommit line 24 action = off connection = regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 27: QUERY: create  table test ( text char  ( 5 )    , num numeric ( 14 , 7 )   )     on connection regress1
+[NO_PID]: ECPGexecute line 25: QUERY: create  table test ( text char  ( 5 )    , num numeric ( 14 , 7 )   )     on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 27 Ok: CREATE TABLE
+[NO_PID]: ECPGexecute line 25 Ok: CREATE TABLE
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 52: QUERY: insert into test ( text  , num  ) values( 'test' ,  2369.7 ) on connection regress1
+[NO_PID]: ECPGexecute line 50: QUERY: insert into test ( text  , num  ) values( 'test' ,  2369.7 ) on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 52 Ok: INSERT 0 1
+[NO_PID]: ECPGexecute line 50 Ok: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 58: QUERY: select  num  from test where text = 'test'   on connection regress1
+[NO_PID]: ECPGexecute line 56: QUERY: select  num  from test where text = 'test'   on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 58: Correctly got 1 tuples with 1 fields
+[NO_PID]: ECPGexecute line 56: Correctly got 1 tuples with 1 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 58: RESULT: 2369.7000000 offset: 28 array: Yes
+[NO_PID]: ECPGget_data line 56: RESULT: 2369.7000000 offset: 28 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGtrans line 76 action = rollback connection = regress1
+[NO_PID]: ECPGtrans line 74 action = rollback connection = regress1
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ecpg_finish: Connection regress1 closed.
 [NO_PID]: sqlca: code: 0, state: 00000
diff --git a/src/interfaces/ecpg/test/expected/sql-desc.c b/src/interfaces/ecpg/test/expected/sql-desc.c
index 106fd6d0c863271764dd3186068c792a89e0bc1d..aef542de8565cf3fd44170f13745c879d0ca805d 100644
--- a/src/interfaces/ecpg/test/expected/sql-desc.c
+++ b/src/interfaces/ecpg/test/expected/sql-desc.c
@@ -33,6 +33,7 @@ main(void)
 	      
 	      
 	   
+	  
 	
 #line 8 "desc.pgc"
  char * stmt1   = "INSERT INTO test1 VALUES (?, ?)" ;
@@ -54,102 +55,105 @@ main(void)
  
 #line 15 "desc.pgc"
  int  val2null   = - 1 ;
-/* exec sql end declare section */
+ 
 #line 16 "desc.pgc"
+ int  ind1    ,  ind2    ;
+/* exec sql end declare section */
+#line 17 "desc.pgc"
 
 
 	ECPGdebug(1, stderr);
 
 	ECPGallocate_desc(__LINE__, "indesc");
-#line 20 "desc.pgc"
+#line 21 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();
-#line 20 "desc.pgc"
+#line 21 "desc.pgc"
 
 	ECPGallocate_desc(__LINE__, "outdesc");
-#line 21 "desc.pgc"
+#line 22 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();
-#line 21 "desc.pgc"
+#line 22 "desc.pgc"
 
 
 	{ ECPGset_desc(__LINE__, "indesc", 1,ECPGd_data,
 	ECPGt_int,&(val1),(long)1,(long)1,sizeof(int), ECPGd_EODT);
 
-#line 23 "desc.pgc"
+#line 24 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 23 "desc.pgc"
+#line 24 "desc.pgc"
 
 	{ ECPGset_desc(__LINE__, "indesc", 2,ECPGd_data,
 	ECPGt_char,&(val2),(long)-1,(long)1,(-1)*sizeof(char), ECPGd_indicator,
 	ECPGt_int,&(val2i),(long)1,(long)1,sizeof(int), ECPGd_EODT);
 
-#line 24 "desc.pgc"
+#line 25 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 24 "desc.pgc"
+#line 25 "desc.pgc"
 
 
 	{ ECPGconnect(__LINE__, 0, "regress1" , NULL,NULL , NULL, 0); 
-#line 26 "desc.pgc"
+#line 27 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 26 "desc.pgc"
+#line 27 "desc.pgc"
 
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "create  table test1 ( a int   , b text   )    ", ECPGt_EOIT, ECPGt_EORT);
-#line 28 "desc.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 28 "desc.pgc"
-
-	{ ECPGprepare(__LINE__, "foo1" , stmt1);
 #line 29 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
 #line 29 "desc.pgc"
 
-	{ ECPGprepare(__LINE__, "foo2" , stmt2);
+	{ ECPGprepare(__LINE__, "foo1" , stmt1);
 #line 30 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
 #line 30 "desc.pgc"
 
-	{ ECPGprepare(__LINE__, "foo3" , stmt3);
+	{ ECPGprepare(__LINE__, "foo2" , stmt2);
 #line 31 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
 #line 31 "desc.pgc"
 
+	{ ECPGprepare(__LINE__, "foo3" , stmt3);
+#line 32 "desc.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint();}
+#line 32 "desc.pgc"
+
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "?", 
 	ECPGt_char_variable,(ECPGprepared_statement("foo1")),(long)1,(long)1,(1)*sizeof(char), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_descriptor, "indesc", 0L, 0L, 0L, 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 33 "desc.pgc"
+#line 34 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 33 "desc.pgc"
+#line 34 "desc.pgc"
 
 
 	{ ECPGset_desc(__LINE__, "indesc", 1,ECPGd_data,
 	ECPGt_const,"2",(long)1,(long)1,strlen("2"), ECPGd_EODT);
 
-#line 35 "desc.pgc"
+#line 36 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 35 "desc.pgc"
+#line 36 "desc.pgc"
 
 	{ ECPGset_desc(__LINE__, "indesc", 2,ECPGd_data,
 	ECPGt_char,&(val2),(long)-1,(long)1,(-1)*sizeof(char), ECPGd_indicator,
 	ECPGt_int,&(val2null),(long)1,(long)1,sizeof(int), ECPGd_EODT);
 
-#line 36 "desc.pgc"
+#line 37 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 36 "desc.pgc"
+#line 37 "desc.pgc"
 
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "?", 
@@ -157,28 +161,28 @@ if (sqlca.sqlcode < 0) sqlprint();}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_descriptor, "indesc", 0L, 0L, 0L, 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 38 "desc.pgc"
+#line 39 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 38 "desc.pgc"
+#line 39 "desc.pgc"
 
 
 	{ ECPGset_desc(__LINE__, "indesc", 1,ECPGd_data,
 	ECPGt_int,&(val1),(long)1,(long)1,sizeof(int), ECPGd_EODT);
 
-#line 40 "desc.pgc"
+#line 41 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 40 "desc.pgc"
+#line 41 "desc.pgc"
 
 	{ ECPGset_desc(__LINE__, "indesc", 2,ECPGd_data,
 	ECPGt_char,&(val2),(long)-1,(long)1,(-1)*sizeof(char), ECPGd_indicator,
 	ECPGt_int,&(val2i),(long)1,(long)1,sizeof(int), ECPGd_EODT);
 
-#line 41 "desc.pgc"
+#line 42 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 41 "desc.pgc"
+#line 42 "desc.pgc"
 
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "?", 
@@ -188,83 +192,84 @@ if (sqlca.sqlcode < 0) sqlprint();}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, 
 	ECPGt_descriptor, "outdesc", 0L, 0L, 0L, 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 43 "desc.pgc"
+#line 44 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 43 "desc.pgc"
+#line 44 "desc.pgc"
 
 
 	{ ECPGget_desc(__LINE__, "outdesc", 1,ECPGd_data,
 	ECPGt_char,&(val2output),(long)-1,(long)1,(-1)*sizeof(char), ECPGd_EODT);
 
-#line 45 "desc.pgc"
+#line 46 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 45 "desc.pgc"
+#line 46 "desc.pgc"
 
 	printf("output = %s\n", val2output);
 
 	/* declare c1  cursor  for ? */
-#line 48 "desc.pgc"
+#line 49 "desc.pgc"
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "declare c1  cursor  for ?", 
 	ECPGt_char_variable,(ECPGprepared_statement("foo2")),(long)1,(long)1,(1)*sizeof(char), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_descriptor, "indesc", 0L, 0L, 0L, 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 49 "desc.pgc"
+#line 50 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 49 "desc.pgc"
+#line 50 "desc.pgc"
 
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "fetch next from c1", ECPGt_EOIT, 
 	ECPGt_int,&(val1output),(long)1,(long)1,sizeof(int), 
-	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
+	ECPGt_int,&(ind1),(long)1,(long)1,sizeof(int), 
 	ECPGt_char,&(val2output),(long)-1,(long)1,(-1)*sizeof(char), 
-	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 51 "desc.pgc"
+	ECPGt_int,&(ind2),(long)1,(long)1,sizeof(int), ECPGt_EORT);
+#line 52 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 51 "desc.pgc"
+#line 52 "desc.pgc"
 
-	printf("val1=%d val2=%s\n", val1output, val2output);
+	printf("val1=%d (ind1: %d) val2=%s (ind2: %d)\n",
+		val1output, ind1, val2output, ind2);
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "close c1", ECPGt_EOIT, ECPGt_EORT);
-#line 54 "desc.pgc"
+#line 56 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 54 "desc.pgc"
+#line 56 "desc.pgc"
 
 
 	{ ECPGset_desc_header(__LINE__, "indesc", (int)(1));
 
-#line 56 "desc.pgc"
+#line 58 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 56 "desc.pgc"
+#line 58 "desc.pgc"
 
 	{ ECPGset_desc(__LINE__, "indesc", 1,ECPGd_data,
 	ECPGt_const,"2",(long)1,(long)1,strlen("2"), ECPGd_EODT);
 
-#line 57 "desc.pgc"
+#line 59 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 57 "desc.pgc"
+#line 59 "desc.pgc"
 
 
 	/* declare c2  cursor  for ? */
-#line 59 "desc.pgc"
+#line 61 "desc.pgc"
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "declare c2  cursor  for ?", 
 	ECPGt_char_variable,(ECPGprepared_statement("foo3")),(long)1,(long)1,(1)*sizeof(char), 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_descriptor, "indesc", 0L, 0L, 0L, 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 60 "desc.pgc"
+#line 62 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 60 "desc.pgc"
+#line 62 "desc.pgc"
 
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "fetch next from c2", ECPGt_EOIT, 
@@ -272,18 +277,18 @@ if (sqlca.sqlcode < 0) sqlprint();}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_char,&(val2output),(long)-1,(long)1,(-1)*sizeof(char), 
 	ECPGt_int,&(val2i),(long)1,(long)1,sizeof(int), ECPGt_EORT);
-#line 62 "desc.pgc"
+#line 64 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 62 "desc.pgc"
+#line 64 "desc.pgc"
 
 	printf("val1=%d val2=%s\n", val1output, val2i ? "null" : val2output);
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "close c2", ECPGt_EOIT, ECPGt_EORT);
-#line 65 "desc.pgc"
+#line 67 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 65 "desc.pgc"
+#line 67 "desc.pgc"
 
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "select  *  from test1 where a = 2  ", ECPGt_EOIT, 
@@ -291,37 +296,37 @@ if (sqlca.sqlcode < 0) sqlprint();}
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
 	ECPGt_char,&(val2output),(long)-1,(long)1,(-1)*sizeof(char), 
 	ECPGt_int,&(val2i),(long)1,(long)1,sizeof(int), ECPGt_EORT);
-#line 67 "desc.pgc"
+#line 69 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 67 "desc.pgc"
+#line 69 "desc.pgc"
 
 	printf("val1=%d val2=%s\n", val1output, val2i ? "null" : val2output);
 
 	{ ECPGdo(__LINE__, 0, 1, NULL, "drop table test1 ", ECPGt_EOIT, ECPGt_EORT);
-#line 70 "desc.pgc"
+#line 72 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 70 "desc.pgc"
+#line 72 "desc.pgc"
 
 	{ ECPGdisconnect(__LINE__, "CURRENT");
-#line 71 "desc.pgc"
+#line 73 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();}
-#line 71 "desc.pgc"
+#line 73 "desc.pgc"
 
 
 	ECPGdeallocate_desc(__LINE__, "indesc");
-#line 73 "desc.pgc"
+#line 75 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();
-#line 73 "desc.pgc"
+#line 75 "desc.pgc"
 
 	ECPGdeallocate_desc(__LINE__, "outdesc");
-#line 74 "desc.pgc"
+#line 76 "desc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint();
-#line 74 "desc.pgc"
+#line 76 "desc.pgc"
 
 
 	return 0;
diff --git a/src/interfaces/ecpg/test/expected/sql-desc.stderr b/src/interfaces/ecpg/test/expected/sql-desc.stderr
index f12f8d0fa45b5f626c1a7a2915c293d1879c9fb7..c28be0561e696d12b3c582dcad47dc4157cfae4b 100644
--- a/src/interfaces/ecpg/test/expected/sql-desc.stderr
+++ b/src/interfaces/ecpg/test/expected/sql-desc.stderr
@@ -2,77 +2,77 @@
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ECPGconnect: opening database regress1 on <DEFAULT> port <DEFAULT> 
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 28: QUERY: create  table test1 ( a int   , b text   )     on connection regress1
+[NO_PID]: ECPGexecute line 29: QUERY: create  table test1 ( a int   , b text   )     on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 28 Ok: CREATE TABLE
+[NO_PID]: ECPGexecute line 29 Ok: CREATE TABLE
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGprepare line 29: QUERY: INSERT INTO test1 VALUES (?, ?)
+[NO_PID]: ECPGprepare line 30: QUERY: INSERT INTO test1 VALUES (?, ?)
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGprepare line 30: QUERY: SELECT * from test1 where a = ? and b = ?
+[NO_PID]: ECPGprepare line 31: QUERY: SELECT * from test1 where a = ? and b = ?
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGprepare line 31: QUERY: SELECT * from test1 where a = ?
+[NO_PID]: ECPGprepare line 32: QUERY: SELECT * from test1 where a = ?
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 33: QUERY: INSERT INTO test1 VALUES ('1', '''one''') on connection regress1
+[NO_PID]: ECPGexecute line 34: QUERY: INSERT INTO test1 VALUES ('1', '''one''') on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 33 Ok: INSERT 0 1
+[NO_PID]: ECPGexecute line 34 Ok: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 38: QUERY: INSERT INTO test1 VALUES ('2', null) on connection regress1
+[NO_PID]: ECPGexecute line 39: QUERY: INSERT INTO test1 VALUES ('2', null) on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 38 Ok: INSERT 0 1
+[NO_PID]: ECPGexecute line 39 Ok: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 43: QUERY: SELECT * from test1 where a = '1' and b = '''one''' on connection regress1
+[NO_PID]: ECPGexecute line 44: QUERY: SELECT * from test1 where a = '1' and b = '''one''' on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 43: Correctly got 1 tuples with 2 fields
+[NO_PID]: ECPGexecute line 44: Correctly got 1 tuples with 2 fields
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ECPGexecute putting result (1 tuples) into descriptor 'outdesc'
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ECPGget_desc: reading items for tuple 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 45: RESULT: 1 offset: -1 array: Yes
+[NO_PID]: ECPGget_data line 46: RESULT: 1 offset: -1 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 49: QUERY: declare c1  cursor  for SELECT * from test1 where a = '1' and b = '''one''' on connection regress1
+[NO_PID]: ECPGexecute line 50: QUERY: declare c1  cursor  for SELECT * from test1 where a = '1' and b = '''one''' on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 49 Ok: DECLARE CURSOR
+[NO_PID]: ECPGexecute line 50 Ok: DECLARE CURSOR
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 51: QUERY: fetch next from c1 on connection regress1
+[NO_PID]: ECPGexecute line 52: QUERY: fetch next from c1 on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 51: Correctly got 1 tuples with 2 fields
+[NO_PID]: ECPGexecute line 52: Correctly got 1 tuples with 2 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 51: RESULT: 1 offset: 4 array: Yes
+[NO_PID]: ECPGget_data line 52: RESULT: 1 offset: 4 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 51: RESULT: 'one' offset: -1 array: Yes
+[NO_PID]: ECPGget_data line 52: RESULT: 'one' offset: -1 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 54: QUERY: close c1 on connection regress1
+[NO_PID]: ECPGexecute line 56: QUERY: close c1 on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 54 Ok: CLOSE CURSOR
+[NO_PID]: ECPGexecute line 56 Ok: CLOSE CURSOR
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 60: QUERY: declare c2  cursor  for SELECT * from test1 where a = '2' on connection regress1
+[NO_PID]: ECPGexecute line 62: QUERY: declare c2  cursor  for SELECT * from test1 where a = '2' on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 60 Ok: DECLARE CURSOR
+[NO_PID]: ECPGexecute line 62 Ok: DECLARE CURSOR
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 62: QUERY: fetch next from c2 on connection regress1
+[NO_PID]: ECPGexecute line 64: QUERY: fetch next from c2 on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 62: Correctly got 1 tuples with 2 fields
+[NO_PID]: ECPGexecute line 64: Correctly got 1 tuples with 2 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 62: RESULT: 2 offset: 4 array: Yes
+[NO_PID]: ECPGget_data line 64: RESULT: 2 offset: 4 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 62: RESULT:  offset: -1 array: Yes
+[NO_PID]: ECPGget_data line 64: RESULT:  offset: -1 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 65: QUERY: close c2 on connection regress1
+[NO_PID]: ECPGexecute line 67: QUERY: close c2 on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 65 Ok: CLOSE CURSOR
+[NO_PID]: ECPGexecute line 67 Ok: CLOSE CURSOR
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 67: QUERY: select  *  from test1 where a = 2   on connection regress1
+[NO_PID]: ECPGexecute line 69: QUERY: select  *  from test1 where a = 2   on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 67: Correctly got 1 tuples with 2 fields
+[NO_PID]: ECPGexecute line 69: Correctly got 1 tuples with 2 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 67: RESULT: 2 offset: 4 array: Yes
+[NO_PID]: ECPGget_data line 69: RESULT: 2 offset: 4 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 67: RESULT:  offset: -1 array: Yes
+[NO_PID]: ECPGget_data line 69: RESULT:  offset: -1 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 70: QUERY: drop table test1  on connection regress1
+[NO_PID]: ECPGexecute line 72: QUERY: drop table test1  on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 70 Ok: DROP TABLE
+[NO_PID]: ECPGexecute line 72 Ok: DROP TABLE
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ecpg_finish: Connection regress1 closed.
 [NO_PID]: sqlca: code: 0, state: 00000
diff --git a/src/interfaces/ecpg/test/expected/sql-desc.stdout b/src/interfaces/ecpg/test/expected/sql-desc.stdout
index c98f183c0fafa0388d084ea34d86102a1a8c660d..1c478b62f7140c4b2ec646a77458eab9c28c667a 100644
--- a/src/interfaces/ecpg/test/expected/sql-desc.stdout
+++ b/src/interfaces/ecpg/test/expected/sql-desc.stdout
@@ -1,4 +1,4 @@
 output = 1
-val1=1 val2='one'
+val1=1 (ind1: 0) val2='one' (ind2: 0)
 val1=2 val2=null
 val1=2 val2=null
diff --git a/src/interfaces/ecpg/test/expected/sql-dynalloc.c b/src/interfaces/ecpg/test/expected/sql-dynalloc.c
index 09fe3ce84dd836f5ee5b202bae13fd6c3561a08a..00fc263478cc862d55813e80b837b84b8d9c1a73 100644
--- a/src/interfaces/ecpg/test/expected/sql-dynalloc.c
+++ b/src/interfaces/ecpg/test/expected/sql-dynalloc.c
@@ -94,75 +94,240 @@ struct sqlca_t *ECPGget_sqlca(void);
 int main(void)
 {
    /* exec sql begin declare section */
+        
+     
     
     
+    
+    
+    
+/*   char **d8=0; */
+    
+    
+    
+    
+    
+    
+    
+    
+/*   int *i8=0; */
+    
    
 #line 9 "dynalloc.pgc"
- char ** cpp   = 0 ;
+ int * d1   = 0 ;
  
 #line 10 "dynalloc.pgc"
- int * ipointer   = 0 ;
-/* exec sql end declare section */
+ 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 16 "dynalloc.pgc"
+#line 32 "dynalloc.pgc"
 
    { ECPGconnect(__LINE__, 0, "regress1" , NULL,NULL , NULL, 0); 
-#line 17 "dynalloc.pgc"
+#line 33 "dynalloc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 17 "dynalloc.pgc"
+#line 33 "dynalloc.pgc"
+
+
+   { ECPGdo(__LINE__, 0, 1, NULL, "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 35 "dynalloc.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint (  );}
+#line 35 "dynalloc.pgc"
+
+   { ECPGdo(__LINE__, 0, 1, NULL, "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 36 "dynalloc.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint (  );}
+#line 36 "dynalloc.pgc"
+
+   { ECPGdo(__LINE__, 0, 1, NULL, "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 37 "dynalloc.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint (  );}
+#line 37 "dynalloc.pgc"
 
 
    ECPGallocate_desc(__LINE__, "mydesc");
-#line 19 "dynalloc.pgc"
+#line 39 "dynalloc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );
-#line 19 "dynalloc.pgc"
+#line 39 "dynalloc.pgc"
 
-   { ECPGdo(__LINE__, 0, 1, NULL, "select  tablename  from pg_tables   ", ECPGt_EOIT, 
+   { ECPGdo(__LINE__, 0, 1, NULL, "select  a , b , c , d , e , f , g , h , i  from test    order by a", ECPGt_EOIT, 
 	ECPGt_descriptor, "mydesc", 0L, 0L, 0L, 
 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 20 "dynalloc.pgc"
+#line 40 "dynalloc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 20 "dynalloc.pgc"
+#line 40 "dynalloc.pgc"
 
    { ECPGget_desc(__LINE__, "mydesc", 1,ECPGd_indicator,
-	ECPGt_int,&(ipointer),(long)1,(long)0,sizeof(int), ECPGd_data,
-	ECPGt_char,&(cpp),(long)0,(long)0,(1)*sizeof(char), ECPGd_EODT);
+	ECPGt_int,&(i1),(long)1,(long)0,sizeof(int), ECPGd_data,
+	ECPGt_int,&(d1),(long)1,(long)0,sizeof(int), ECPGd_EODT);
 
-#line 21 "dynalloc.pgc"
+#line 41 "dynalloc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 21 "dynalloc.pgc"
+#line 41 "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 42 "dynalloc.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint (  );}
+#line 42 "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 43 "dynalloc.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint (  );}
+#line 43 "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 44 "dynalloc.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint (  );}
+#line 44 "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 45 "dynalloc.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint (  );}
+#line 45 "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 46 "dynalloc.pgc"
 
-   printf("Result ");
+if (sqlca.sqlcode < 0) sqlprint (  );}
+#line 46 "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 47 "dynalloc.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint (  );}
+#line 47 "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 50 "dynalloc.pgc"
+
+if (sqlca.sqlcode < 0) sqlprint (  );}
+#line 50 "dynalloc.pgc"
+
+
+   printf("Result:\n");
    for (i=0;i<sqlca.sqlerrd[2];++i)
    {
-      if (ipointer[i]) printf("NULL, ");
-      else printf("'%s', ",cpp[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 32 "dynalloc.pgc"
+#line 84 "dynalloc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );
-#line 32 "dynalloc.pgc"
+#line 84 "dynalloc.pgc"
 
    { ECPGdisconnect(__LINE__, "CURRENT");
-#line 33 "dynalloc.pgc"
+#line 85 "dynalloc.pgc"
 
 if (sqlca.sqlcode < 0) sqlprint (  );}
-#line 33 "dynalloc.pgc"
+#line 85 "dynalloc.pgc"
 
    return 0;
 }
diff --git a/src/interfaces/ecpg/test/expected/sql-dynalloc.stderr b/src/interfaces/ecpg/test/expected/sql-dynalloc.stderr
index 42cdf9fef6baf0dc645095ca688646a2350a21be..bde4b94f90015e366b6d3d90550b8a7b389bd682 100644
--- a/src/interfaces/ecpg/test/expected/sql-dynalloc.stderr
+++ b/src/interfaces/ecpg/test/expected/sql-dynalloc.stderr
@@ -2,94 +2,77 @@
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ECPGconnect: opening database regress1 on <DEFAULT> port <DEFAULT> 
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 20: QUERY: select  tablename  from pg_tables    on connection regress1
+[NO_PID]: ECPGexecute line 35: QUERY: 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   )     on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute line 20: Correctly got 40 tuples with 1 fields
+[NO_PID]: ECPGexecute line 35 Ok: CREATE TABLE
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGexecute putting result (40 tuples) into descriptor 'mydesc'
+[NO_PID]: ECPGexecute line 36: QUERY: 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' ) on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_desc: reading items for tuple 1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGstore_result: line 21: allocating 656 bytes for 40 tuples (char**=0)[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: sql_parts offset: 0 array: Yes
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: sql_sizing offset: 0 array: Yes
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: sql_sizing_profiles offset: 0 array: Yes
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_authid offset: 0 array: Yes
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: sql_features offset: 0 array: Yes
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: sql_implementation_info offset: 0 array: Yes
+[NO_PID]: ECPGexecute line 36 Ok: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: sql_languages offset: 0 array: Yes
+[NO_PID]: ECPGexecute line 37: QUERY: 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 ) on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: sql_packages offset: 0 array: Yes
+[NO_PID]: ECPGexecute line 37 Ok: INSERT 0 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_statistic offset: 0 array: Yes
+[NO_PID]: ECPGexecute line 40: QUERY: select  a , b , c , d , e , f , g , h , i  from test    order by a on connection regress1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_type offset: 0 array: Yes
+[NO_PID]: ECPGexecute line 40: Correctly got 2 tuples with 9 fields
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_attribute offset: 0 array: Yes
+[NO_PID]: ECPGexecute putting result (2 tuples) into descriptor 'mydesc'
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_proc offset: 0 array: Yes
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_class offset: 0 array: Yes
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_autovacuum offset: 0 array: Yes
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_attrdef offset: 0 array: Yes
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_constraint offset: 0 array: Yes
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_inherits offset: 0 array: Yes
+[NO_PID]: ECPGget_desc: reading items for tuple 1
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_index offset: 0 array: Yes
+[NO_PID]: ECPGget_data line 41: RESULT: 1 offset: 4 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_operator offset: 0 array: Yes
+[NO_PID]: ECPGget_data line 41: RESULT: 2 offset: 4 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_opclass offset: 0 array: Yes
+[NO_PID]: ECPGget_desc: reading items for tuple 2
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_am offset: 0 array: Yes
+[NO_PID]: ECPGget_data line 42: RESULT: 23.456 offset: 8 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_amop offset: 0 array: Yes
+[NO_PID]: ECPGget_data line 42: RESULT: 2.446 offset: 8 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_amproc offset: 0 array: Yes
+[NO_PID]: ECPGget_desc: reading items for tuple 3
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_language offset: 0 array: Yes
+[NO_PID]: ECPGstore_result: line 43: allocating 21 bytes for 2 tuples (char**=0)[NO_PID]: sqlca: code: 0, state: 00000
+[NO_PID]: ECPGget_data line 43: RESULT: varchar offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_largeobject offset: 0 array: Yes
+[NO_PID]: ECPGget_data line 43: RESULT:  offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_aggregate offset: 0 array: Yes
+[NO_PID]: ECPGget_desc: reading items for tuple 4
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_rewrite offset: 0 array: Yes
+[NO_PID]: ECPGstore_result: line 44: allocating 16 bytes for 2 tuples (char**=0)[NO_PID]: sqlca: code: 0, state: 00000
+[NO_PID]: ECPGget_data line 44: RESULT: v offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_trigger offset: 0 array: Yes
+[NO_PID]: ECPGget_data line 44: RESULT: v offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_listener offset: 0 array: Yes
+[NO_PID]: ECPGget_desc: reading items for tuple 5
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_description offset: 0 array: Yes
+[NO_PID]: ECPGstore_result: line 45: allocating 22 bytes for 2 tuples (char**=0)[NO_PID]: sqlca: code: 0, state: 00000
+[NO_PID]: ECPGget_data line 45: RESULT: c    offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_cast offset: 0 array: Yes
+[NO_PID]: ECPGget_data line 45: RESULT: c    offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_namespace offset: 0 array: Yes
+[NO_PID]: ECPGget_desc: reading items for tuple 6
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_conversion offset: 0 array: Yes
+[NO_PID]: ECPGstore_result: line 46: allocating 70 bytes for 2 tuples (char**=0)[NO_PID]: sqlca: code: 0, state: 00000
+[NO_PID]: ECPGget_data line 46: RESULT: Mon Mar 03 11:33:07 2003 PST offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_depend offset: 0 array: Yes
+[NO_PID]: ECPGget_data line 46: RESULT: Mon Mar 03 11:33:07 2003 PST offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_tablespace offset: 0 array: Yes
+[NO_PID]: ECPGget_desc: reading items for tuple 7
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_pltemplate offset: 0 array: Yes
+[NO_PID]: ECPGstore_result: line 47: allocating 16 bytes for 2 tuples (char**=0)[NO_PID]: sqlca: code: 0, state: 00000
+[NO_PID]: ECPGget_data line 47: RESULT: t offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_shdepend offset: 0 array: Yes
+[NO_PID]: ECPGget_data line 47: RESULT: f offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_shdescription offset: 0 array: Yes
+[NO_PID]: ECPGget_desc: reading items for tuple 9
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_database offset: 0 array: Yes
+[NO_PID]: ECPGstore_result: line 50: allocating 46 bytes for 2 tuples (char**=0)[NO_PID]: sqlca: code: 0, state: 00000
+[NO_PID]: ECPGget_data line 50: RESULT: 2001:4f8:3:ba:2e0:81ff:fe22:d1f1 offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGget_data line 21: RESULT: pg_auth_members offset: 0 array: Yes
+[NO_PID]: ECPGget_data line 50: RESULT:  offset: 0 array: Yes
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ecpg_finish: Connection regress1 closed.
 [NO_PID]: sqlca: code: 0, state: 00000
diff --git a/src/interfaces/ecpg/test/expected/sql-dynalloc.stdout b/src/interfaces/ecpg/test/expected/sql-dynalloc.stdout
index cb67632e05e20e684f97e0aa13888a29802be85b..5c212c8bd58be93fd265440b443ed2b6458f85ee 100644
--- a/src/interfaces/ecpg/test/expected/sql-dynalloc.stdout
+++ b/src/interfaces/ecpg/test/expected/sql-dynalloc.stdout
@@ -1 +1,4 @@
-Result 'sql_parts', 'sql_sizing', 'sql_sizing_profiles', 'pg_authid', 'sql_features', 'sql_implementation_info', 'sql_languages', 'sql_packages', 'pg_statistic', 'pg_type', 'pg_attribute', 'pg_proc', 'pg_class', 'pg_autovacuum', 'pg_attrdef', 'pg_constraint', 'pg_inherits', 'pg_index', 'pg_operator', 'pg_opclass', 'pg_am', 'pg_amop', 'pg_amproc', 'pg_language', 'pg_largeobject', 'pg_aggregate', 'pg_rewrite', 'pg_trigger', 'pg_listener', 'pg_description', 'pg_cast', 'pg_namespace', 'pg_conversion', 'pg_depend', 'pg_tablespace', 'pg_pltemplate', 'pg_shdepend', 'pg_shdescription', 'pg_database', 'pg_auth_members', 
+Result:
+1, 23.456000, 'varchar', 'v', 'c   ', 'Mon Mar 03 11:33:07 2003 PST', 't', '2001:4f8:3:ba:2e0:81ff:fe22:d1f1', 
+2, 2.446000, NULL, 'v', 'c   ', 'Mon Mar 03 11:33:07 2003 PST', 'f', NULL, 
+
diff --git a/src/interfaces/ecpg/test/pg_regress.sh b/src/interfaces/ecpg/test/pg_regress.sh
index 45f1458855f8524f82b2a5f215bd32e6f8d9a8f1..58726313e8ec0ef8d3fd5f1921b1e269e6f64753 100644
--- a/src/interfaces/ecpg/test/pg_regress.sh
+++ b/src/interfaces/ecpg/test/pg_regress.sh
@@ -1,5 +1,5 @@
 #! /bin/sh
-# $PostgreSQL: pgsql/src/interfaces/ecpg/test/pg_regress.sh,v 1.1 2006/08/02 13:53:45 meskes Exp $
+# $PostgreSQL: pgsql/src/interfaces/ecpg/test/pg_regress.sh,v 1.2 2006/08/03 13:11:03 meskes Exp $
 
 me=`basename $0`
 
@@ -98,16 +98,17 @@ for i in \
 	formatted=`echo $i | awk '{printf "%-38.38s", $1;}'`
 	$ECHO_N "testing $formatted ... $ECHO_C"
 
-	runprg=${i/.pgc/}
-	outfile_stderr=$outputdir/${runprg//\//-}.stderr
-	outfile_stdout=$outputdir/${runprg//\//-}.stdout
-	cp $runprg.c "$outputdir/${runprg//\//-}.c"
+	runprg=${i%.pgc}
+	outprg=`echo $runprg | sed -e's/\//-/'`
+	outfile_stderr=$outputdir/$outprg.stderr
+	outfile_stdout=$outputdir/$outprg.stdout
+	cp $runprg.c "$outputdir/$outprg.c"
 #	echo "$runprg > $outfile_stdout 2> $outfile_stderr"
 	$runprg > "$outfile_stdout" 2> "$outfile_stderr"
 	DIFFER=""
-	diff -u expected/${runprg//\//-}.stderr "$outputdir"/${runprg//\//-}.stderr >/dev/null 2>&1 || DIFFER="$DIFFER, log"
-	diff -u expected/${runprg//\//-}.stdout "$outputdir"/${runprg//\//-}.stdout >/dev/null 2>&1 || DIFFER="$DIFFER, output"
-	diff -u expected/${runprg//\//-}.c "$outputdir"/${runprg//\//-}.c >/dev/null 2>&1 || DIFFER="$DIFFER, source"
+	diff -c3 expected/$outprg.stderr "$outputdir"/$outprg.stderr >/dev/null 2>&1 || DIFFER="$DIFFER, log"
+	diff -c3 expected/$outprg.stdout "$outputdir"/$outprg.stdout >/dev/null 2>&1 || DIFFER="$DIFFER, output"
+	diff -c3 expected/$outprg.c "$outputdir"/$outprg.c >/dev/null 2>&1 || DIFFER="$DIFFER, source"
 	DIFFER=${DIFFER#, }
 	if [ "x$DIFFER" = "x" ]; then
 		echo ok
@@ -116,7 +117,7 @@ for i in \
 	fi
 done
 
-diff -ur expected/ $outputdir > regression.diff && rm regression.diff
+diff -c3 -r expected/ $outputdir > regression.diff && rm regression.diff
 
 [ $? -ne 0 ] && exit
 
diff --git a/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc b/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc
index 923855ee5873bfb9f98d2bc4b635dd3d39ea04b8..1648b3103d22fbb86b323f5bff0146f531282c4c 100644
--- a/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc
+++ b/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc
@@ -1,5 +1,3 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc,v 1.1 2006/08/02 14:14:04 meskes Exp $ */
-
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
diff --git a/src/interfaces/ecpg/test/pgtypeslib/num_test.pgc b/src/interfaces/ecpg/test/pgtypeslib/num_test.pgc
index b5f8e5f93c120da0740a2a6b3698ffa4bcb5d1d9..7f50e4773b998c47260d3f27dbafd82a0ba5d40f 100644
--- a/src/interfaces/ecpg/test/pgtypeslib/num_test.pgc
+++ b/src/interfaces/ecpg/test/pgtypeslib/num_test.pgc
@@ -1,5 +1,3 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/test/pgtypeslib/num_test.pgc,v 1.1 2006/08/02 14:14:04 meskes Exp $ */
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <pgtypes_numeric.h>
diff --git a/src/interfaces/ecpg/test/sql/desc.pgc b/src/interfaces/ecpg/test/sql/desc.pgc
index 9dfea982a0a38bdd8006f5835eef78a73834f156..dd91a8780f840cd32cd74e3e1ca1a4707d1049c8 100644
--- a/src/interfaces/ecpg/test/sql/desc.pgc
+++ b/src/interfaces/ecpg/test/sql/desc.pgc
@@ -13,6 +13,7 @@ main(void)
 	char val2[] = "one", val2output[] = "AAA";
 	int val1output = 2, val2i = 0;
 	int val2null = -1;
+	int ind1, ind2;
 	EXEC SQL END DECLARE SECTION;
 
 	ECPGdebug(1, stderr);
@@ -48,8 +49,9 @@ main(void)
 	EXEC SQL DECLARE c1 CURSOR FOR foo2;
 	EXEC SQL OPEN c1 USING DESCRIPTOR indesc;
 
-	EXEC SQL FETCH next FROM c1 INTO :val1output, :val2output;
-	printf("val1=%d val2=%s\n", val1output, val2output);
+	EXEC SQL FETCH next FROM c1 INTO :val1output:ind1, :val2output:ind2;
+	printf("val1=%d (ind1: %d) val2=%s (ind2: %d)\n",
+		val1output, ind1, val2output, ind2);
 
 	EXEC SQL CLOSE c1;
 
diff --git a/src/interfaces/ecpg/test/sql/dynalloc.pgc b/src/interfaces/ecpg/test/sql/dynalloc.pgc
index 147825cda6f7c5ae49f7780247cb45258443beda..766d23659143dae419c06167c04b414d4aa0374b 100644
--- a/src/interfaces/ecpg/test/sql/dynalloc.pgc
+++ b/src/interfaces/ecpg/test/sql/dynalloc.pgc
@@ -6,8 +6,24 @@ exec sql include ../regression;
 int main(void)
 {
    exec sql begin declare section;
-   char **cpp=0;
-   int *ipointer=0;
+   int     *d1=0;
+   double  *d2=0;
+   char **d3=0;
+   char **d4=0;
+   char **d5=0;
+   char **d6=0;
+   char **d7=0;
+/*   char **d8=0; */
+   char **d9=0;
+   int *i1=0;
+   int *i2=0;
+   int *i3=0;
+   int *i4=0;
+   int *i5=0;
+   int *i6=0;
+   int *i7=0;
+/*   int *i8=0; */
+   int *i9=0;
    exec sql end declare section;
    int i;
 
@@ -16,15 +32,51 @@ int main(void)
    exec sql whenever sqlerror do sqlprint();
    exec sql connect to REGRESSDB1;
 
+   exec sql 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);
+   exec sql 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');
+   exec sql 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);
+
    exec sql allocate descriptor mydesc;
-   exec sql select tablename into descriptor mydesc from pg_tables;
-   exec sql get descriptor mydesc value 1 :cpp=DATA, :ipointer=INDICATOR;
+   exec sql select a,b,c,d,e,f,g,h,i into descriptor mydesc from test order by a;
+   exec sql get descriptor mydesc value 1 :d1=DATA, :i1=INDICATOR;
+   exec sql get descriptor mydesc value 2 :d2=DATA, :i2=INDICATOR;
+   exec sql get descriptor mydesc value 3 :d3=DATA, :i3=INDICATOR;
+   exec sql get descriptor mydesc value 4 :d4=DATA, :i4=INDICATOR;
+   exec sql get descriptor mydesc value 5 :d5=DATA, :i5=INDICATOR;
+   exec sql get descriptor mydesc value 6 :d6=DATA, :i6=INDICATOR;
+   exec sql get descriptor mydesc value 7 :d7=DATA, :i7=INDICATOR;
+   /* skip box for now */
+   /* exec sql get descriptor mydesc value 8 :d8=DATA, :i8=INDICATOR; */
+   exec sql get descriptor mydesc value 9 :d9=DATA, :i9=INDICATOR;
 
-   printf("Result ");
+   printf("Result:\n");
    for (i=0;i<sqlca.sqlerrd[2];++i)
    {
-      if (ipointer[i]) printf("NULL, ");
-      else printf("'%s', ",cpp[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");