aries-framework-go-ext icon indicating copy to clipboard operation
aries-framework-go-ext copied to clipboard

Full PostgreSQL storage provider/store implementation

Open DRK3 opened this issue 3 years ago • 0 comments

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)

DRK3 avatar Mar 17 '22 23:03 DRK3

@bobozaur I would like to work on this issue could you assign it to me plz.

SumantxD avatar May 05 '23 21:05 SumantxD

@bobozaur can you help me locate Attribute struct inside the file structure, i'am struggling to find it

SumantxD avatar May 06 '23 07:05 SumantxD

@SumantxD My bad, the struct rename was already done but I was looking at an older branch when drafting this issue. I updated the issue description to match the main branch.

bobozaur avatar May 06 '23 07:05 bobozaur

@bobozaur I have tried solving the issue here is the PR https://github.com/hyperledger/aries-vcx/pull/831

SumantxD avatar May 07 '23 10:05 SumantxD