ECPG patchset

Поиск
Список
Период
Сортировка
От Boszormenyi Zoltan
Тема ECPG patchset
Дата
Msg-id 4A9FC2AA.1080603@cybertec.at
обсуждение исходный текст
Ответы Re: ECPG patchset  (Boszormenyi Zoltan <zb@cybertec.at>)
Список pgsql-hackers
Hi,

we have updated our patchset to current 8.5 CVS.
The actual patches will be in emails coming as
answers to this one. As two patches were already included,
the remaining patches are as follows:

1. dynamic cursorname
2. sqlda support
3. describe support
4. proper out-of-scope declare/open/fetch for cursors in compat mode

Changes (the numbers indicate the patch it was made in):

1. ECPG auto-generated grammar couldn't deal with  grammar objects having both an "addon" and a "rule"  extension,
emittingan extra '{' between the "addon"  and the original rule code blocks. Fix was needed for parse.pl  and now the
grammarlooks nicer, my previous question was  solved by it.
 

2. No more ecpg_compare_sqlda_with_PGresult() function, it triggered  most of the time anyway, it's cheaper to
unconditionallyfree() and
 
malloc().  No more realloc(), it ruined the internal pointers inside the sqlda
structure.  A small leak fix for FETCH when a decimal or numeric was used:

> diff -durpN pgsql.dyncursor/src/interfaces/ecpg/ecpglib/data.c
> pgsql.sqlda/src/interfaces/ecpg/ecpglib/data.c
> --- pgsql.dyncursor/src/interfaces/ecpg/ecpglib/data.c  2009-08-08
> 17:19:45.000000000 +0200
> +++ pgsql.sqlda/src/interfaces/ecpg/ecpglib/data.c      2009-09-03
> 12:56:36.000000000 +0200
> @@ -554,7 +554,7 @@ ecpg_get_data(const PGresult *results, i
>                                         else
>                                                
> PGTYPESnumeric_to_decimal(nres, (decimal *) (var + offset * act_tuple));
>  
> -                                       free(nres);
> +                                       PGTYPESnumeric_free(nres);
>                                         break;
>  
>                                 case ECPGt_interval:
  Now sqlda usage is valgrind-clean.  We added the possibility to extend SQLDA for multi-row FETCH,  using the
->desc_nextpointer, but not implemented. Multi-row  FETCH is not available in Informix.
 

3. Only updated to current CVS.

4. Fixed uninitialized pointers that were discovered by valgrind and  were causing problems on HP-UX. (Small malloc()s
seemto be  zeroed out by Fedora 9's glibc, but not on HP-UX.)
 

Best regards,
Zoltán Böszörményi

-- 
Bible has answers for everything. Proof:
"But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
than these cometh of evil." (Matthew 5:37) - basics of digital technology.
"May your kingdom come" - superficial description of plate tectonics

----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
http://www.postgresql.at/



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Ľubomír Varga
Дата:
Сообщение: suggestion to improve planer
Следующее
От: Boszormenyi Zoltan
Дата:
Сообщение: Re: ECPG patchset