mirror of
https://github.com/postgres/postgres.git
synced 2025-10-18 04:29:09 +03:00
Further cleanup of client dependencies on src/include/catalog headers.
In commit 9c0a0de4c
, I'd failed to notice that catalog/catalog.h
should also be considered a frontend-unsafe header, because it includes
(and needs) the full form of pg_class.h, not to mention relcache.h.
However, various frontend code was depending on it to get
TABLESPACE_VERSION_DIRECTORY, so refactoring of some sort is called for.
The cleanest answer seems to be to move TABLESPACE_VERSION_DIRECTORY,
as well as the OIDCHARS symbol, to common/relpath.h. Do that, and mop up
inclusions as necessary. (I found that quite a few current users of
catalog/catalog.h don't seem to need it at all anymore, apparently as a
result of the refactorings that created common/relpath.[hc]. And
initdb.c needed it only as a route to pg_class_d.h.)
Discussion: https://postgr.es/m/6629.1523294509@sss.pgh.pa.us
This commit is contained in:
@@ -13,6 +13,22 @@
|
||||
#ifndef RELPATH_H
|
||||
#define RELPATH_H
|
||||
|
||||
/*
|
||||
* 'pgrminclude ignore' needed here because CppAsString2() does not throw
|
||||
* an error if the symbol is not defined.
|
||||
*/
|
||||
#include "catalog/catversion.h" /* pgrminclude ignore */
|
||||
|
||||
|
||||
/*
|
||||
* Name of major-version-specific tablespace subdirectories
|
||||
*/
|
||||
#define TABLESPACE_VERSION_DIRECTORY "PG_" PG_MAJORVERSION "_" \
|
||||
CppAsString2(CATALOG_VERSION_NO)
|
||||
|
||||
/* Characters to allow for an OID in a relation path */
|
||||
#define OIDCHARS 10 /* max chars printed by %u */
|
||||
|
||||
/*
|
||||
* Stuff for fork names.
|
||||
*
|
||||
|
Reference in New Issue
Block a user