Commit Graph

4 Commits

Author SHA1 Message Date
bndw
55f0f5a225 feat(postgres): configurable limits
Makes all hardcoded limits configurable for `type PostgresBackend` and retains the
current default values.

Related to #60
2023-06-05 11:49:23 -03:00
bndw
03ecbb9e6c feat(postgres): configurable query limit
Adds a QueryLimit to `type PostgresBackend` and retains the
current default value of 100.

Closes #60
2023-05-24 13:13:42 -03:00
mattn
639c210661 support NIP-45 (#58) 2023-05-17 07:54:56 -03:00
bndw
ae641fd24d refactor(postgres): make SQL generation testable
Decouples the postgresql sql generation from the query execution.
This allows the logic for building sql to be unit tested without
access to a database.

This work was motivated when a client was not receiving events as
expected. In debugging I found that if a tag's value was an empty array,
then no query would be executed - and to my surprised no error is
raised either. I wanted to get a better sense of the current constraints on
when queries are and are not executed, but I had a hard time keeping the
code in my head. This led me to extracting the sql generation into its
own function and writing the unit tests that document its current
behavior. This refactor makes no changes to the current logic. I have added
some REVIEW comments in the test cases where I thought some error handling
could be introduced but I wanted to first see if you were receptive to this
refactor before proposing any functional changes.
2023-05-02 12:41:51 -03:00