Re: libECPG: Warning: get descriptor: 7.1 and 7.2 arenot

Поиск
Список
Период
Сортировка
От Christof Petig
Тема Re: libECPG: Warning: get descriptor: 7.1 and 7.2 arenot
Дата
Msg-id 3BC14A33.B251D9AE@petig-baender.de
обсуждение исходный текст
Ответ на Re: libECPG: Warning: get descriptor: 7.1 and 7.2 are  (Peter Eisentraut <peter_e@gmx.net>)
Ответы Re: libECPG: Warning: get descriptor: 7.1 and 7.2 arenot binary compatible (yet)
Re: libECPG: Warning: get descriptor: 7.1 and 7.2 arenot
Список pgsql-interfaces
Peter Eisentraut wrote:

> Christof Petig writes:
>
> > I just noticed that libecpg.so.3.2.0 and libecpg.so.3.3.0 are not binary
> > compatible.
> > A program using get descriptor stopped working (still under
> > investigation) once I installed the new libecpg.
>
> I seem to remember that some enums were rearranged or renumbered.  Look
> there.

You guessed right. I think I found the problem ...

@@ -67,10 +68,11 @@               ECPGd_ret_octet,               ECPGd_scale,               ECPGd_type,
+               ECPGd_cardinality,               ECPGd_EODT                              /* End of descriptor
typ
es. */       };


IIRC the list of descriptor types is terminated by ECPGd_EODT. So the new
library can't figure out where the old code's argument stop.

Fix: put ECPGd_cardinality behind ECPGd_EODT.
I reordered them because of logical considerations, maybe we should weight
binary compatibility more than beautiful-sortedness of enum values.

Michael: Would you swap the lines?

Thanks   Christof




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

Предыдущее
От: lbayuk@mindspring.com (ljb)
Дата:
Сообщение: Re: Trouble linking with libpq
Следующее
От: Michael Meskes
Дата:
Сообщение: Re: libECPG: Warning: get descriptor: 7.1 and 7.2 arenot binary compatible (yet)