Skip to content
This repository was archived by the owner on Jun 18, 2024. It is now read-only.
This repository was archived by the owner on Jun 18, 2024. It is now read-only.

TableAM: Reloptions are bound only to relkind, they need also be included in the API. #23

Open
@Eulerizeit

Description

@Eulerizeit

Reloptions are bound only to relkind, they need also be included in table AM API.

Example:
A relkind of type sequence should never allow for the reloption fillfactor. A relkind of type relation should not always allow for the option fillfactor.

Specifically reloptions need to also be bound to the TableAM in order to ensure that the options make sense for the storage type.

Because of this we need to create multiple if/else statements, reorder code, and suffer.

Currently the only place this exists in the code without a new storage option is in the HeapOptions / ToastOptions code. We have introduced a new relkind for AO as a work around for this.

A solution will be that if we need a new storage option for one specific storage then that option should be of relkind relation.
A relkind relation should be addable without changing code over the TableAM API layer, and no other storage should accept it.

CURRENT WORK: (not far enough)
https://www.postgresql.org/message-id/flat/5578311.AeZzQnSgRP@x200m

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions