New intarray-focused attribute extraction
We rewrite the record attribute extraction to capture all the
record-supplied values for each attribute (where multi is true)
and store that list in the new (fkey-corrected) metabib.record_attr_vector_list
table. Only filters make it into this table.
We also insert a parameter after the record id to accept a list of
record attributes we want to rewrite. This defaults to NULL to rewrite
all of them.
Sorters are stored in a new, separate table built specifically for them.
metabib.record_attr becomes a vew atop metabib.record_attr_vector_list
which expands the intarray stored therein into an hstore. For
multi=true attributes, only one will be returned through this view,
as is HSTORE's way, and which will be returned is undefined. However
this view is only provided for the purpose of backward compat with
reports or other locally defined logic.
Signed-off-by: Mike Rylander <mrylander@gmail.com>