plugins/sql: Add refresh time tracking, time_msec support, and extend pagination to all indexed tables #8841
+94
−8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The SQL plugin had several TODO items:
Solution
1. TODO 2: Refresh time tracking in API
Added tracking of table refresh completion times:
2. TODO 8: time_msec field type support
Added FIELD_TIME_MSEC enum type for millisecond timestamps:
3. TODO 10: General pagination API
Extended pagination from 2 tables to 6 tables using refresh_by_created_index:
About TODO 11: Normalize account_id fields.
The problem is - account_id in chainmoves and channelmoves tables is TEXT and highly duplicated (same values like "wallet", "external" repeated thousands of times).
I propose such solution:
That will give us:
Implementation may be like this:
Should this be automatic migration or optional flag?
Keep old column as deprecated or remove completely?
Changelog
Important
26.04 FREEZE March 11th: Non-bugfix PRs not ready by this date will wait for 26.06.
RC1 is scheduled on March 23rd
The final release is scheduled for April 15th.
Checklist
Before submitting the PR, ensure the following tasks are completed. If an item is not applicable to your PR, please mark it as checked:
tools/lightning-downgrade