mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Cleanup covering infrastructure
- Explicitly forbids opclass, collation and indoptions (like DESC/ASC etc) for including columns. Throw an error if user points that. - Truncated storage arrays for such attributes to store only key atrributes, added assertion checks. - Do not check opfamily and collation for including columns in CompareIndexInfo() Discussion: https://www.postgresql.org/message-id/5ee72852-3c4e-ee35-e2ed-c1d053d45c08@sigaev.ru
This commit is contained in:
@ -1356,15 +1356,15 @@ pg_get_indexdef_worker(Oid indexrelid, int colno,
|
||||
{
|
||||
Oid indcoll;
|
||||
|
||||
if (keyno >= idxrec->indnkeyatts)
|
||||
continue;
|
||||
|
||||
/* Add collation, if not default for column */
|
||||
indcoll = indcollation->values[keyno];
|
||||
if (OidIsValid(indcoll) && indcoll != keycolcollation)
|
||||
appendStringInfo(&buf, " COLLATE %s",
|
||||
generate_collation_name((indcoll)));
|
||||
|
||||
if (keyno >= idxrec->indnkeyatts)
|
||||
continue;
|
||||
|
||||
/* Add the operator class name, if not default */
|
||||
get_opclass_name(indclass->values[keyno], keycoltype, &buf);
|
||||
|
||||
|
Reference in New Issue
Block a user