-
I've read the blog post on Move-Stable Row IDs, but I'm still a bit unclear about the design and semantics of row id and row address. I've also noticed that these concepts seem to be messed up in the codebase. Could we clarify the intended design of row id vs row address, particularly in the following areas:
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 5 replies
-
Very appreciate someone could help me resolve these questions |
Beta Was this translation helpful? Give feedback.
-
From my view:
I hope someone can correct me if I describe incorrectly |
Beta Was this translation helpful? Give feedback.
Row ids aren't stored in the data files. Where they are stored depends on style. For row addresses, they are implicit and not stored anywhere.
Move stable row ids are stored in the manifest. Each fragment is assigned a row id sequence. This sequence provides a mapping from row id, to offset in the fragment.
Row ids are stored in the index files. As discussed above, sometimes the row addresses are the same as row ids.
For address-style, they are not updated. Rows are moved, and the address c…