Author | SHA1 | Message | Date |
---|---|---|---|
M. J. Fromberger |
7fe3e78a38
|
Update the psql indexer schema and implementation (#6868)
Update the schema and implementation of the Postgres event indexer to improve certain types of queries against the index. These changes address the use cases raised by #6843, and are partly inspired by the prototype schema in that issue. In the old schema, events were flattened, making it difficult to find all the events associated with a particular block or transaction. In addition, events with no key/value attributes were entirely lost, since entries were generated only for attributes. To address these issues, this new schema records blocks, transactions, events, and attributes in separate tables, and provides views that join these tables to give a more convenient query surface for block and transaction events. - All events for a given block can be queried from the `block_events` view. - All events for a given transaction can be queried from the `tx_events` view. - Multiple events for the same key can be indexed for both blocks and transactions. The tests have been reworked, but all of the existing test cases for the old schema still pass with the new implementation. Various other minor cleanups are included, ADR-065 is also updated to reflect the updated schema. |
3 years ago |
M. J. Fromberger |
41a361ed8d
|
psql: add documentation and simplify constructor API (#6856)
Add documentation comments to the psql event sink package, and simplify the constructor function so that it does not return the SQL database handle. The handle is needed for testing, so expose that via a separate method on the concrete type. Update the tests and existing usage for the change. This change does not affect the behaviour of the sink, so there are no functional changes, only syntactic updates. |
3 years ago |
M. J. Fromberger |
8f06e0c9e7
|
cleanup: remove redundant error plumbing (#6778)
This is a mostly-automated fixup using Comby (https://comby.dev) to remove lexically-obvious redundant error checks. No functional changes are intended. To reproduce the core change: # Collapse redundant error check conditionals % comby -in-place 'if err != nil { return err } return nil' 'return err' .go # Fold out unnecessary error temporaries % comby -in-place ':[spc~^\s*]err :[~:?]= :[any] return err' ':[spc]return :[any]' .go Fixes #6479 and related cases. |
3 years ago |
William Banfield |
3ccfb26137
|
psql: close opened rows in tests (#6669) | 3 years ago |
JayT106 |
d2b78ec09b
|
indexer: use INSERT ... ON CONFLICT in the psql eventsink insert functions (#6556) | 4 years ago |
JayT106 |
711a718162
|
config/indexer: custom event indexing (#6411) | 4 years ago |