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

Full PostgreSQL storage provider/store implementation #229

Open
@DRK3

Description

@DRK3

The current PostgreSQL storage implementation is incomplete.

In no particular order:

  • Some methods are just not implemented at all
  • The SetStoreConfig method does not allow tag names to be removed from the store config. Additionally, tag names cannot be added properly - if some existing tag names plus some new ones are used in one call, then the whole operation will fail. There are many difficulties here that require consideration. With the PostgreSQL implementation, tag names are columns. If removing a tag names, do we remove the whole column? If so, the tag information gets destroyed. This isn't true in other implementations (like NoSQL ones), so there's an inconsistency here among implementations.
  • Tag names are case-insensitive. For other storage provider implementations, they are case-sensitive. Either this implementation should allow them to be case-sensitive or the interface should specify that they should be case-insensitive in order to ensure consistency among implementations.
  • SetStoreConfig is mandatory, but should be optional. This is tricky since we need the columns to exist before doing a Put or Query using those tags (in NoSQL implementations like MongoDB, there are no columns so this isn't a problem).
  • Overwriting an existing key-value pair will not update the tags - they should be updated.
  • The query method needs to support tag name + tag value queries (currently only tag name queries are supported)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions