diff -dcrpN pgsql.orig/src/interfaces/ecpg/pgtypeslib/numeric.c pgsql-wherecurrentof/src/interfaces/ecpg/pgtypeslib/numeric.c
*** pgsql.orig/src/interfaces/ecpg/pgtypeslib/numeric.c	2010-02-02 17:09:12.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/pgtypeslib/numeric.c	2010-08-03 17:50:58.000000000 +0200
*************** PGTYPESnumeric_from_asc(char *str, char 
*** 417,423 ****
  	ret = set_var_from_str(str, ptr, value);
  	if (ret)
  	{
! 		free(value);
  		return (NULL);
  	}
  
--- 417,423 ----
  	ret = set_var_from_str(str, ptr, value);
  	if (ret)
  	{
! 		PGTYPESnumeric_free(value);
  		return (NULL);
  	}
  
*************** PGTYPESnumeric_to_long(numeric *nv, long
*** 1602,1609 ****
--- 1602,1613 ----
  	errno = 0;
  	*lp = strtol(s, &endptr, 10);
  	if (endptr == s)
+ 	{
  		/* this should not happen actually */
+ 		free(s);
  		return -1;
+ 	}
+ 	free(s);
  	if (errno == ERANGE)
  	{
  		if (*lp == LONG_MIN)
*************** PGTYPESnumeric_to_long(numeric *nv, long
*** 1612,1618 ****
  			errno = PGTYPES_NUM_OVERFLOW;
  		return -1;
  	}
- 	free(s);
  	return 0;
  }
  
--- 1616,1621 ----
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/compat_informix/dec_test.pgc pgsql-wherecurrentof/src/interfaces/ecpg/test/compat_informix/dec_test.pgc
*** pgsql.orig/src/interfaces/ecpg/test/compat_informix/dec_test.pgc	2007-08-14 12:01:53.000000000 +0200
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/compat_informix/dec_test.pgc	2010-08-03 18:10:22.000000000 +0200
*************** main(void)
*** 60,65 ****
--- 60,66 ----
  		{
  			check_errno();
  			printf("dec[%d,0]: r: %d\n", i, r);
+ 			PGTYPESdecimal_free(dec);
  			continue;
  		}
  		decarr = realloc(decarr, sizeof(decimal *) * (count + 1));
*************** main(void)
*** 200,206 ****
--- 201,210 ----
  	{
  		dectoasc(decarr[i], buf, BUFSIZE-1, -1);
  		printf("%d: %s\n", i, buf);
+ 
+ 		PGTYPESdecimal_free(decarr[i]);
  	}
+ 	free(decarr);
  
  	return (0);
  }
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/expected/compat_informix-dec_test.c pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/compat_informix-dec_test.c
*** pgsql.orig/src/interfaces/ecpg/test/expected/compat_informix-dec_test.c	2008-02-17 19:14:29.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/compat_informix-dec_test.c	2010-08-03 18:30:05.000000000 +0200
*************** main(void)
*** 80,85 ****
--- 80,86 ----
  		{
  			check_errno();
  			printf("dec[%d,0]: r: %d\n", i, r);
+ 			PGTYPESdecimal_free(dec);
  			continue;
  		}
  		decarr = realloc(decarr, sizeof(decimal *) * (count + 1));
*************** main(void)
*** 220,226 ****
--- 221,230 ----
  	{
  		dectoasc(decarr[i], buf, BUFSIZE-1, -1);
  		printf("%d: %s\n", i, buf);
+ 
+ 		PGTYPESdecimal_free(decarr[i]);
  	}
+ 	free(decarr);
  
  	return (0);
  }
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c
*** pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c	2008-12-29 18:07:06.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c	2010-08-03 18:31:46.000000000 +0200
*************** main(void)
*** 139,144 ****
--- 139,145 ----
  					printf("TS[%d,%d]: %s\n",
  						i, j, errno ? "-" : text);
  				free(text);
+ 				free(t);
  			}
  		}
  	}
