• Alvaro Herrera's avatar
    Remove hard-coded schema knowledge about pg_attribute from genbki.pl · 49c784ec
    Alvaro Herrera authored
    Add the ability to label a column's default value in the catalog header,
    and implement this for pg_attribute.  A new function in Catalog.pm is
    used to fill in a tuple with defaults.  The build process will complain
    loudly if a catalog entry is incomplete,
    
    Commit 8137f2c3 labeled variable length columns for the C preprocessor.
    Expose that label to genbki.pl so we can exclude those columns from schema
    macros in a general fashion. Also, format schema macro entries according
    to their types.
    
    This means slightly less code maintenance, but more importantly it's a
    proving ground for mechanisms intended to be used in later commits.
    
    While at it, I (Álvaro) couldn't resist making some changes in
    genbki.pl: rename some functions to actually indicate their purpose
    instead of actively misleading onlookers; and don't iterate on the whole
    of pg_type to find the entry for each catalog row, using a hash instead
    of an array.
    
    Author: John Naylor, some changes by Álvaro Herrera
    Discussion: https://postgr.es/m/CAJVSVGVJHwD8sfDfZW9TbCHWKf=C1YDRM-rF=2JenRU_y+VcFg@mail.gmail.com
    49c784ec
genbki.pl 14.1 KB