• Peter Eisentraut's avatar
    Simplify index tuple descriptor initialization · e5f1bb92
    Peter Eisentraut authored
    We have two code paths for initializing the tuple descriptor for a new
    index: For a normal index, we copy the tuple descriptor from the table
    and reset a number of fields that are not applicable to indexes.  For an
    expression index, we make a blank tuple descriptor and fill in the
    needed fields based on the provided expressions.  As pg_attribute has
    grown over time, the number of fields that we need to reset in the first
    case is now bigger than the number of fields we actually want to copy,
    so it's sensible to do it the other way around: Make a blank descriptor
    and copy just the fields we need.  This also allows more code sharing
    between the two branches, and it avoids having to touch this code for
    almost every unrelated change to the pg_attribute structure.
    Reviewed-by: default avatarArthur Zakirov <a.zakirov@postgrespro.ru>
    e5f1bb92
index.c 131 KB