In another patch discussion it was brought up why the patch doesn't use the IndexIsValid() etc. macros.
They are defined thus: /* * Use of these macros is recommended over direct examination of the state * flag columns where possible; this allows source code compatibility with * the hacky representation used in 9.2. */ #define IndexIsValid(indexForm) ((indexForm)->indisvalid) #define IndexIsReady(indexForm) ((indexForm)->indisready) #define IndexIsLive(indexForm) ((indexForm)->indislive) I don't see them used consistently. Obviously, some low-level code needs to bypass them, but it's hard to see where to draw the line. Is it worth keeping these? Is there still code that maintains compatibility with 9.2 from a single source? -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services