Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Each operation in KV/record views looks like this:
- Convert input rows to BinaryRowEx (using some schema version V1)
- Execute an operation (which will use some schema version V2)
- Convert the operation output from BinaryRowEx (using some schema version V3)
Steps 1 or 3 might be missing, but that's not the point.
V1 and V3 are now obtained simply by looking at the latest schema version from the point of view of the node at the moment of conversion. V2 is obtained using transaction ts; the transaction might be started implicitly by InternalTable.
The problem is that V1, V2, V3 might be different.
We should fix some timestamp before the whole sequence and use it in all 3 steps to obtain schemas. As at step 2 the underlying machinery already uses transaction ts, we should create an implicit tx (if not present) at the level of KV/record views and then use its ts to obtain schema versions at steps 1 and 3 (at step 2 this will happen automatically).
Attachments
Issue Links
- split from
-
IGNITE-19226 Fetch table schema by timestamp
- Resolved
- links to