Repository navigation
chore(loads): document table write locking and retry behavior - #229
Conversation
| connection: StrictStr | ||
| constant_per_key: List[StrictStr] = Field(description="Columns the table declares constant for a given key: for every row, any other row sharing its key holds the same value of these columns. Declaring this lets a keyed mutation narrow its search for prior versions to the values the upload carries. Empty when none is declared, which is the unrestricted search. Unlike `partition_by` and `sorted_by` this is NOT fixed at creation — it changes only which files a mutation opens, never how rows are written — so read it here rather than assuming a declaration took effect.") | ||
| last_sync: Optional[StrictStr] = None | ||
| layout: TableLayout = Field(description="The table's storage layout: `analytical`, or `point_lookup`, whose small data pages make fetching its rows by id cheap. Fixed at creation.") |
There was a problem hiding this comment.
nit: Confirm that every server version returns layout on every TableInfo, including tables from external connections (not blocking).
TableInfo.layout is required. If a response omits layout, TableInfo.from_dict raises a pydantic ValidationError. The whole information_schema call then fails. The partition_by description states "always present" for external tables. The layout description does not. Fix this in the upstream spec only if the server can omit the field: mark layout optional there and regenerate.
|
|
||
| ### Changed | ||
|
|
||
| - chore(loads): document table write locking and retry behavior |
There was a problem hiding this comment.
nit: Add an entry under ### Added for the new TableLayout enum and the layout field (not blocking).
The current entry only describes load locking documentation. The PR also adds public API: hotdata.TableLayout and layout on AddManagedTableDecl, AddManagedTableRequest, DatabaseDefaultTableDecl, and TableInfo. Keep a Changelog lists new features under Added. Users who read the changelog do not learn about the new field.
Auto-generated from the updated HotData OpenAPI spec.
Source: https://github.com/hotdata-dev/www/pull/496