Re: PG12, PGXS and linking pgfeutils
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Ian Barwick <ian.barwick@2ndquadrant.com>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2019-05-09T17:20:53Z
Lists: pgsql-hackers
I wrote: > Ian Barwick <ian.barwick@2ndquadrant.com> writes: >> Commit cc8d4151 [*] introduced a dependency between some functions in >> libpgcommon and libpgfeutils, > This seems rather seriously broken. I do not think the answer is to > create a global dependency on libpgfeutils. Or, to be clearer: fe_utils has had dependencies on libpgcommon since its inception. What we are seeing here is that libpgcommon has now grown some dependencies on libpgfeutils. That can't be allowed to stand. We'd be better off giving up on the separation between those libraries than having circular dependencies between them. I'm not especially on board with the idea of moving FE-specific error handling code into libpgcommon, as that breaks the concept that src/common/ is broadly for code that can work in either frontend or backend contexts. However, we already have a few violations of that rule: common/Makefile already has # A few files are currently only built for frontend, not server OBJS_FRONTEND = $(OBJS_COMMON) fe_memutils.o file_utils.o restricted_token.o So maybe the answer is to move these logging support functions into src/common, in a file that's only built for frontend. regards, tom lane
Commits
-
Move logging.h and logging.c from src/fe_utils/ to src/common/.
- fc9a62af3f87 12.0 landed
-
Remove pg_rewind's private logging.h/logging.c files.
- 53ddefbaf8a0 12.0 landed
-
Unified logging system for command-line programs
- cc8d41511721 12.0 cited