From 342b3b372e9c7080082fa5b1b3f01de91467786b Mon Sep 17 00:00:00 2001 From: Fokko Driesprong Date: Fri, 26 May 2023 00:00:05 -0500 Subject: [PATCH 1/6] Open-API: Refactor TableRequirements I believe the constraints are not defined in the right way. After generating code I got: ```python class TableRequirement(BaseModel): type: Literal[ 'assert-create', 'assert-table-uuid', 'assert-ref-snapshot-id', 'assert-last-assigned-field-id', 'assert-current-schema-id', 'assert-last-assigned-partition-id', 'assert-default-spec-id', 'assert-default-sort-order-id', ] ref: Optional[str] = None uuid: Optional[str] = None snapshot_id: Optional[int] = Field(None, alias='snapshot-id') last_assigned_field_id: Optional[int] = Field(None, alias='last-assigned-field-id') current_schema_id: Optional[int] = Field(None, alias='current-schema-id') last_assigned_partition_id: Optional[int] = Field( None, alias='last-assigned-partition-id' ) default_spec_id: Optional[int] = Field(None, alias='default-spec-id') default_sort_order_id: Optional[int] = Field(None, alias='default-sort-order-id') ``` Which encapulates all the requirements. After the refactor in this PR, we'll end up with: ```python class AssertCreate(BaseModel): type: Literal['assert-create'] class AssertTableUUID(BaseModel): type: Literal['assert-table-uuid'] uuid: str class AssertRefSnapshotId(BaseModel): type: Literal['assert-ref-snapshot-id'] ref: str snapshot_id: int = Field(..., alias='snapshot-id') class AssertLastAssignedFieldId(BaseModel): type: Literal['assert-last-assigned-field-id'] last_assigned_partition_id: int = Field(..., alias='last-assigned-partition-id') class AssertCurrentSchemaId(BaseModel): type: Literal['assert-current-schema-id'] current_schema_id: int = Field(..., alias='current-schema-id') class AssertLastAssignedPartitionId(BaseModel): type: Literal['assert-last-assigned-partition-id'] last_assigned_partition_id: int = Field(..., alias='last-assigned-partition-id') class AssertDefaultSpecId(BaseModel): type: Literal['assert-default-spec-id'] default_spec_id: int = Field(..., alias='default-spec-id') class AssertDefaultSortOrderId(BaseModel): type: Literal['assert-default-sort-order-id'] default_sort_order_id: int = Field(..., alias='default-sort-order-id') class TableRequirement(BaseModel): __root__: Union[ AssertCreate, AssertTableUUID, AssertRefSnapshotId, AssertLastAssignedFieldId, AssertCurrentSchemaId, AssertLastAssignedPartitionId, AssertDefaultSpecId, AssertDefaultSortOrderId, ] = Field(..., discriminator='type') ``` Which makes sense to me. --- open-api/rest-catalog-open-api.yaml | 136 ++++++++++++++++++++++------ 1 file changed, 106 insertions(+), 30 deletions(-) diff --git a/open-api/rest-catalog-open-api.yaml b/open-api/rest-catalog-open-api.yaml index a474d7c49f0e..5afcfcb50952 100644 --- a/open-api/rest-catalog-open-api.yaml +++ b/open-api/rest-catalog-open-api.yaml @@ -1649,58 +1649,134 @@ components: - $ref: '#/components/schemas/SetPropertiesUpdate' - $ref: '#/components/schemas/RemovePropertiesUpdate' - TableRequirement: - description: - Assertions from the client that must be valid for the commit to succeed. Assertions are identified by `type` - - - - `assert-create` - the table must not already exist; used for create transactions - - - `assert-table-uuid` - the table UUID must match the requirement's `uuid` - - - `assert-ref-snapshot-id` - the table branch or tag identified by the requirement's `ref` must reference the requirement's `snapshot-id`; if `snapshot-id` is `null` or missing, the ref must not already exist - - - `assert-last-assigned-field-id` - the table's last assigned column id must match the requirement's `last-assigned-field-id` - - - `assert-current-schema-id` - the table's current schema id must match the requirement's `current-schema-id` - - - `assert-last-assigned-partition-id` - the table's last assigned partition id must match the requirement's `last-assigned-partition-id` - - - `assert-default-spec-id` - the table's default spec id must match the requirement's `default-spec-id` - - - `assert-default-sort-order-id` - the table's default sort order id must match the requirement's `default-sort-order-id` + AssertCreate: type: object + description: The table must not already exist; used for create transactions required: - type properties: type: type: string - enum: - - assert-create - - assert-table-uuid - - assert-ref-snapshot-id - - assert-last-assigned-field-id - - assert-current-schema-id - - assert-last-assigned-partition-id - - assert-default-spec-id - - assert-default-sort-order-id - ref: + enum: ["assert-create"] + + AssertTableUUID: + description: The table UUID must match the requirement's `uuid` + required: + - type + - uuid + properties: + type: type: string + enum: ["assert-table-uuid"] uuid: type: string + + AssertRefSnapshotId: + description: + The table branch or tag identified by the requirement's `ref` must reference the requirement's `snapshot-id`; + if `snapshot-id` is `null` or missing, the ref must not already exist + required: + - type + - ref + - snapshot-id + properties: + type: + type: string + enum: [ "assert-ref-snapshot-id" ] + ref: + type: string snapshot-id: type: integer format: int64 - last-assigned-field-id: + + AssertLastAssignedFieldId: + description: + The table's last assigned column id must match the requirement's `last-assigned-field-id` + required: + - type + - last-assigned-partition-id + properties: + type: + type: string + enum: [ "assert-last-assigned-field-id" ] + last-assigned-partition-id: type: integer + + AssertCurrentSchemaId: + description: + The table's current schema id must match the requirement's `current-schema-id` + required: + - type + - current-schema-id + properties: + type: + type: string + enum: [ "assert-current-schema-id" ] current-schema-id: type: integer + + AssertLastAssignedPartitionId: + description: + The table's last assigned partition id must match the requirement's `last-assigned-partition-id` + required: + - type + - last-assigned-partition-id + properties: + type: + type: string + enum: [ "assert-last-assigned-partition-id" ] last-assigned-partition-id: type: integer + + AssertDefaultSpecId: + description: + The table's default spec id must match the requirement's `default-spec-id` + required: + - type + - default-spec-id + properties: + type: + type: string + enum: [ "assert-default-spec-id" ] default-spec-id: type: integer + + AssertDefaultSortOrderId: + description: + The table's default sort order id must match the requirement's `default-sort-order-id` + required: + - type + - default-sort-order-id + properties: + type: + type: string + enum: [ "assert-default-sort-order-id" ] default-sort-order-id: type: integer + TableRequirement: + oneOf: + - $ref: '#/components/schemas/AssertCreate' + - $ref: '#/components/schemas/AssertTableUUID' + - $ref: '#/components/schemas/AssertRefSnapshotId' + - $ref: '#/components/schemas/AssertLastAssignedFieldId' + - $ref: '#/components/schemas/AssertCurrentSchemaId' + - $ref: '#/components/schemas/AssertLastAssignedPartitionId' + - $ref: '#/components/schemas/AssertDefaultSpecId' + - $ref: '#/components/schemas/AssertDefaultSortOrderId' + discriminator: + propertyName: type + mapping: + assert-create: '#/components/schemas/AssertCreate' + assert-table-uuid: '#/components/schemas/AssertTableUUID' + assert-ref-snapshot-id: '#/components/schemas/AssertRefSnapshotId' + assert-last-assigned-field-id: '#/components/schemas/AssertLastAssignedFieldId' + assert-current-schema-id: '#/components/schemas/AssertCurrentSchemaId' + assert-last-assigned-partition-id: '#/components/schemas/AssertLastAssignedPartitionId' + assert-default-spec-id: '#/components/schemas/AssertDefaultSpecId' + assert-default-sort-order-id: '#/components/schemas/AssertDefaultSortOrderId' + + LoadTableResult: description: | Result used when a table is successfully loaded. From f4cbf763846de4940d24612496e642802aa9283f Mon Sep 17 00:00:00 2001 From: Fokko Driesprong Date: Sun, 4 Jun 2023 14:23:34 +0200 Subject: [PATCH 2/6] Apply suggestions from code review Co-authored-by: Eduard Tudenhoefner --- open-api/rest-catalog-open-api.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/open-api/rest-catalog-open-api.yaml b/open-api/rest-catalog-open-api.yaml index 5afcfcb50952..793a161e30dd 100644 --- a/open-api/rest-catalog-open-api.yaml +++ b/open-api/rest-catalog-open-api.yaml @@ -1694,12 +1694,12 @@ components: The table's last assigned column id must match the requirement's `last-assigned-field-id` required: - type - - last-assigned-partition-id + - last-assigned-field-id properties: type: type: string enum: [ "assert-last-assigned-field-id" ] - last-assigned-partition-id: + last-assigned-field-id: type: integer AssertCurrentSchemaId: From 93724ece601bdcf29a78e12d7010f3a4eb4c7e9a Mon Sep 17 00:00:00 2001 From: Fokko Driesprong Date: Sun, 4 Jun 2023 14:45:59 +0200 Subject: [PATCH 3/6] WIP --- open-api/rest-catalog-open-api.yaml | 30 +++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/open-api/rest-catalog-open-api.yaml b/open-api/rest-catalog-open-api.yaml index 5afcfcb50952..ad69464f35af 100644 --- a/open-api/rest-catalog-open-api.yaml +++ b/open-api/rest-catalog-open-api.yaml @@ -1650,6 +1650,8 @@ components: - $ref: '#/components/schemas/RemovePropertiesUpdate' AssertCreate: + allOf: + - $ref: "#/components/schemas/TableRequirement" type: object description: The table must not already exist; used for create transactions required: @@ -1660,6 +1662,8 @@ components: enum: ["assert-create"] AssertTableUUID: + allOf: + - $ref: "#/components/schemas/TableRequirement" description: The table UUID must match the requirement's `uuid` required: - type @@ -1672,6 +1676,8 @@ components: type: string AssertRefSnapshotId: + allOf: + - $ref: "#/components/schemas/TableRequirement" description: The table branch or tag identified by the requirement's `ref` must reference the requirement's `snapshot-id`; if `snapshot-id` is `null` or missing, the ref must not already exist @@ -1690,6 +1696,8 @@ components: format: int64 AssertLastAssignedFieldId: + allOf: + - $ref: "#/components/schemas/TableRequirement" description: The table's last assigned column id must match the requirement's `last-assigned-field-id` required: @@ -1703,6 +1711,8 @@ components: type: integer AssertCurrentSchemaId: + allOf: + - $ref: "#/components/schemas/TableRequirement" description: The table's current schema id must match the requirement's `current-schema-id` required: @@ -1716,6 +1726,8 @@ components: type: integer AssertLastAssignedPartitionId: + allOf: + - $ref: "#/components/schemas/TableRequirement" description: The table's last assigned partition id must match the requirement's `last-assigned-partition-id` required: @@ -1729,6 +1741,8 @@ components: type: integer AssertDefaultSpecId: + allOf: + - $ref: "#/components/schemas/TableRequirement" description: The table's default spec id must match the requirement's `default-spec-id` required: @@ -1742,6 +1756,8 @@ components: type: integer AssertDefaultSortOrderId: + allOf: + - $ref: "#/components/schemas/TableRequirement" description: The table's default sort order id must match the requirement's `default-sort-order-id` required: @@ -1755,15 +1771,6 @@ components: type: integer TableRequirement: - oneOf: - - $ref: '#/components/schemas/AssertCreate' - - $ref: '#/components/schemas/AssertTableUUID' - - $ref: '#/components/schemas/AssertRefSnapshotId' - - $ref: '#/components/schemas/AssertLastAssignedFieldId' - - $ref: '#/components/schemas/AssertCurrentSchemaId' - - $ref: '#/components/schemas/AssertLastAssignedPartitionId' - - $ref: '#/components/schemas/AssertDefaultSpecId' - - $ref: '#/components/schemas/AssertDefaultSortOrderId' discriminator: propertyName: type mapping: @@ -1775,7 +1782,10 @@ components: assert-last-assigned-partition-id: '#/components/schemas/AssertLastAssignedPartitionId' assert-default-spec-id: '#/components/schemas/AssertDefaultSpecId' assert-default-sort-order-id: '#/components/schemas/AssertDefaultSortOrderId' - + type: object + properties: + name: + type: "string" LoadTableResult: description: | From adda8626a455082fdfdefbb0eac25fd9e8808afe Mon Sep 17 00:00:00 2001 From: Fokko Driesprong Date: Sun, 4 Jun 2023 14:53:47 +0200 Subject: [PATCH 4/6] Fixed the inheritance --- open-api/rest-catalog-open-api.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/open-api/rest-catalog-open-api.yaml b/open-api/rest-catalog-open-api.yaml index 86aa63a18d22..ba180fca36d7 100644 --- a/open-api/rest-catalog-open-api.yaml +++ b/open-api/rest-catalog-open-api.yaml @@ -1783,8 +1783,10 @@ components: assert-default-spec-id: '#/components/schemas/AssertDefaultSpecId' assert-default-sort-order-id: '#/components/schemas/AssertDefaultSortOrderId' type: object + required: + - type properties: - name: + type: type: "string" LoadTableResult: From 5553dcdbba99f1b4a79ab1fbdd8a4cf1242b96ac Mon Sep 17 00:00:00 2001 From: Fokko Driesprong Date: Tue, 1 Aug 2023 15:24:36 +0200 Subject: [PATCH 5/6] Generate the code --- open-api/rest-catalog-open-api.py | 105 +++++++++++++++++++++--------- 1 file changed, 73 insertions(+), 32 deletions(-) diff --git a/open-api/rest-catalog-open-api.py b/open-api/rest-catalog-open-api.py index 5fc9fe6e688b..32c4254879e3 100644 --- a/open-api/rest-catalog-open-api.py +++ b/open-api/rest-catalog-open-api.py @@ -293,38 +293,7 @@ class RemovePropertiesUpdate(BaseUpdate): class TableRequirement(BaseModel): - """ - Assertions from the client that must be valid for the commit to succeed. Assertions are identified by `type` - - - `assert-create` - the table must not already exist; used for create transactions - - `assert-table-uuid` - the table UUID must match the requirement's `uuid` - - `assert-ref-snapshot-id` - the table branch or tag identified by the requirement's `ref` must reference the requirement's `snapshot-id`; if `snapshot-id` is `null` or missing, the ref must not already exist - - `assert-last-assigned-field-id` - the table's last assigned column id must match the requirement's `last-assigned-field-id` - - `assert-current-schema-id` - the table's current schema id must match the requirement's `current-schema-id` - - `assert-last-assigned-partition-id` - the table's last assigned partition id must match the requirement's `last-assigned-partition-id` - - `assert-default-spec-id` - the table's default spec id must match the requirement's `default-spec-id` - - `assert-default-sort-order-id` - the table's default sort order id must match the requirement's `default-sort-order-id` - """ - - type: Literal[ - 'assert-create', - 'assert-table-uuid', - 'assert-ref-snapshot-id', - 'assert-last-assigned-field-id', - 'assert-current-schema-id', - 'assert-last-assigned-partition-id', - 'assert-default-spec-id', - 'assert-default-sort-order-id', - ] - ref: Optional[str] = None - uuid: Optional[str] = None - snapshot_id: Optional[int] = Field(None, alias='snapshot-id') - last_assigned_field_id: Optional[int] = Field(None, alias='last-assigned-field-id') - current_schema_id: Optional[int] = Field(None, alias='current-schema-id') - last_assigned_partition_id: Optional[int] = Field( - None, alias='last-assigned-partition-id' - ) - default_spec_id: Optional[int] = Field(None, alias='default-spec-id') - default_sort_order_id: Optional[int] = Field(None, alias='default-sort-order-id') + type: str class RegisterTableRequest(BaseModel): @@ -517,6 +486,78 @@ class TransformTerm(BaseModel): term: Reference +class AssertCreate(TableRequirement): + """ + The table must not already exist; used for create transactions + """ + + type: Literal['assert-create'] + + +class AssertTableUUID(TableRequirement): + """ + The table UUID must match the requirement's `uuid` + """ + + type: Literal['assert-table-uuid'] + uuid: str + + +class AssertRefSnapshotId(TableRequirement): + """ + The table branch or tag identified by the requirement's `ref` must reference the requirement's `snapshot-id`; if `snapshot-id` is `null` or missing, the ref must not already exist + """ + + type: Literal['assert-ref-snapshot-id'] + ref: str + snapshot_id: int = Field(..., alias='snapshot-id') + + +class AssertLastAssignedFieldId(TableRequirement): + """ + The table's last assigned column id must match the requirement's `last-assigned-field-id` + """ + + type: Literal['assert-last-assigned-field-id'] + last_assigned_field_id: int = Field(..., alias='last-assigned-field-id') + + +class AssertCurrentSchemaId(TableRequirement): + """ + The table's current schema id must match the requirement's `current-schema-id` + """ + + type: Literal['assert-current-schema-id'] + current_schema_id: int = Field(..., alias='current-schema-id') + + +class AssertLastAssignedPartitionId(TableRequirement): + """ + The table's last assigned partition id must match the requirement's `last-assigned-partition-id` + """ + + type: Literal['assert-last-assigned-partition-id'] + last_assigned_partition_id: int = Field(..., alias='last-assigned-partition-id') + + +class AssertDefaultSpecId(TableRequirement): + """ + The table's default spec id must match the requirement's `default-spec-id` + """ + + type: Literal['assert-default-spec-id'] + default_spec_id: int = Field(..., alias='default-spec-id') + + +class AssertDefaultSortOrderId(TableRequirement): + """ + The table's default sort order id must match the requirement's `default-sort-order-id` + """ + + type: Literal['assert-default-sort-order-id'] + default_sort_order_id: int = Field(..., alias='default-sort-order-id') + + class ReportMetricsRequest1(CommitReport): report_type: str = Field(..., alias='report-type') From 9f6323a94c96a4f6772a1acadf6908c1bc7a48bd Mon Sep 17 00:00:00 2001 From: Fokko Driesprong Date: Mon, 30 Oct 2023 16:57:36 +0100 Subject: [PATCH 6/6] Fix order --- open-api/rest-catalog-open-api.py | 144 ++++++++++++++-------------- open-api/rest-catalog-open-api.yaml | 38 ++++---- 2 files changed, 91 insertions(+), 91 deletions(-) diff --git a/open-api/rest-catalog-open-api.py b/open-api/rest-catalog-open-api.py index 32c4254879e3..2eb974d89d23 100644 --- a/open-api/rest-catalog-open-api.py +++ b/open-api/rest-catalog-open-api.py @@ -296,6 +296,78 @@ class TableRequirement(BaseModel): type: str +class AssertCreate(TableRequirement): + """ + The table must not already exist; used for create transactions + """ + + type: Literal['assert-create'] + + +class AssertTableUUID(TableRequirement): + """ + The table UUID must match the requirement's `uuid` + """ + + type: Literal['assert-table-uuid'] + uuid: str + + +class AssertRefSnapshotId(TableRequirement): + """ + The table branch or tag identified by the requirement's `ref` must reference the requirement's `snapshot-id`; if `snapshot-id` is `null` or missing, the ref must not already exist + """ + + type: Literal['assert-ref-snapshot-id'] + ref: str + snapshot_id: int = Field(..., alias='snapshot-id') + + +class AssertLastAssignedFieldId(TableRequirement): + """ + The table's last assigned column id must match the requirement's `last-assigned-field-id` + """ + + type: Literal['assert-last-assigned-field-id'] + last_assigned_field_id: int = Field(..., alias='last-assigned-field-id') + + +class AssertCurrentSchemaId(TableRequirement): + """ + The table's current schema id must match the requirement's `current-schema-id` + """ + + type: Literal['assert-current-schema-id'] + current_schema_id: int = Field(..., alias='current-schema-id') + + +class AssertLastAssignedPartitionId(TableRequirement): + """ + The table's last assigned partition id must match the requirement's `last-assigned-partition-id` + """ + + type: Literal['assert-last-assigned-partition-id'] + last_assigned_partition_id: int = Field(..., alias='last-assigned-partition-id') + + +class AssertDefaultSpecId(TableRequirement): + """ + The table's default spec id must match the requirement's `default-spec-id` + """ + + type: Literal['assert-default-spec-id'] + default_spec_id: int = Field(..., alias='default-spec-id') + + +class AssertDefaultSortOrderId(TableRequirement): + """ + The table's default sort order id must match the requirement's `default-sort-order-id` + """ + + type: Literal['assert-default-sort-order-id'] + default_sort_order_id: int = Field(..., alias='default-sort-order-id') + + class RegisterTableRequest(BaseModel): name: str metadata_location: str = Field(..., alias='metadata-location') @@ -486,78 +558,6 @@ class TransformTerm(BaseModel): term: Reference -class AssertCreate(TableRequirement): - """ - The table must not already exist; used for create transactions - """ - - type: Literal['assert-create'] - - -class AssertTableUUID(TableRequirement): - """ - The table UUID must match the requirement's `uuid` - """ - - type: Literal['assert-table-uuid'] - uuid: str - - -class AssertRefSnapshotId(TableRequirement): - """ - The table branch or tag identified by the requirement's `ref` must reference the requirement's `snapshot-id`; if `snapshot-id` is `null` or missing, the ref must not already exist - """ - - type: Literal['assert-ref-snapshot-id'] - ref: str - snapshot_id: int = Field(..., alias='snapshot-id') - - -class AssertLastAssignedFieldId(TableRequirement): - """ - The table's last assigned column id must match the requirement's `last-assigned-field-id` - """ - - type: Literal['assert-last-assigned-field-id'] - last_assigned_field_id: int = Field(..., alias='last-assigned-field-id') - - -class AssertCurrentSchemaId(TableRequirement): - """ - The table's current schema id must match the requirement's `current-schema-id` - """ - - type: Literal['assert-current-schema-id'] - current_schema_id: int = Field(..., alias='current-schema-id') - - -class AssertLastAssignedPartitionId(TableRequirement): - """ - The table's last assigned partition id must match the requirement's `last-assigned-partition-id` - """ - - type: Literal['assert-last-assigned-partition-id'] - last_assigned_partition_id: int = Field(..., alias='last-assigned-partition-id') - - -class AssertDefaultSpecId(TableRequirement): - """ - The table's default spec id must match the requirement's `default-spec-id` - """ - - type: Literal['assert-default-spec-id'] - default_spec_id: int = Field(..., alias='default-spec-id') - - -class AssertDefaultSortOrderId(TableRequirement): - """ - The table's default sort order id must match the requirement's `default-sort-order-id` - """ - - type: Literal['assert-default-sort-order-id'] - default_sort_order_id: int = Field(..., alias='default-sort-order-id') - - class ReportMetricsRequest1(CommitReport): report_type: str = Field(..., alias='report-type') diff --git a/open-api/rest-catalog-open-api.yaml b/open-api/rest-catalog-open-api.yaml index 4075ec9af570..ac02f614b6c4 100644 --- a/open-api/rest-catalog-open-api.yaml +++ b/open-api/rest-catalog-open-api.yaml @@ -1824,6 +1824,25 @@ components: - $ref: '#/components/schemas/SetPropertiesUpdate' - $ref: '#/components/schemas/RemovePropertiesUpdate' + TableRequirement: + discriminator: + propertyName: type + mapping: + assert-create: '#/components/schemas/AssertCreate' + assert-table-uuid: '#/components/schemas/AssertTableUUID' + assert-ref-snapshot-id: '#/components/schemas/AssertRefSnapshotId' + assert-last-assigned-field-id: '#/components/schemas/AssertLastAssignedFieldId' + assert-current-schema-id: '#/components/schemas/AssertCurrentSchemaId' + assert-last-assigned-partition-id: '#/components/schemas/AssertLastAssignedPartitionId' + assert-default-spec-id: '#/components/schemas/AssertDefaultSpecId' + assert-default-sort-order-id: '#/components/schemas/AssertDefaultSortOrderId' + type: object + required: + - type + properties: + type: + type: "string" + AssertCreate: allOf: - $ref: "#/components/schemas/TableRequirement" @@ -1945,25 +1964,6 @@ components: default-sort-order-id: type: integer - TableRequirement: - discriminator: - propertyName: type - mapping: - assert-create: '#/components/schemas/AssertCreate' - assert-table-uuid: '#/components/schemas/AssertTableUUID' - assert-ref-snapshot-id: '#/components/schemas/AssertRefSnapshotId' - assert-last-assigned-field-id: '#/components/schemas/AssertLastAssignedFieldId' - assert-current-schema-id: '#/components/schemas/AssertCurrentSchemaId' - assert-last-assigned-partition-id: '#/components/schemas/AssertLastAssignedPartitionId' - assert-default-spec-id: '#/components/schemas/AssertDefaultSpecId' - assert-default-sort-order-id: '#/components/schemas/AssertDefaultSortOrderId' - type: object - required: - - type - properties: - type: - type: "string" - LoadTableResult: description: | Result used when a table is successfully loaded.