Tom Lane wrote:
Thomas Hallgren <[EMAIL PROTECTED]> writes:
PGSQL_MAJOR_VER := 7
PGSQL_MINOR_VER := 5
PGSQL_PATCH_VER := devel
VERSION := $(PGSQL_MAJOR_VER).$(PGSQL_MINOR_VER).$(PGSQL_PATCH_VER)

To be used in CPPFLAGS as: -DPGSQL_MAJOR_VER=$(PGSQL_MAJOR_VER) etc.

Wouldn't it be better to just put those #defines in to begin with, rather than requiring people to hack on their CPPFLAGS? I don't offhand see much need for knowing the PG version at the Makefile level, but I do see the usefulness at the C-code level.

I think Joe Conway is already doing something like this for pl/r ...
leastwise he's shown bits of #ifdef'd code in past email.  It would
be interesting to see the details of his solution.

This is what I currently have:


#if (CATALOG_VERSION_NO <= 200211021)
#define PG_VERSION_73_COMPAT
#elif (CATALOG_VERSION_NO <= 200310211)
#define PG_VERSION_74_COMPAT
#else
#define PG_VERSION_75_COMPAT
#endif

Since CATALOG_VERSION_NO doesn't change between major releases, it seems to work pretty well.

Joe

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
     joining column's datatypes do not match

Reply via email to