Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> In his long bootstrap-reworking thread[1] John Naylor initially proposed
> moving the DECLARE_INDEX lines from indexing.h to each of the
> corresponding catalog files. However, in the end that wasn't done;
> these lines are still in indexing.h. Is there a reason for this?
> Wouldn't it make more sense to have the indexes for pg_attribute appear
> in catalog/pg_attribute.h, and so forth?
FWIW, I think it's just fine as-is, for the same reason that CREATE INDEX
is a separate command from CREATE TABLE. The indexes on a table are not
part of the table data; to some extent they're an implementation detail.
regards, tom lane