Simon Riggs <simon@2ndquadrant.com> writes:
> On Wed, 2008-04-23 at 12:07 -0400, Tom Lane wrote:
>> To be acceptable, a GIT patch would have to be optional and it
>> would have to expose in the catalogs whether a given index was lossy
>> in this way or not (so that the planner could know whether a plan based
>> on returning index keys would work).
> Would you see it as a separate index type, or a modification of the
> b-tree (with option enabled via a "storage parameter")? If it was the
> latter, then perhaps there could be a future for the GIT patch after
> all.
Hmm, well, separate index type doesn't seem real nice because most all
the places that currently know special things about btree would need to
be hacked to recognize the other type too; plus we'd have to double all
the btree entries in pg_amop/pg_amproc/pg_opclass/pg_opfamily.
I think storage parameter is no good also, given the current design that
assumes those can be changed on-the-fly. It'd be okay to GIT-ify an
existing index, perhaps, but not the other way round.
I was considering a new pg_index column. Or else we'd have to fix
the storage-parameter infrastructure to support restricting changes
of some parameters.
regards, tom lane