*************** main(void)
*** 169,174 ****
--- 170,176 ----
  		printf("interval_copy[%d]: %s\n", i, text ? text : "-");
  		free(text);
  		PGTYPESinterval_free(ic);
+ 		PGTYPESinterval_free(i1);
  	}
  
  	return (0);
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c
*** pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c	2009-02-02 16:35:28.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c	2010-08-03 18:30:27.000000000 +0200
*************** if (sqlca.sqlcode < 0) sqlprint ( );}
*** 123,128 ****
--- 123,129 ----
  	PGTYPESinterval_copy(iv1, &iv2);
  	text = PGTYPESinterval_to_asc(&iv2);
  	printf ("interval: %s\n", text);
+ 	PGTYPESinterval_free(iv1);
  	free(text);
  
  	PGTYPESdate_mdyjul(mdy, &date2);
*************** if (sqlca.sqlcode < 0) sqlprint ( );}
*** 430,445 ****
  	free(text);
  
  	{ ECPGtrans(__LINE__, NULL, "rollback");
! #line 358 "dt_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 358 "dt_test.pgc"
  
          { ECPGdisconnect(__LINE__, "CURRENT");
! #line 359 "dt_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 359 "dt_test.pgc"
  
  
  	return (0);
--- 431,446 ----
  	free(text);
  
  	{ ECPGtrans(__LINE__, NULL, "rollback");
! #line 359 "dt_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 359 "dt_test.pgc"
  
          { ECPGdisconnect(__LINE__, "CURRENT");
! #line 360 "dt_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 360 "dt_test.pgc"
  
  
  	return (0);
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr
*** pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr	2010-02-04 10:41:35.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr	2010-08-03 18:30:20.000000000 +0200
***************
*** 42,48 ****
  [NO_PID]: sqlca: code: 0, state: 00000
  [NO_PID]: ecpg_get_data on line 38: RESULT: 2000-07-12 17:34:29 offset: -1; array: no
  [NO_PID]: sqlca: code: 0, state: 00000
! [NO_PID]: ECPGtrans on line 358: 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
--- 42,48 ----
  [NO_PID]: sqlca: code: 0, state: 00000
  [NO_PID]: ecpg_get_data on line 38: RESULT: 2000-07-12 17:34:29 offset: -1; array: no
  [NO_PID]: sqlca: code: 0, state: 00000
! [NO_PID]: ECPGtrans on line 359: 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 -dcrpN pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c
*** pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c	2010-02-27 22:56:16.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c	2010-08-03 18:32:36.000000000 +0200
*************** if (sqlca.sqlcode < 0) sqlprint ( );}
*** 252,268 ****
  #line 84 "nan_test.pgc"
  
  
  	{ ECPGtrans(__LINE__, NULL, "rollback");
! #line 86 "nan_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 86 "nan_test.pgc"
  
  	{ ECPGdisconnect(__LINE__, "CURRENT");
! #line 87 "nan_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 87 "nan_test.pgc"
  
  
  	return (0);
--- 252,270 ----
  #line 84 "nan_test.pgc"
  
  
+ 	PGTYPESnumeric_free(num);
+ 
  	{ ECPGtrans(__LINE__, NULL, "rollback");
! #line 88 "nan_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 88 "nan_test.pgc"
  
  	{ ECPGdisconnect(__LINE__, "CURRENT");
! #line 89 "nan_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 89 "nan_test.pgc"
  
  
  	return (0);
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stderr pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stderr
*** pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stderr	2010-02-09 09:57:13.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stderr	2010-08-03 18:32:27.000000000 +0200
***************
*** 354,360 ****
  [NO_PID]: sqlca: code: 0, state: 00000
  [NO_PID]: ecpg_execute on line 84: OK: CLOSE CURSOR
  [NO_PID]: sqlca: code: 0, state: 00000
! [NO_PID]: ECPGtrans on line 86: 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
--- 354,360 ----
  [NO_PID]: sqlca: code: 0, state: 00000
  [NO_PID]: ecpg_execute on line 84: OK: CLOSE CURSOR
  [NO_PID]: sqlca: code: 0, state: 00000
! [NO_PID]: ECPGtrans on line 88: 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 -dcrpN pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-num_test2.c pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-num_test2.c
*** pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-num_test2.c	2008-02-17 19:14:29.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-num_test2.c	2010-08-03 18:32:16.000000000 +0200
*************** main(void)
*** 211,216 ****
--- 211,221 ----
  				printf("num[d,%d,%d]: %s\n", i, j, text);
  				free(text);
  			}
+ 
+ 			PGTYPESnumeric_free(a);
+ 			PGTYPESnumeric_free(s);
+ 			PGTYPESnumeric_free(m);
+ 			PGTYPESnumeric_free(d);
  		}
  	}
  
*************** main(void)
*** 219,225 ****
--- 224,232 ----
  		text = PGTYPESnumeric_to_asc(numarr[i], -1);
  		printf("%d: %s\n", i, text);
  		free(text);
+ 		PGTYPESnumeric_free(numarr[i]);
  	}
+ 	free(numarr);
  
  	return (0);
  }
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c
*** pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c	2008-12-29 18:07:06.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c	2010-08-03 18:31:59.000000000 +0200
*************** if (sqlca.sqlcode < 0) sqlprint ( );}
*** 131,136 ****
--- 131,139 ----
  	PGTYPESnumeric_to_double(res, &d);
  	printf("div = %s %e\n", text, d);
  
+ 	PGTYPESnumeric_free(value1);
+ 	PGTYPESnumeric_free(value2);
+ 
  	value1 = PGTYPESnumeric_from_asc("2E7", NULL);
  	value2 = PGTYPESnumeric_from_asc("14", NULL);
  	i = PGTYPESnumeric_to_long(value1, &l1) | PGTYPESnumeric_to_long(value2, &l2);
*************** if (sqlca.sqlcode < 0) sqlprint ( );}
*** 142,157 ****
  	PGTYPESnumeric_free(res);
  
  	{ ECPGtrans(__LINE__, NULL, "rollback");
! #line 90 "num_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 90 "num_test.pgc"
  
  	{ ECPGdisconnect(__LINE__, "CURRENT");
! #line 91 "num_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 91 "num_test.pgc"
  
  
  	return (0);
--- 145,160 ----
  	PGTYPESnumeric_free(res);
  
  	{ ECPGtrans(__LINE__, NULL, "rollback");
! #line 93 "num_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 93 "num_test.pgc"
  
  	{ ECPGdisconnect(__LINE__, "CURRENT");
! #line 94 "num_test.pgc"
  
  if (sqlca.sqlcode < 0) sqlprint ( );}
! #line 94 "num_test.pgc"
  
  
  	return (0);
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stderr pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stderr
*** pgsql.orig/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stderr	2010-02-04 10:41:35.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stderr	2010-08-03 18:32:05.000000000 +0200
***************
*** 26,32 ****
  [NO_PID]: sqlca: code: 0, state: 00000
  [NO_PID]: ecpg_get_data on line 66: RESULT: 2369.7000000 offset: -1; array: no
  [NO_PID]: sqlca: code: 0, state: 00000
! [NO_PID]: ECPGtrans on line 90: 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
--- 26,32 ----
  [NO_PID]: sqlca: code: 0, state: 00000
  [NO_PID]: ecpg_get_data on line 66: RESULT: 2369.7000000 offset: -1; array: no
  [NO_PID]: sqlca: code: 0, state: 00000
! [NO_PID]: ECPGtrans on line 93: 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 -dcrpN pgsql.orig/src/interfaces/ecpg/test/expected/sql-array.c pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/sql-array.c
*** pgsql.orig/src/interfaces/ecpg/test/expected/sql-array.c	2008-12-29 18:07:06.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/expected/sql-array.c	2010-08-03 18:28:32.000000000 +0200
*************** if (sqlca.sqlcode < 0) sqlprint();}
*** 273,277 ****
--- 273,279 ----
  #line 74 "array.pgc"
  
  
+ 	free(t);
+ 
  	return (0);
  }
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc pgsql-wherecurrentof/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc
*** pgsql.orig/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc	2006-11-23 05:38:01.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc	2010-08-03 17:56:44.000000000 +0200
*************** main(void)
*** 104,109 ****
--- 104,110 ----
  					printf("TS[%d,%d]: %s\n",
  						i, j, errno ? "-" : text);
  				free(text);
+ 				free(t);
  			}
  		}
  	}
