• Tom Lane's avatar
    Fix corner-case bug introduced with HOT: if REINDEX TABLE pg_class (or a · eca13886
    Tom Lane authored
    REINDEX DATABASE including same) is done before a session has done any other
    update on pg_class, the pg_class relcache entry was left with an incorrect
    setting of rd_indexattr, because the indexed-attributes set would be first
    demanded at a time when we'd forced a partial list of indexes into the
    pg_class entry, and it would remain cached after that.  This could result
    in incorrect decisions about HOT-update safety later in the same session.
    In practice, since only pg_class_relname_nsp_index would be missed out,
    only ALTER TABLE RENAME and ALTER TABLE SET SCHEMA could trigger a problem.
    Per report and test case from Ondrej Jirman.
    eca13886
index.c 72.6 KB