Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ docs/DatabaseCountResponse.md
docs/DatabaseDefaultSchemaDecl.md
docs/DatabaseDefaultTableDecl.md
docs/DatabaseDetailResponse.md
docs/DatabaseLineageResponse.md
docs/DatabaseSummary.md
docs/DatabasesApi.md
docs/DeleteDatabaseBatchResponse.md
Expand All @@ -58,6 +59,7 @@ docs/FinalizeUploadPart.md
docs/FinalizeUploadRequest.md
docs/FinalizeUploadResponse.md
docs/ForkDatabaseRequest.md
docs/ForkedFromInfo.md
docs/GetConnectionResponse.md
docs/GetDatabaseContextResponse.md
docs/GetResultResponse.md
Expand All @@ -72,6 +74,8 @@ docs/JobStatus.md
docs/JobStatusResponse.md
docs/JobType.md
docs/JobsApi.md
docs/LineageAncestorInfo.md
docs/LineageForkInfo.md
docs/ListConnectionsResponse.md
docs/ListDatabaseContextsResponse.md
docs/ListDatabasesResponse.md
Expand All @@ -87,6 +91,7 @@ docs/ListWorkspacesResponse.md
docs/LoadManagedTableRequest.md
docs/LoadManagedTableResponse.md
docs/ManagedSchemaResponse.md
docs/ManagedTableConstantPerKeyResponse.md
docs/ManagedTableResponse.md
docs/MintUploadPartsRequest.md
docs/MintUploadPartsResponse.md
Expand All @@ -113,6 +118,7 @@ docs/TemporalProfileDetail.md
docs/TextProfileDetail.md
docs/UpdateEmbeddingProviderRequest.md
docs/UpdateEmbeddingProviderResponse.md
docs/UpdateManagedTableRequest.md
docs/UpdateSavedQueryRequest.md
docs/UploadSessionResponse.md
docs/UploadsApi.md
Expand Down Expand Up @@ -187,6 +193,7 @@ hotdata/models/database_count_response.py
hotdata/models/database_default_schema_decl.py
hotdata/models/database_default_table_decl.py
hotdata/models/database_detail_response.py
hotdata/models/database_lineage_response.py
hotdata/models/database_summary.py
hotdata/models/delete_database_batch_response.py
hotdata/models/discovery_status.py
Expand All @@ -197,6 +204,7 @@ hotdata/models/finalize_upload_part.py
hotdata/models/finalize_upload_request.py
hotdata/models/finalize_upload_response.py
hotdata/models/fork_database_request.py
hotdata/models/forked_from_info.py
hotdata/models/get_connection_response.py
hotdata/models/get_database_context_response.py
hotdata/models/get_result_response.py
Expand All @@ -208,6 +216,8 @@ hotdata/models/job_result.py
hotdata/models/job_status.py
hotdata/models/job_status_response.py
hotdata/models/job_type.py
hotdata/models/lineage_ancestor_info.py
hotdata/models/lineage_fork_info.py
hotdata/models/list_connections_response.py
hotdata/models/list_database_contexts_response.py
hotdata/models/list_databases_response.py
Expand All @@ -223,6 +233,7 @@ hotdata/models/list_workspaces_response.py
hotdata/models/load_managed_table_request.py
hotdata/models/load_managed_table_response.py
hotdata/models/managed_schema_response.py
hotdata/models/managed_table_constant_per_key_response.py
hotdata/models/managed_table_response.py
hotdata/models/mint_upload_parts_request.py
hotdata/models/mint_upload_parts_response.py
Expand All @@ -245,6 +256,7 @@ hotdata/models/temporal_profile_detail.py
hotdata/models/text_profile_detail.py
hotdata/models/update_embedding_provider_request.py
hotdata/models/update_embedding_provider_response.py
hotdata/models/update_managed_table_request.py
hotdata/models/update_saved_query_request.py
hotdata/models/upload_session_response.py
hotdata/models/upsert_database_context_request.py
Expand Down Expand Up @@ -301,6 +313,7 @@ test/test_database_count_response.py
test/test_database_default_schema_decl.py
test/test_database_default_table_decl.py
test/test_database_detail_response.py
test/test_database_lineage_response.py
test/test_database_summary.py
test/test_databases_api.py
test/test_delete_database_batch_response.py
Expand All @@ -313,6 +326,7 @@ test/test_finalize_upload_part.py
test/test_finalize_upload_request.py
test/test_finalize_upload_response.py
test/test_fork_database_request.py
test/test_forked_from_info.py
test/test_get_connection_response.py
test/test_get_database_context_response.py
test/test_get_result_response.py
Expand All @@ -327,6 +341,8 @@ test/test_job_status.py
test/test_job_status_response.py
test/test_job_type.py
test/test_jobs_api.py
test/test_lineage_ancestor_info.py
test/test_lineage_fork_info.py
test/test_list_connections_response.py
test/test_list_database_contexts_response.py
test/test_list_databases_response.py
Expand All @@ -342,6 +358,7 @@ test/test_list_workspaces_response.py
test/test_load_managed_table_request.py
test/test_load_managed_table_response.py
test/test_managed_schema_response.py
test/test_managed_table_constant_per_key_response.py
test/test_managed_table_response.py
test/test_mint_upload_parts_request.py
test/test_mint_upload_parts_response.py
Expand All @@ -368,6 +385,7 @@ test/test_temporal_profile_detail.py
test/test_text_profile_detail.py
test/test_update_embedding_provider_request.py
test/test_update_embedding_provider_response.py
test/test_update_managed_table_request.py
test/test_update_saved_query_request.py
test/test_upload_session_response.py
test/test_uploads_api.py
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed

