Skip to content

Commit 5f577f1

Browse files
authored
OpenAPI: Spec updates for statistics (#9690)
1 parent 1272145 commit 5f577f1

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

open-api/rest-catalog-open-api.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,11 @@ class RemoveStatisticsUpdate(BaseUpdate):
347347
snapshot_id: int = Field(..., alias='snapshot-id')
348348

349349

350+
class RemovePartitionStatisticsUpdate(BaseUpdate):
351+
action: Literal['remove-partition-statistics']
352+
snapshot_id: int = Field(..., alias='snapshot-id')
353+
354+
350355
class TableRequirement(BaseModel):
351356
type: str
352357

@@ -618,6 +623,12 @@ class BlobMetadata(BaseModel):
618623
properties: Optional[Dict[str, Any]] = None
619624

620625

626+
class PartitionStatisticsFile(BaseModel):
627+
snapshot_id: int = Field(..., alias='snapshot-id')
628+
statistics_path: str = Field(..., alias='statistics-path')
629+
file_size_in_bytes: int = Field(..., alias='file-size-in-bytes')
630+
631+
621632
class CreateNamespaceRequest(BaseModel):
622633
namespace: Namespace
623634
properties: Optional[Dict[str, str]] = Field(
@@ -638,6 +649,13 @@ class TransformTerm(BaseModel):
638649
term: Reference
639650

640651

652+
class SetPartitionStatisticsUpdate(BaseUpdate):
653+
action: Literal['set-partition-statistics']
654+
partition_statistics: PartitionStatisticsFile = Field(
655+
..., alias='partition-statistics'
656+
)
657+
658+
641659
class ReportMetricsRequest2(CommitReport):
642660
report_type: str = Field(..., alias='report-type')
643661

@@ -754,6 +772,12 @@ class TableMetadata(BaseModel):
754772
last_sequence_number: Optional[int] = Field(None, alias='last-sequence-number')
755773
snapshot_log: Optional[SnapshotLog] = Field(None, alias='snapshot-log')
756774
metadata_log: Optional[MetadataLog] = Field(None, alias='metadata-log')
775+
statistics_files: Optional[List[StatisticsFile]] = Field(
776+
None, alias='statistics-files'
777+
)
778+
partition_statistics_files: Optional[List[PartitionStatisticsFile]] = Field(
779+
None, alias='partition-statistics-files'
780+
)
757781

758782

759783
class ViewMetadata(BaseModel):

open-api/rest-catalog-open-api.yaml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2058,6 +2058,15 @@ components:
20582058
$ref: '#/components/schemas/SnapshotLog'
20592059
metadata-log:
20602060
$ref: '#/components/schemas/MetadataLog'
2061+
# statistics
2062+
statistics-files:
2063+
type: array
2064+
items:
2065+
$ref: '#/components/schemas/StatisticsFile'
2066+
partition-statistics-files:
2067+
type: array
2068+
items:
2069+
$ref: '#/components/schemas/PartitionStatisticsFile'
20612070

20622071
SQLViewRepresentation:
20632072
type: object
@@ -2181,6 +2190,8 @@ components:
21812190
set-current-view-version: '#/components/schemas/SetCurrentViewVersionUpdate'
21822191
set-statistics: '#/components/schemas/SetStatisticsUpdate'
21832192
remove-statistics: '#/components/schemas/RemoveStatisticsUpdate'
2193+
set-partition-statistics: '#/components/schemas/SetPartitionStatisticsUpdate'
2194+
remove-partition-statistics: '#/components/schemas/RemovePartitionStatisticsUpdate'
21842195
type: object
21852196
required:
21862197
- action
@@ -2456,6 +2467,33 @@ components:
24562467
type: integer
24572468
format: int64
24582469

2470+
SetPartitionStatisticsUpdate:
2471+
allOf:
2472+
- $ref: '#/components/schemas/BaseUpdate'
2473+
required:
2474+
- action
2475+
- partition-statistics
2476+
properties:
2477+
action:
2478+
type: string
2479+
enum: [ "set-partition-statistics" ]
2480+
partition-statistics:
2481+
$ref: '#/components/schemas/PartitionStatisticsFile'
2482+
2483+
RemovePartitionStatisticsUpdate:
2484+
allOf:
2485+
- $ref: '#/components/schemas/BaseUpdate'
2486+
required:
2487+
- action
2488+
- snapshot-id
2489+
properties:
2490+
action:
2491+
type: string
2492+
enum: [ "remove-partition-statistics" ]
2493+
snapshot-id:
2494+
type: integer
2495+
format: int64
2496+
24592497
TableUpdate:
24602498
anyOf:
24612499
- $ref: '#/components/schemas/AssignUUIDUpdate'
@@ -3270,6 +3308,22 @@ components:
32703308
properties:
32713309
type: object
32723310

3311+
PartitionStatisticsFile:
3312+
type: object
3313+
required:
3314+
- snapshot-id
3315+
- statistics-path
3316+
- file-size-in-bytes
3317+
properties:
3318+
snapshot-id:
3319+
type: integer
3320+
format: int64
3321+
statistics-path:
3322+
type: string
3323+
file-size-in-bytes:
3324+
type: integer
3325+
format: int64
3326+
32733327

32743328
#############################
32753329
# Reusable Response Objects #

0 commit comments

Comments
 (0)