*************** main(void)
*** 134,139 ****
--- 135,141 ----
  		printf("interval_copy[%d]: %s\n", i, text ? text : "-");
  		free(text);
  		PGTYPESinterval_free(ic);
+ 		PGTYPESinterval_free(i1);
  	}
  
  	return (0);
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc pgsql-wherecurrentof/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc
*** pgsql.orig/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc	2009-02-02 16:35:28.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc	2010-08-03 17:54:19.000000000 +0200
*************** main(void)
*** 49,54 ****
--- 49,55 ----
  	PGTYPESinterval_copy(iv1, &iv2);
  	text = PGTYPESinterval_to_asc(&iv2);
  	printf ("interval: %s\n", text);
+ 	PGTYPESinterval_free(iv1);
  	free(text);
  
  	PGTYPESdate_mdyjul(mdy, &date2);
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc pgsql-wherecurrentof/src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc
*** pgsql.orig/src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc	2010-02-27 22:56:16.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc	2010-08-03 17:58:26.000000000 +0200
*************** main(void)
*** 83,88 ****
--- 83,90 ----
  	}
  	exec sql close cur1;
  
+ 	PGTYPESnumeric_free(num);
+ 
  	exec sql rollback;
  	exec sql disconnect;
  
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/pgtypeslib/num_test2.pgc pgsql-wherecurrentof/src/interfaces/ecpg/test/pgtypeslib/num_test2.pgc
*** pgsql.orig/src/interfaces/ecpg/test/pgtypeslib/num_test2.pgc	2007-01-25 17:45:25.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/pgtypeslib/num_test2.pgc	2010-08-03 18:16:35.000000000 +0200
*************** main(void)
*** 193,198 ****
--- 193,203 ----
  				printf("num[d,%d,%d]: %s\n", i, j, text);
  				free(text);
  			}