- chore(databases): clarify case-sensitivity rules for name matching

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking: this PR removes three public SDK symbols, and the changelog records none of them.

Removed by this diff:

  • ConnectionsApi.purge_connection_cache
  • ConnectionsApi.purge_table_cache
  • CreateConnectionRequest.skip_discovery

The ### Removed section directly above (lines 10-20) already documents comparable retirements with a **Breaking:** prefix, so the convention exists in this file.

Failure scenario: a user on 0.10.0 upgrades to the next release, calls connections_api.purge_connection_cache(conn_id), and gets AttributeError. A user passing skip_discovery=True to CreateConnectionRequest gets a pydantic validation error. Neither user has any release note pointing at the cause.

Add entries under ### Removed for the two endpoints and the field.

- chore(databases): clarify fork naming behavior
- docs: adopt "instant database" / "instant catalog" terminology in hand-written
prose. Documentation only — all public API symbols (`ManagedTableResponse`,
Expand Down
1 change: 1 addition & 0 deletions docs/AddManagedTableDecl.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ One table declaration inside an add-schema request body.

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**constant_per_key** | **List[str]** | Columns whose value is determined by this table's `key`: for every uploaded row, every stored row sharing its key holds the same value of these columns. Declaring this lets a keyed mutation (`delete`, `update`, `upsert`) restrict its search for prior versions to the values the upload carries, which prunes far harder than the key alone when the key's own file statistics are weak. Omit (the default) for the unrestricted search. **Correctness-affecting, not a hint.** If the assertion is false, a mutation supersedes one version of a key and appends beside another, silently duplicating it. Declare it only where the invariant is established. | [optional]
**key** | **List[str]** | Columns that uniquely identify a row, enabling the key-based load modes (`delete`, `update`, `upsert`) on this table: those loads match rows by these columns' values. Omit (the default) to declare no key; the table can still be loaded with `replace` and `append`, but key-based modes are then rejected. | [optional]
**name** | **str** | |
**partition_by** | [**List[TablePartitionKey]**](TablePartitionKey.md) | Partition keys for this table, applied in order. Omit for no partitioning. Declared when the table is created and fixed thereafter. | [optional]
Expand Down
1 change: 1 addition & 0 deletions docs/AddManagedTableRequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Request body for adding a table to an existing schema: `POST /v1/connections/{id

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**constant_per_key** | **List[str]** | Columns whose value is determined by this table's `key`: for every uploaded row, every stored row sharing its key holds the same value of these columns. Declaring this lets a keyed mutation (`delete`, `update`, `upsert`) restrict its search for prior versions to the values the upload carries, which prunes far harder than the key alone when the key's own file statistics are weak. Omit (the default) for the unrestricted search. **Correctness-affecting, not a hint.** If the assertion is false, a mutation supersedes one version of a key and appends beside another, silently duplicating it. Declare it only where the invariant is established. | [optional]
**key** | **List[str]** | Columns that uniquely identify a row, enabling the key-based load modes (`delete`, `update`, `upsert`) on this table: those loads match rows by these columns' values. Omit (the default) to declare no key; the table can still be loaded with `replace` and `append`, but key-based modes are then rejected. | [optional]
**name** | **str** | |
**partition_by** | [**List[TablePartitionKey]**](TablePartitionKey.md) | Partition keys for this table, applied in order. Omit for no partitioning. Declared when the table is created and fixed thereafter. | [optional]
Expand Down
2 changes: 1 addition & 1 deletion docs/BulkCreateDatabasesRequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Name | Type | Description | Notes
**default_schema** | **str** | Schema that unqualified table names resolve to inside each database. | [optional]
**expires_at** | **str** | When the created databases expire. Accepts an RFC 3339 timestamp or a relative duration such as `24h`, `90m`, or `7d`. | [optional]
**idempotency_key** | **str** | Repeat this value to retry a request safely. A retry carrying a key that was already used returns the original batch — the same `batch_id` and the same databases — instead of creating a second set. The key identifies the request, not its contents: reusing a key with a different `count` or template returns the original batch unchanged rather than reporting a mismatch. Use a fresh key per distinct request. | [optional]
**name_template** | **str** | Optional display-label pattern for each database. `{index}` is replaced with the database's zero-based position — for example `tenant-{index}` produces `tenant-0`, `tenant-1`, and so on. When omitted, each database is labelled from its own ID. Labels are not identifiers and are not required to be unique. | [optional]
**name_template** | **str** | Optional display-label pattern for each database. Must contain `{index}`, which is replaced with the database's zero-based position, padded with leading zeros to the width of the batch's largest index — with a `count` of 100, `tenant-{index}` produces `tenant-00` through `tenant-99`. A pattern without `{index}` is rejected, since every database in the batch would be given the same label. Each label also carries a suffix identifying the batch, so repeating the same pattern on a later call does not reuse labels from this one. When omitted, each database is labelled from its own ID. | [optional]
**schemas** | [**List[DatabaseDefaultSchemaDecl]**](DatabaseDefaultSchemaDecl.md) | Schemas and tables to declare on every database in the batch, in the same shape a single create accepts. The declaration applies identically to each database, so a batch of 10,000 declaring one table yields 10,000 databases that each hold that table and are ready to load — with no follow-up call per database. Omitted or empty means each database starts with no tables. | [optional]

## Example
Expand Down
Loading
Loading