• Tom Lane's avatar
    Further cleanup of client dependencies on src/include/catalog headers. · af1a9491
    Tom Lane authored
    In commit 9c0a0de4, 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
    af1a9491
xlogutils.c 31.1 KB