You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## What changes are proposed in this pull request?
New `TableProperties` struct parses the `Metadata` action's
`configuration` into a strongly-typed configuration struct. Instead of
previously manually querying specific keys (e.g. checking ColumnMapping
key) we can leverage the configuration to appropriately handle DVs,
column mapping, etc. in a structured manner.
Pragmatically, the changes are:
1. New `TableProperties` struct along with new
`Snapshot::get_table_properties()` API
a. Note that every field is optional and additionally there is an
`unknown_properties` field which includes a hashmap of all fields that
did not parse to a known table property.
2. `table_properties` module including deserialization submodule to
implement functions to deserialize the fields of `TableProperties`
### Future work
- optimize/test/improve interval parsing:
#507
- introduce a facility to query protocol + table properties to unify
checks on e.g. column mapping mode/dv enablement/etc.
#508
- docs #519
- #535
## This PR affects the following public APIs
- New `TableProperties` and `Snapshot::get_table_properties` API
## How was this change tested?
new ut
Credit: @roeap for the original PR which this is based on #222
should include more details and links to the protocol for each table property.
ref: #453 (comment)
The text was updated successfully, but these errors were encountered: