Re: port/snprintf.c (was Re: Numeric 508 datatype)

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: port/snprintf.c (was Re: Numeric 508 datatype)
Дата
Msg-id 200512050318.jB53IA810325@candle.pha.pa.us
обсуждение исходный текст
Ответ на port/snprintf.c (was Re: Numeric 508 datatype)  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-patches
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > OK, snprintf.c fixed.  I added a 'stream' and outlen parameter to all
> > the calls, and cleaned up the switch() statement that was outputing
> > twice.  When we were outputing just to a string, it didn't matter, but
> > now that we are also outputting to a stream, it does.
>
> I found a whole bunch more problems than this :-(.  I've committed a
> cleaned-up version that seems to work correctly in a simple standalone
> testbed, but it'd be a good idea to exercise it inside PG as well.
> Can you try regression tests and the factorial() problem on CVS tip?

Thanks.  Tested 8.1.1 and CVS tip and all compile, and regression pass.
I also tested the factorial test and the result looks perfect, thanks!

> The problems are sufficiently bad that it might be a good idea to
> backport the fixes into 8.0 and before as well --- but I note that
> the ABI is different (pg_snprintf vs snprintf, etc) so this requires
> a bit of investigation rather than just committing the file as-is.

Not as many 8.0.X platforms used *printf because we didn't test %$ for
its use on that release, so my bet is that very few platforms would be
using it.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: port/snprintf.c (was Re: Numeric 508 datatype)
Следующее
От: "Sergey E. Koposov"
Дата:
Сообщение: Re: TODO item -- Improve psql's handling of multi-line