Re: how solve diff of API counstruct_md_array between
| От | Joe Conway |
|---|---|
| Тема | Re: how solve diff of API counstruct_md_array between |
| Дата | |
| Msg-id | 43F4F0B1.6040507@joeconway.com обсуждение исходный текст |
| Ответ на | Re: how solve diff of API counstruct_md_array between 8.1 and 8.2? (Martijn van Oosterhout <kleptog@svana.org>) |
| Ответы |
Re: how solve diff of API counstruct_md_array between
|
| Список | pgsql-hackers |
Martijn van Oosterhout wrote: > On Thu, Feb 16, 2006 at 08:36:34PM +0100, Pavel Stehule wrote: >>I use counstruct_md_array function in my Orafunc module. CVS version has >>diff def now. I am findig way for simple solution of maintaince source code >>for both version. I have PG_VERSION variable, but it's unusable. Is there >>way for contrib's autors differentiate PostgreSQL versions? I don't want to >>have two versions of source code. > > For my stuff I've generally use CATALOG_VERSION_NO. It's not very easy, > but by looking through CVS you can find when the function was created > and in your code use: > > #ifdef CATALOG_VERSION_NO > yyyymmddN > /* New stuff */ > #else > /* Old stuff */ > #endif I do pretty much the same thing in PL/R. The good news is that CATALOG_VERSION_NO doesn't change for each major release once it is released. The following hasn't been updated since the 8.1 release, but you could use it as a starting point: #if (CATALOG_VERSION_NO <= 200211021) #define PG_VERSION_73_COMPAT #elif (CATALOG_VERSION_NO <= 200310211) #define PG_VERSION_74_COMPAT #elif (CATALOG_VERSION_NO <= 200411041) #define PG_VERSION_80_COMPAT #else #define PG_VERSION_81_COMPAT #endif HTH, Joe
В списке pgsql-hackers по дате отправления: