Get the program and library version from the META file
This commit is contained in:
parent
71af7f20be
commit
7b84eeb010
13
bin/Makefile
13
bin/Makefile
@ -12,11 +12,16 @@ REGRESS = init repack
|
|||||||
|
|
||||||
EXTRA_CLEAN = sql/init-$(MAJORVERSION).sql sql/init.sql
|
EXTRA_CLEAN = sql/init-$(MAJORVERSION).sql sql/init.sql
|
||||||
|
|
||||||
ifdef DEBUG_REORG
|
# The version number of the program. It should be the same of the library.
|
||||||
PG_CPPFLAGS = -I$(libpq_srcdir) -DDEBUG_REORG
|
REPACK_VERSION = $(shell grep '"version":' ../META.json | head -1 \
|
||||||
else
|
| sed -e 's/\s*"version":\s*"\(.*\)",/\1/')
|
||||||
PG_CPPFLAGS = -I$(libpq_srcdir)
|
|
||||||
|
PG_CPPFLAGS = -I$(libpq_srcdir) -DREPACK_VERSION=$(REPACK_VERSION)
|
||||||
|
|
||||||
|
ifdef DEBUG_REPACK
|
||||||
|
PG_CPPFLAGS += -DDEBUG_REPACK
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PG_LIBS = $(libpq)
|
PG_LIBS = $(libpq)
|
||||||
|
|
||||||
USE_PGXS = 1 # use pgxs if not in contrib directory
|
USE_PGXS = 1 # use pgxs if not in contrib directory
|
||||||
|
@ -10,10 +10,18 @@
|
|||||||
* @brief Client Modules
|
* @brief Client Modules
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const char *PROGRAM_VERSION = "1.1.7";
|
|
||||||
const char *PROGRAM_URL = "https://github.com/reorg/pg_reorg";
|
const char *PROGRAM_URL = "https://github.com/reorg/pg_reorg";
|
||||||
const char *PROGRAM_EMAIL = "reorg-general@lists.pgfoundry.org";
|
const char *PROGRAM_EMAIL = "reorg-general@lists.pgfoundry.org";
|
||||||
|
|
||||||
|
#ifdef REPACK_VERSION
|
||||||
|
/* macro trick to stringify a macro expansion */
|
||||||
|
#define xstr(s) str(s)
|
||||||
|
#define str(s) #s
|
||||||
|
const char *PROGRAM_VERSION = xstr(REPACK_VERSION);
|
||||||
|
#else
|
||||||
|
const char *PROGRAM_VERSION = "unknown";
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "pgut/pgut-fe.h"
|
#include "pgut/pgut-fe.h"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
@ -10,12 +10,18 @@ OBJS = repack.o pgut/pgut-be.o pgut/pgut-spi.o
|
|||||||
|
|
||||||
EXTENSION = pg_repack
|
EXTENSION = pg_repack
|
||||||
|
|
||||||
|
# The version number of the program. It should be the same of the library.
|
||||||
|
REPACK_VERSION = $(shell grep '"version":' ../META.json | head -1 \
|
||||||
|
| sed -e 's/\s*"version":\s*"\(.*\)",/\1/')
|
||||||
|
|
||||||
# The version of the extension, read from the .control file.
|
# The version of the extension, read from the .control file.
|
||||||
# Note that it doesn't need to be the same of the library version: it should
|
# Note that it doesn't need to be the same of the library version: it should
|
||||||
# be increased only when the sql changes.
|
# be increased only when the sql changes.
|
||||||
EXTVER = $(shell grep -e '^default_version' $(EXTENSION).control \
|
EXTVER = $(shell grep -e '^default_version' $(EXTENSION).control \
|
||||||
| sed -e "s/[^']*'\([^']*\)'.*/\1/")
|
| sed -e "s/[^']*'\([^']*\)'.*/\1/")
|
||||||
|
|
||||||
|
PG_CPPFLAGS = -DREPACK_VERSION=$(REPACK_VERSION)
|
||||||
|
|
||||||
#supports both EXTENSION (for >=9.1) and without_EXTENSION (for <PG 9.1)
|
#supports both EXTENSION (for >=9.1) and without_EXTENSION (for <PG 9.1)
|
||||||
DATA_built = pg_repack.sql pg_repack--$(EXTVER).sql
|
DATA_built = pg_repack.sql pg_repack--$(EXTVER).sql
|
||||||
DATA = pg_repack--1.1.7--1.1.8.sql uninstall_pg_repack.sql
|
DATA = pg_repack--1.1.7--1.1.8.sql uninstall_pg_repack.sql
|
||||||
|
10
lib/repack.c
10
lib/repack.c
@ -94,11 +94,19 @@ static void RenameRelationInternal(Oid myrelid, const char *newrelname, Oid name
|
|||||||
#define RENAME_REL(relid, newrelname) RenameRelationInternal(relid, newrelname);
|
#define RENAME_REL(relid, newrelname) RenameRelationInternal(relid, newrelname);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef REPACK_VERSION
|
||||||
|
/* macro trick to stringify a macro expansion */
|
||||||
|
#define xstr(s) str(s)
|
||||||
|
#define str(s) #s
|
||||||
|
#define LIBRARY_VERSION xstr(REPACK_VERSION)
|
||||||
|
#else
|
||||||
|
#define LIBRARY_VERSION "unknown"
|
||||||
|
#endif
|
||||||
|
|
||||||
Datum
|
Datum
|
||||||
repack_version(PG_FUNCTION_ARGS)
|
repack_version(PG_FUNCTION_ARGS)
|
||||||
{
|
{
|
||||||
return CStringGetTextDatum("pg_repack 1.1.6");
|
return CStringGetTextDatum("pg_repack " LIBRARY_VERSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user