+ 
+ 			PGTYPESnumeric_free(a);
+ 			PGTYPESnumeric_free(s);
+ 			PGTYPESnumeric_free(m);
+ 			PGTYPESnumeric_free(d);
  		}
  	}
  
*************** main(void)
*** 201,207 ****
--- 206,214 ----
  		text = PGTYPESnumeric_to_asc(numarr[i], -1);
  		printf("%d: %s\n", i, text);
  		free(text);
+ 		PGTYPESnumeric_free(numarr[i]);
  	}
+ 	free(numarr);
  
  	return (0);
  }
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/pgtypeslib/num_test.pgc pgsql-wherecurrentof/src/interfaces/ecpg/test/pgtypeslib/num_test.pgc
*** pgsql.orig/src/interfaces/ecpg/test/pgtypeslib/num_test.pgc	2006-09-26 09:56:57.000000000 +0200
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/pgtypeslib/num_test.pgc	2010-08-03 18:05:21.000000000 +0200
*************** main(void)
*** 77,82 ****
--- 77,85 ----
  	PGTYPESnumeric_to_double(res, &d);
  	printf("div = %s %e\n", text, d);
  
+ 	PGTYPESnumeric_free(value1);
+ 	PGTYPESnumeric_free(value2);
+ 
  	value1 = PGTYPESnumeric_from_asc("2E7", NULL);
  	value2 = PGTYPESnumeric_from_asc("14", NULL);
  	i = PGTYPESnumeric_to_long(value1, &l1) | PGTYPESnumeric_to_long(value2, &l2);
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/preproc/autoprep.stdout pgsql-wherecurrentof/src/interfaces/ecpg/test/preproc/autoprep.stdout
*** pgsql.orig/src/interfaces/ecpg/test/preproc/autoprep.stdout	1970-01-01 01:00:00.000000000 +0100
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/preproc/autoprep.stdout	2010-08-03 17:06:02.000000000 +0200
***************
*** 0 ****
--- 1,320 ----
+ [NO_PID]: ECPGdebug: set to 1
+ [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]: ecpg_execute on line 21: query: create table T ( Item1 int , Item2 int ); with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 21: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 21: OK: CREATE TABLE
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_auto_prepare on line 23: statement not in cache; inserting
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: prepare_common on line 23: name ecpg1; query: "insert into T values ( 1 , null )"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 23: query: insert into T values ( 1 , null ); with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 23: using PQexecPrepared for "insert into T values ( 1 , null )"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 23: OK: INSERT 0 1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_auto_prepare on line 24: statement not in cache; inserting
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: prepare_common on line 24: name ecpg2; query: "insert into T values ( 1 , $1  )"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 24: query: insert into T values ( 1 , $1  ); with 1 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 24: using PQexecPrepared for "insert into T values ( 1 , $1  )"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: free_params on line 24: parameter 1 = 1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 24: OK: INSERT 0 1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_auto_prepare on line 26: statement found in cache; entry 1640
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 26: query: insert into T values ( 1 , $1  ); with 1 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 26: using PQexecPrepared for "insert into T values ( 1 , $1  )"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: free_params on line 26: parameter 1 = 2
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 26: OK: INSERT 0 1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: prepare_common on line 27: name i; query: " insert into T values ( 1 , 2 ) "
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 28: query:  insert into T values ( 1 , 2 ) ; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 28: using PQexecPrepared for " insert into T values ( 1 , 2 ) "
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 28: OK: INSERT 0 1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_auto_prepare on line 30: statement not in cache; inserting
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: prepare_common on line 30: name ecpg3; query: "select Item2 from T order by Item2 nulls last"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 30: query: select Item2 from T order by Item2 nulls last; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 30: using PQexecPrepared for "select Item2 from T order by Item2 nulls last"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 30: correctly got 4 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 30: RESULT: 1 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 30: RESULT: 2 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 30: RESULT: 2 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 30: RESULT:  offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 37: query: declare C cursor for select Item1 from T; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 37: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 37: OK: DECLARE CURSOR
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 39: query: fetch 1 in C; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 39: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 39: correctly got 1 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 39: RESULT: 1 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 42: query: close C; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 42: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 42: OK: CLOSE CURSOR
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: prepare_common on line 44: name stmt1; query: "SELECT item2 FROM T ORDER BY item2 NULLS LAST"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 48: query: declare cur1 cursor for SELECT item2 FROM T ORDER BY item2 NULLS LAST; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 48: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 48: OK: DECLARE CURSOR
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: query: fetch cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: correctly got 1 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 55: RESULT: 1 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: query: fetch cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: correctly got 1 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 55: RESULT: 2 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: query: fetch cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: correctly got 1 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 55: RESULT: 2 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: query: fetch cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: correctly got 1 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 55: RESULT:  offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: query: fetch cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: correctly got 0 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: raising sqlcode 100 on line 55: no data found on line 55
+ [NO_PID]: sqlca: code: 100, state: 02000
+ [NO_PID]: ecpg_execute on line 60: query: close cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 60: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 60: OK: CLOSE CURSOR
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 62: query: drop table T; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 62: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 62: OK: DROP TABLE
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: deallocate_one on line 0: name stmt1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: deallocate_one on line 0: name ecpg3
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: deallocate_one on line 0: name i
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: deallocate_one on line 0: name ecpg2
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: deallocate_one on line 0: name ecpg1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_finish: connection regress1 closed
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ECPGdebug: set to 1
+ [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]: ecpg_execute on line 21: query: create table T ( Item1 int , Item2 int ); with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 21: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 21: OK: CREATE TABLE
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_auto_prepare on line 23: statement found in cache; entry 15328
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: prepare_common on line 23: name ecpg1; query: "insert into T values ( 1 , null )"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 23: query: insert into T values ( 1 , null ); with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 23: using PQexecPrepared for "insert into T values ( 1 , null )"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 23: OK: INSERT 0 1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_auto_prepare on line 24: statement found in cache; entry 1640
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: prepare_common on line 24: name ecpg2; query: "insert into T values ( 1 , $1  )"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 24: query: insert into T values ( 1 , $1  ); with 1 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 24: using PQexecPrepared for "insert into T values ( 1 , $1  )"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: free_params on line 24: parameter 1 = 1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 24: OK: INSERT 0 1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_auto_prepare on line 26: statement found in cache; entry 1640
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 26: query: insert into T values ( 1 , $1  ); with 1 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 26: using PQexecPrepared for "insert into T values ( 1 , $1  )"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: free_params on line 26: parameter 1 = 2
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 26: OK: INSERT 0 1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: prepare_common on line 27: name i; query: " insert into T values ( 1 , 2 ) "
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 28: query:  insert into T values ( 1 , 2 ) ; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 28: using PQexecPrepared for " insert into T values ( 1 , 2 ) "
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 28: OK: INSERT 0 1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_auto_prepare on line 30: statement found in cache; entry 13056
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: prepare_common on line 30: name ecpg3; query: "select Item2 from T order by Item2 nulls last"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 30: query: select Item2 from T order by Item2 nulls last; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 30: using PQexecPrepared for "select Item2 from T order by Item2 nulls last"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 30: correctly got 4 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 30: RESULT: 1 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 30: RESULT: 2 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 30: RESULT: 2 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 30: RESULT:  offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 37: query: declare C cursor for select Item1 from T; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 37: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 37: OK: DECLARE CURSOR
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 39: query: fetch 1 in C; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 39: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 39: correctly got 1 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 39: RESULT: 1 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 42: query: close C; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 42: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 42: OK: CLOSE CURSOR
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: prepare_common on line 44: name stmt1; query: "SELECT item2 FROM T ORDER BY item2 NULLS LAST"
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 48: query: declare cur1 cursor for SELECT item2 FROM T ORDER BY item2 NULLS LAST; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 48: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 48: OK: DECLARE CURSOR
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: query: fetch cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: correctly got 1 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 55: RESULT: 1 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: query: fetch cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: correctly got 1 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 55: RESULT: 2 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: query: fetch cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: correctly got 1 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 55: RESULT: 2 offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: query: fetch cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: correctly got 1 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_get_data on line 55: RESULT:  offset: -1; array: no
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: query: fetch cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 55: correctly got 0 tuples with 1 fields
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: raising sqlcode 100 on line 55: no data found on line 55
+ [NO_PID]: sqlca: code: 100, state: 02000
+ [NO_PID]: ecpg_execute on line 60: query: close cur1; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 60: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 60: OK: CLOSE CURSOR
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 62: query: drop table T; with 0 parameter(s) on connection regress1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 62: using PQexec
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_execute on line 62: OK: DROP TABLE
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: deallocate_one on line 0: name stmt1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: deallocate_one on line 0: name ecpg3
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: deallocate_one on line 0: name i
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: deallocate_one on line 0: name ecpg2
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: deallocate_one on line 0: name ecpg1
+ [NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: ecpg_finish: connection regress1 closed
+ [NO_PID]: sqlca: code: 0, state: 00000
diff -dcrpN pgsql.orig/src/interfaces/ecpg/test/sql/array.pgc pgsql-wherecurrentof/src/interfaces/ecpg/test/sql/array.pgc
*** pgsql.orig/src/interfaces/ecpg/test/sql/array.pgc	2007-08-14 12:01:54.000000000 +0200
--- pgsql-wherecurrentof/src/interfaces/ecpg/test/sql/array.pgc	2010-08-03 18:19:15.000000000 +0200
*************** EXEC SQL END DECLARE SECTION;
*** 73,77 ****
--- 73,79 ----
  
  	EXEC SQL DISCONNECT;
  
+ 	free(t);
+ 
  	return (0);
  }
