This is an automated email from the ASF dual-hosted git repository.

huaxingao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg.git


The following commit(s) were added to refs/heads/main by this push:
     new 323ab162f0 Build: Bump datamodel-code-generator from 0.53.0 to 0.54.0 
(#15331)
323ab162f0 is described below

commit 323ab162f007307c114bb78cae31ab6c74c932cc
Author: Manu Zhang <[email protected]>
AuthorDate: Mon Feb 16 15:58:32 2026 +0800

    Build: Bump datamodel-code-generator from 0.53.0 to 0.54.0 (#15331)
    
    Co-authored-by: Claude Sonnet 4.5 <[email protected]>
---
 open-api/requirements.txt         |   2 +-
 open-api/rest-catalog-open-api.py | 194 +++++++++++++++++++++++++++++++++++---
 2 files changed, 184 insertions(+), 12 deletions(-)

diff --git a/open-api/requirements.txt b/open-api/requirements.txt
index 728f6b7aea..1f32fc3510 100644
--- a/open-api/requirements.txt
+++ b/open-api/requirements.txt
@@ -16,5 +16,5 @@
 # under the License.
 
 openapi-spec-validator==0.7.2
-datamodel-code-generator==0.53.0
+datamodel-code-generator==0.54.0
 yamllint==1.38.0
diff --git a/open-api/rest-catalog-open-api.py 
b/open-api/rest-catalog-open-api.py
index 309eaeb506..411881cb31 100644
--- a/open-api/rest-catalog-open-api.py
+++ b/open-api/rest-catalog-open-api.py
@@ -136,11 +136,59 @@ class ExpressionType(BaseModel):
 
 
 class TrueExpression(BaseModel):
-    type: Literal['true'] = Field('true', const=True)
+    type: Literal['true'] = Field(
+        'true',
+        const=True,
+        example=[
+            'true',
+            'false',
+            'eq',
+            'and',
+            'or',
+            'not',
+            'in',
+            'not-in',
+            'lt',
+            'lt-eq',
+            'gt',
+            'gt-eq',
+            'not-eq',
+            'starts-with',
+            'not-starts-with',
+            'is-null',
+            'not-null',
+            'is-nan',
+            'not-nan',
+        ],
+    )
 
 
 class FalseExpression(BaseModel):
-    type: Literal['false'] = Field('false', const=True)
+    type: Literal['false'] = Field(
+        'false',
+        const=True,
+        example=[
+            'true',
+            'false',
+            'eq',
+            'and',
+            'or',
+            'not',
+            'in',
+            'not-in',
+            'lt',
+            'lt-eq',
+            'gt',
+            'gt-eq',
+            'not-eq',
+            'starts-with',
+            'not-starts-with',
+            'is-null',
+            'not-null',
+            'is-nan',
+            'not-nan',
+        ],
+    )
 
 
 class Reference(BaseModel):
@@ -549,7 +597,9 @@ class LoadCredentialsResponse(BaseModel):
 
 
 class AsyncPlanningResult(BaseModel):
-    status: Literal['submitted'] = Field(..., const=True)
+    status: Literal['submitted'] = Field(
+        ..., const=True, description='Status of a server-side planning 
operation'
+    )
     plan_id: str = Field(
         ..., alias='plan-id', description='ID used to track a planning request'
     )
@@ -560,7 +610,9 @@ class EmptyPlanningResult(BaseModel):
     Empty server-side planning result
     """
 
-    status: Literal['cancelled']
+    status: Literal['cancelled'] = Field(
+        ..., description='Status of a server-side planning operation'
+    )
 
 
 class PlanStatus(BaseModel):
@@ -1023,7 +1075,9 @@ class FailedPlanningResult(IcebergErrorResponse):
     Failed server-side planning result
     """
 
-    status: Literal['failed'] = Field(..., const=True)
+    status: Literal['failed'] = Field(
+        ..., const=True, description='Status of a server-side planning 
operation'
+    )
 
 
 class ReportMetricsRequest2(CommitReport):
@@ -1110,20 +1164,89 @@ class SetStatisticsUpdate(BaseUpdate):
 
 
 class UnaryExpression(BaseModel):
-    type: Literal['is-null', 'not-null', 'is-nan', 'not-nan']
+    type: Literal['is-null', 'not-null', 'is-nan', 'not-nan'] = Field(
+        ...,
+        example=[
+            'true',
+            'false',
+            'eq',
+            'and',
+            'or',
+            'not',
+            'in',
+            'not-in',
+            'lt',
+            'lt-eq',
+            'gt',
+            'gt-eq',
+            'not-eq',
+            'starts-with',
+            'not-starts-with',
+            'is-null',
+            'not-null',
+            'is-nan',
+            'not-nan',
+        ],
+    )
     term: Term
 
 
 class LiteralExpression(BaseModel):
     type: Literal[
         'lt', 'lt-eq', 'gt', 'gt-eq', 'eq', 'not-eq', 'starts-with', 
'not-starts-with'
-    ]
+    ] = Field(
+        ...,
+        example=[
+            'true',
+            'false',
+            'eq',
+            'and',
+            'or',
+            'not',
+            'in',
+            'not-in',
+            'lt',
+            'lt-eq',
+            'gt',
+            'gt-eq',
+            'not-eq',
+            'starts-with',
+            'not-starts-with',
+            'is-null',
+            'not-null',
+            'is-nan',
+            'not-nan',
+        ],
+    )
     term: Term
     value: PrimitiveTypeValue
 
 
 class SetExpression(BaseModel):
-    type: Literal['in', 'not-in']
+    type: Literal['in', 'not-in'] = Field(
+        ...,
+        example=[
+            'true',
+            'false',
+            'eq',
+            'and',
+            'or',
+            'not',
+            'in',
+            'not-in',
+            'lt',
+            'lt-eq',
+            'gt',
+            'gt-eq',
+            'not-eq',
+            'starts-with',
+            'not-starts-with',
+            'is-null',
+            'not-null',
+            'is-nan',
+            'not-nan',
+        ],
+    )
     term: Term
     values: list[PrimitiveTypeValue]
 
@@ -1176,13 +1299,60 @@ class Expression(BaseModel):
 
 
 class AndOrExpression(BaseModel):
-    type: Literal['and', 'or']
+    type: Literal['and', 'or'] = Field(
+        ...,
+        example=[
+            'true',
+            'false',
+            'eq',
+            'and',
+            'or',
+            'not',
+            'in',
+            'not-in',
+            'lt',
+            'lt-eq',
+            'gt',
+            'gt-eq',
+            'not-eq',
+            'starts-with',
+            'not-starts-with',
+            'is-null',
+            'not-null',
+            'is-nan',
+            'not-nan',
+        ],
+    )
     left: Expression
     right: Expression
 
 
 class NotExpression(BaseModel):
-    type: Literal['not'] = Field('not', const=True)
+    type: Literal['not'] = Field(
+        'not',
+        const=True,
+        example=[
+            'true',
+            'false',
+            'eq',
+            'and',
+            'or',
+            'not',
+            'in',
+            'not-in',
+            'lt',
+            'lt-eq',
+            'gt',
+            'gt-eq',
+            'not-eq',
+            'starts-with',
+            'not-starts-with',
+            'is-null',
+            'not-null',
+            'is-nan',
+            'not-nan',
+        ],
+    )
     child: Expression
 
 
@@ -1537,7 +1707,9 @@ class CompletedPlanningResult(ScanTasks):
     Completed server-side planning result
     """
 
-    status: Literal['completed'] = Field(..., const=True)
+    status: Literal['completed'] = Field(
+        ..., const=True, description='Status of a server-side planning 
operation'
+    )
     storage_credentials: list[StorageCredential] | None = Field(
         None,
         alias='storage-credentials',

Reply via email to