pub struct KeyColumn<'a> { /* private fields */ }Expand description
One column of a committed table, scanned in rid order.
A rid is a row’s position in append order, and the parts of a table are in append order, so a
scan of the parts in order is a scan in rid order and there is nothing to look up. That is the
whole of the correspondence and it is worth stating, because a build that read the parts in any
other order would produce a map that resolved every key to the wrong row without failing.
Implementations§
Source§impl<'a> KeyColumn<'a>
impl<'a> KeyColumn<'a>
Sourcepub fn new(reader: &'a Reader, column: usize) -> Result<Self>
pub fn new(reader: &'a Reader, column: usize) -> Result<Self>
Names a column of a table as the key column of a relationship’s parent side.
§Errors
If there is no such column, or if its type has no integer key form. VARCHAR is the second
of those today: section 2.2 says a string key is mapped through its dictionary codes rather
than its text, and the code path is not built yet. None of TPC-H’s eight relationships needs
it, so it is refused by name rather than approximated.