This is an automated email from the ASF dual-hosted git repository.
adutra pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/main by this push:
new 1b7729201 Update the generated OpenAPI spec bundle (#3732)
1b7729201 is described below
commit 1b7729201a96eda703a8da9d0eb1af5048f01613
Author: Alexandre Dutra <[email protected]>
AuthorDate: Thu Feb 12 13:54:35 2026 +0100
Update the generated OpenAPI spec bundle (#3732)
---
.../generated/bundled-polaris-catalog-service.yaml | 118 +++++++++++++++++----
1 file changed, 97 insertions(+), 21 deletions(-)
diff --git a/spec/generated/bundled-polaris-catalog-service.yaml
b/spec/generated/bundled-polaris-catalog-service.yaml
index 7dffb017d..619359a45 100644
--- a/spec/generated/bundled-polaris-catalog-service.yaml
+++ b/spec/generated/bundled-polaris-catalog-service.yaml
@@ -168,7 +168,6 @@ paths:
parameters:
- $ref: '#/components/parameters/page-token'
- $ref: '#/components/parameters/page-size'
- - $ref: '#/components/parameters/prefix'
- name: parent
in: query
description: An optional namespace, underneath which to list
namespaces. If not provided or empty, all top-level namespaces should be
listed. If parent is a multipart namespace, the parts must be separated by the
unit separator (`0x1F`) byte.
@@ -326,6 +325,15 @@ paths:
examples:
NoSuchNamespaceExample:
$ref: '#/components/examples/NoSuchNamespaceError'
+ '409':
+ description: Not Empty - Namespace to delete is not empty.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/IcebergErrorResponse'
+ examples:
+ NamespaceNotEmptyExample:
+ $ref: '#/components/examples/NamespaceNotEmptyError'
'419':
$ref: '#/components/responses/AuthenticationTimeoutResponse'
'503':
@@ -400,8 +408,6 @@ paths:
description: Return all table identifiers under this namespace
operationId: listTables
parameters:
- - $ref: '#/components/parameters/prefix'
- - $ref: '#/components/parameters/namespace'
- $ref: '#/components/parameters/page-token'
- $ref: '#/components/parameters/page-size'
responses:
@@ -440,8 +446,6 @@ paths:
If `stage-create` is true, the table is not created, but table
metadata is initialized and returned. The service should prepare as needed for
a commit to the table commit endpoint to complete the create transaction. The
client uses the returned metadata to begin a transaction. To commit the
transaction, the client sends all create and subsequent changes to the table
commit route. Changes from the table create operation include changes like
AddSchemaUpdate and SetCurrentSchemaUpda [...]
operationId: createTable
parameters:
- - $ref: '#/components/parameters/prefix'
- - $ref: '#/components/parameters/namespace'
- $ref: '#/components/parameters/data-access'
requestBody:
required: true
@@ -550,9 +554,6 @@ paths:
The catalog configuration may contain credentials that should be used
for subsequent requests for the table. The configuration key "token" is used to
pass an access token to be used as a bearer token for table requests.
Otherwise, a token may be passed using a RFC 8693 token type as a configuration
key. For example, "urn:ietf:params:oauth:token-type:jwt=<JWT-token>".
parameters:
- - $ref: '#/components/parameters/prefix'
- - $ref: '#/components/parameters/namespace'
- - $ref: '#/components/parameters/table'
- $ref: '#/components/parameters/data-access'
- name: If-None-Match
in: header
@@ -994,8 +995,6 @@ paths:
description: Return all view identifiers under this namespace
operationId: listViews
parameters:
- - $ref: '#/components/parameters/prefix'
- - $ref: '#/components/parameters/namespace'
- $ref: '#/components/parameters/page-token'
- $ref: '#/components/parameters/page-size'
responses:
@@ -2551,6 +2550,24 @@ components:
type: object
additionalProperties:
type: string
+ EncryptedKey:
+ type: object
+ required:
+ - key-id
+ - encrypted-key-metadata
+ properties:
+ key-id:
+ type: string
+ encrypted-key-metadata:
+ type: string
+ format: byte
+ contentEncoding: base64
+ encrypted-by-id:
+ type: string
+ properties:
+ type: object
+ additionalProperties:
+ type: string
Snapshot:
type: object
required:
@@ -2574,6 +2591,10 @@ components:
manifest-list:
type: string
description: Location of the snapshot's manifest list file
+ first-row-id:
+ type: integer
+ format: int64
+ description: The first _row_id assigned to the first row in the
first data file in the first manifest
summary:
type: object
required:
@@ -2715,7 +2736,7 @@ components:
format-version:
type: integer
minimum: 1
- maximum: 2
+ maximum: 3
table-uuid:
type: string
location:
@@ -2723,6 +2744,10 @@ components:
last-updated-ms:
type: integer
format: int64
+ next-row-id:
+ type: integer
+ format: int64
+ description: A long higher than all assigned row IDs; the next
snapshot's first-row-id.
properties:
type: object
additionalProperties:
@@ -2749,6 +2774,10 @@ components:
$ref: '#/components/schemas/SortOrder'
default-sort-order-id:
type: integer
+ encryption-keys:
+ type: array
+ items:
+ $ref: '#/components/schemas/EncryptedKey'
snapshots:
type: array
items:
@@ -2825,6 +2854,7 @@ components:
metadata-location:
type: string
description: May be null if the table is staged as part of a
transaction
+ nullable: true
metadata:
$ref: '#/components/schemas/TableMetadata'
config:
@@ -2845,6 +2875,10 @@ components:
type: string
metadata-location:
type: string
+ overwrite:
+ description: Whether to overwrite table metadata if the table
already exists
+ type: boolean
+ default: false
TableRequirement:
type: object
discriminator:
@@ -2888,7 +2922,10 @@ components:
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
+ description: |
+ The table branch or tag identified by the requirement's `ref` must
reference the requirement's `snapshot-id`.
+ The `snapshot-id` field is required in this object, but in the case of
a `null`
+ the ref must not already exist.
allOf:
- $ref: '#/components/schemas/TableRequirement'
required:
@@ -2903,6 +2940,7 @@ components:
snapshot-id:
type: integer
format: int64
+ nullable: true
AssertLastAssignedFieldId:
description: The table's last assigned column id must match the
requirement's `last-assigned-field-id`
allOf:
@@ -3001,7 +3039,9 @@ components:
set-partition-statistics:
'#/components/schemas/SetPartitionStatisticsUpdate'
remove-partition-statistics:
'#/components/schemas/RemovePartitionStatisticsUpdate'
remove-partition-specs:
'#/components/schemas/RemovePartitionSpecsUpdate'
- enable-row-lineage: '#/components/schemas/EnableRowLineageUpdate'
+ remove-schemas: '#/components/schemas/RemoveSchemasUpdate'
+ add-encryption-key: '#/components/schemas/AddEncryptionKeyUpdate'
+ remove-encryption-key:
'#/components/schemas/RemoveEncryptionKeyUpdate'
type: object
required:
- action
@@ -3312,13 +3352,41 @@ components:
type: array
items:
type: integer
- EnableRowLineageUpdate:
+ RemoveSchemasUpdate:
allOf:
- $ref: '#/components/schemas/BaseUpdate'
+ required:
+ - schema-ids
properties:
action:
type: string
- const: enable-row-lineage
+ const: remove-schemas
+ schema-ids:
+ type: array
+ items:
+ type: integer
+ AddEncryptionKeyUpdate:
+ allOf:
+ - $ref: '#/components/schemas/BaseUpdate'
+ required:
+ - encryption-key
+ properties:
+ action:
+ type: string
+ const: add-encryption-key
+ encryption-key:
+ $ref: '#/components/schemas/EncryptedKey'
+ RemoveEncryptionKeyUpdate:
+ allOf:
+ - $ref: '#/components/schemas/BaseUpdate'
+ required:
+ - key-id
+ properties:
+ action:
+ type: string
+ const: remove-encryption-key
+ key-id:
+ type: string
TableUpdate:
anyOf:
- $ref: '#/components/schemas/AssignUUIDUpdate'
@@ -3339,7 +3407,9 @@ components:
- $ref: '#/components/schemas/SetStatisticsUpdate'
- $ref: '#/components/schemas/RemoveStatisticsUpdate'
- $ref: '#/components/schemas/RemovePartitionSpecsUpdate'
- - $ref: '#/components/schemas/EnableRowLineageUpdate'
+ - $ref: '#/components/schemas/RemoveSchemasUpdate'
+ - $ref: '#/components/schemas/AddEncryptionKeyUpdate'
+ - $ref: '#/components/schemas/RemoveEncryptionKeyUpdate'
CommitTableRequest:
type: object
required:
@@ -4108,7 +4178,7 @@ components:
type: BadRequestException
code: 400
UnauthorizedResponse:
- description: Unauthorized. Authentication is required and has failed or
has not yet been provided.
+ description: Unauthorized. The REST Catalog SHOULD respond with the 401
UnauthorizedResponse when the access token provided is expired, revoked,
malformed, or invalid for other reasons. The client MAY request a new access
token and retry the request.
content:
application/json:
schema:
@@ -4130,7 +4200,7 @@ components:
type: NotAuthorizedException
code: 403
AuthenticationTimeoutResponse:
- description: Credentials have timed out. If possible, the client should
refresh credentials and retry.
+ description: This is an optional status response type that the REST
Catalog can issue when the token has expired. The client MAY request a new
access token and retry the request. 401 UnauthorizedResponse SHOULD be
preferred over this response type on token expiry.
content:
application/json:
schema:
@@ -4142,9 +4212,8 @@ components:
code: 419
ServiceUnavailableResponse:
description: |-
- The service is not ready to handle the request. The client should wait
and retry.
-
- The service may additionally send a Retry-After header to indicate
when to retry.
+ The service is not ready to handle the request, request could have
been partially processed.
+ The service may additionally send a Retry-After header to indicate
when to retry, a non idempotent request should only be retried by the client
when the Retry-After header is present.
content:
application/json:
schema:
@@ -4452,6 +4521,13 @@ components:
message: The given namespace already exists
type: AlreadyExistsException
code: 409
+ NamespaceNotEmptyError:
+ summary: The requested namespace is not empty
+ value:
+ error:
+ message: The given namespace is not empty
+ type: NamespaceNotEmptyException
+ code: 409
UpdateAndRemoveNamespacePropertiesRequest:
summary: An update namespace properties request with both properties to
remove and properties to upsert.
value: