

Can someone comment on this?  It looks like part of this is applied, but
not all of it.


> Included are patches for 4/1 snapshot, submitted by Masaaki Sakaida.
> 
> o Allow ecpg handle a floating point constant having more than 10 places
> o Fix ecpg runtime library memory leak
> --
> Tatsuo Ishii
> ------------------------------------------------------------
> *** src/interfaces/ecpg/preproc/pgc.l.orig	Thu Apr  1 17:41:04 1999
> --- src/interfaces/ecpg/preproc/pgc.l	Thu Apr  1 17:41:10 1999
> ***************
> *** 461,466 ****
> --- 461,475 ----
>   					}
>   					return ICONST;
>   				}
> + <C>{real}			{
> + 					char* endptr;
> + 
> + 					errno = 0;
> + 					yylval.dval = strtod((char *)yytext,&endptr);
> + 					if (*endptr != '\0' || errno == ERANGE)
> + 						yyerror("ERROR: Bad float input");
> + 					return FCONST;
> + 				}
>   <SQL>:{identifier}(("->"|\.){identifier})*	{
>   					yylval.str = mm_strdup((char*)yytext+1);
>   					return(CVARIABLE);
> 
> ------------------------------------------------------------
> 
> 
> ------------------------------------------------------------
> *** src/interfaces/ecpg/lib/ecpglib.c.orig	Thu Apr  1 17:10:52 1999
> --- src/interfaces/ecpg/lib/ecpglib.c	Thu Apr  1 17:22:12 1999
> ***************
> *** 370,375 ****
> --- 370,403 ----
>   	return (true);
>   }
>   
> + static void
> + free_variable(struct variable *var)
> + {
> + 	struct variable	*var_next;
> + 
> + 	if( var == (struct variable *)NULL ) 
> + 		return; 
> + 	var_next = var->next;
> + 	free(var);
> + 
> + 	while(var_next)
> + 	{
> + 		var = var_next;
> + 		var_next = var->next;
> + 		free(var);
> + 	}
> + }
> + 
> + static void
> + free_statement(struct statement *stmt)
> + {
> + 	if( stmt == (struct statement *)NULL ) 
> + 		return;
> + 	free_variable(stmt->inlist);
> + 	free_variable(stmt->outlist);
> + 	free(stmt);
> + }
> + 
>   static char *
>   next_insert(char *text)
>   {
> ***************
> *** 981,987 ****
>   					status = false;
>   				}
>   
> - 				PQclear(results);
>   				break;
>   			case PGRES_EMPTY_QUERY:
>   				/* do nothing */
> --- 1009,1014 ----
> ***************
> *** 1017,1022 ****
> --- 1044,1050 ----
>   				status = false;
>   				break;
>   		}
> + 		PQclear(results);
>   	}
>   
>   	/* check for asynchronous returns */
> ***************
> *** 1037,1042 ****
> --- 1065,1071 ----
>   	va_list		args;
>   	struct statement *stmt;
>   	struct connection *con = get_connection(connection_name);
> + 	bool		status;
>   
>   	if (con == NULL)
>   	{
> ***************
> *** 1057,1063 ****
>   		return false;
>   	}
>   
> ! 	return (ECPGexecute(stmt));
>   }
>   
>   bool
> --- 1086,1094 ----
>   		return false;
>   	}
>   
> ! 	status = ECPGexecute(stmt);
> ! 	free_statement(stmt);
> ! 	return (status);
>   }
>   
>   bool
> 
> 
> 


-- 
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Mon, 10 May 1999 01:00:45 -0400 (EDT)
Bruce Momjian <maillist@candle.pha.pa.us>
Re: [HACKERS] ecpg fixes
On Mon, May 10, 1999 at 01:00:45AM -0400, Bruce Momjian wrote:
> 
> 
> Can someone comment on this?  It looks like part of this is applied, but
> not all of it.
> ...
 
It should be all committed. That is I changed pgc.l a little bit so maybe
that's the reason. If something's really missing, please tell me.

Michael
-- 
Michael Meskes                         | Go SF 49ers!
Th.-Heuss-Str. 61, D-41812 Erkelenz    | Go Rhein Fire!
Tel.: (+49) 2431/72651                 | Use Debian GNU/Linux!
Email: Michael.Meskes@gmx.net          | Use PostgreSQL!

Tue, 11 May 1999 10:23:29 +0200
Michael Meskes <meskes@postgresql.org>
Re: [HACKERS] ecpg fixes
> On Mon, May 10, 1999 at 01:00:45AM -0400, Bruce Momjian wrote:
> > 
> > 
> > Can someone comment on this?  It looks like part of this is applied, but
> > not all of it.
> > ...
>  
> It should be all committed. That is I changed pgc.l a little bit so maybe
> that's the reason. If something's really missing, please tell me.

Michael, there was a function that looks like it fixed some memory leak.
Do you have the patch there so you can package up one that matches the
current sources?  I am stumped on what it was trying to do.

-- 
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Wed, 12 May 1999 01:14:11 -0400 (EDT)
Bruce Momjian <maillist@candle.pha.pa.us>
Re: [HACKERS] ecpg fixes