• Tom Lane's avatar
    Assorted cleanups in preparation for using a map file to support altering · 70a2b05a
    Tom Lane authored
    the relfilenode of currently-not-relocatable system catalogs.
    
    1. Get rid of inval.c's dependency on relfilenode, by not having it emit
    smgr invalidations as a result of relcache flushes.  Instead, smgr sinval
    messages are sent directly from smgr.c when an actual relation delete or
    truncate is done.  This makes considerably more structural sense and allows
    elimination of a large number of useless smgr inval messages that were
    formerly sent even in cases where nothing was changing at the
    physical-relation level.  Note that this reintroduces the concept of
    nontransactional inval messages, but that's okay --- because the messages
    are sent by smgr.c, they will be sent in Hot Standby slaves, just from a
    lower logical level than before.
    
    2. Move setNewRelfilenode out of catalog/index.c, where it never logically
    belonged, into relcache.c; which is a somewhat debatable choice as well but
    better than before.  (I considered catalog/storage.c, but that seemed too
    low level.)  Rename to RelationSetNewRelfilenode.
    
    3. Cosmetic cleanups of some other relfilenode manipulations.
    70a2b05a
tablecmds.c 239 KB