jackye1995 commented on code in PR #9717:
URL: https://github.com/apache/iceberg/pull/9717#discussion_r1504610439
##########
open-api/rest-catalog-open-api.yaml:
##########
@@ -3324,6 +3324,297 @@ components:
type: integer
format: int64
+ BooleanTypeValue:
+ type: boolean
+ example: true
+
+ IntegerTypeValue:
+ type: integer
+ example: 42
+
+ LongTypeValue:
+ type: integer
+ format: int64
+ example: 9223372036854775807
+
+ FloatTypeValue:
+ type: number
+ format: float
+ example: 3.14
+
+ DoubleTypeValue:
+ type: number
+ format: double
+ example: 123.456
+
+ DecimalTypeValue:
+ type: string
+ description:
+ "Decimal type values are serialized as strings. Decimals with a
positive scale serialize as numeric plain
+ text, while decimals with a negative scale use scientific notation and
the exponent will be equal to the
+ negated scale. For instance, a decimal with a positive scale is
'123.4500', with zero scale is '2',
+ and with a negative scale is '2E+20'"
+ example: "123.4500"
+
+
+ StringTypeValue:
+ type: string
+ example: "hello"
+
+ UUIDTypeValue:
+ type: string
+ format: uuid
+ pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'
+ maxLength: 36
+ minLength: 36
+ description:
+ "UUID type values are serialized as a 36-character lowercase string in
standard UUID format as specified
+ by RFC-4122"
+ example: "eb26bdb1-a1d8-4aa6-990e-da940875492c"
+
+ DateTypeValue:
+ type: string
+ format: date
+ description:
+ "Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date
format"
+ example: "2007-12-03"
+
+ TimeTypeValue:
+ type: string
+ description:
+ "Time type values follow the 'HH:MM:SS.sssssssss' ISO-8601 format with
microsecond precision"
+ example: "22:31:08.123456"
+
+ TimestampTypeValue:
+ type: string
+ description:
+ "Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss'
ISO-8601 format with microsecond precision"
+ example: "2007-12-03T10:15:30.123456"
+
+ TimestampTzTypeValue:
+ type: string
+ description:
+ "TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00'
ISO-8601 format with microsecond precision,
+ and a timezone offset (+00:00 for UTC)"
+ example: "2007-12-03T10:15:30.123456+00:00"
+
+ TimestampNanoTypeValue:
+ type: string
+ description:
+ "Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss'
ISO-8601 format with nanosecond precision"
+ example: "2007-12-03T10:15:30.123456789"
+
+ TimestampTzNanoTypeValue:
+ type: string
+ description:
+ "Timestamp_ns type values follow the
'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond
+ precision, and a timezone offset (+00:00 for UTC)"
+ example: "2007-12-03T10:15:30.123456789+00:00"
+
+ FixedTypeValue:
+ type: string
+ description:
+ "Fixed length type values are stored and serialized as an uppercase
hexadecimal string
+ preserving the fixed length"
+ example: "78797A"
+
+ BinaryTypeValue:
+ type: string
+ description:
+ "Binary type values are stored and serialized as an uppercase
hexadecimal string"
+ example: "78797A"
+
+ PartitionData:
+ type: object
+ description:
+ "Partition data is serialized, where field id are preserved as a
string JSON key, and the fields value is
+ serialized based on the defined types"
+ additionalProperties:
+ oneOf:
+ - $ref: '#/components/schemas/PrimitiveTypeValue'
+ example:
+ {
+ "4": 1,
+ "5": "bar"
+ }
+
+ CountMap:
+ type: object
+ properties:
+ keys:
+ type: array
+ items:
+ $ref: '#/components/schemas/IntegerTypeValue'
+ description: "List of integer column ids for each corresponding
value"
+ values:
+ type: array
+ items:
+ $ref: '#/components/schemas/LongTypeValue'
+ description: "List of Long values, matched to 'keys' by index"
+ example:
+ {
+ "keys": [ 3, 4 ],
+ "values": [ 100,200 ]
+ }
+
+ ValueMap:
+ type: object
+ properties:
+ keys:
+ type: array
+ items:
+ $ref: '#/components/schemas/IntegerTypeValue'
+ description: "List of integer column ids for each corresponding
value"
+ values:
+ type: array
+ items:
+ $ref: '#/components/schemas/BinaryTypeValue'
+ description: "List of Binary values encoded as hexadecimal strings,
matched to 'keys' by index"
+ example:
+ {
+ "keys": [ 3,4 ],
+ "values": [ "05000000","0A000000" ]
+ }
+
+ PrimitiveTypeValue:
+ oneOf:
+ - $ref: '#/components/schemas/BooleanTypeValue'
+ - $ref: '#/components/schemas/IntegerTypeValue'
+ - $ref: '#/components/schemas/LongTypeValue'
+ - $ref: '#/components/schemas/FloatTypeValue'
+ - $ref: '#/components/schemas/DoubleTypeValue'
+ - $ref: '#/components/schemas/DecimalTypeValue'
+ - $ref: '#/components/schemas/StringTypeValue'
+ - $ref: '#/components/schemas/UUIDTypeValue'
+ - $ref: '#/components/schemas/DateTypeValue'
+ - $ref: '#/components/schemas/TimeTypeValue'
+ - $ref: '#/components/schemas/TimestampTypeValue'
+ - $ref: '#/components/schemas/TimestampTzTypeValue'
+ - $ref: '#/components/schemas/TimestampNanoTypeValue'
+ - $ref: '#/components/schemas/TimestampTzNanoTypeValue'
+ - $ref: '#/components/schemas/FixedTypeValue'
+ - $ref: '#/components/schemas/BinaryTypeValue'
+
+ FileContent:
+ type: string
+ enum:
+ - data
+ - position-deletes
+ - equality-deletes
+
+ FileFormat:
+ type: string
+ enum:
+ - avro
+ - orc
+ - parquet
+
+ ContentFile:
+ discriminator:
+ propertyName: content
+ mapping:
+ data: '#/components/schemas/DataFile'
+ positional-deletes: '#/components/schemas/PositionalDeleteFile'
+ equality-deletes: '#/components/schemas/EqualityDeleteFile'
+ type: object
+ required:
+ - spec-id
+ - content
+ - file-path
+ - file-format
+ - file-size-in-bytes
+ - record-count
+ properties:
+ content:
+ $ref: '#/components/schemas/FileContent'
+ file-path:
+ type: string
+ file-format:
+ $ref: '#/components/schemas/FileFormat'
+ spec-id:
+ type: integer
+ partition:
+ $ref: '#/components/schemas/PartitionData'
+ file-size-in-bytes:
+ type: integer
+ format: int64
+ description: "Total file size in bytes"
+ record-count:
+ type: integer
+ format: int64
+ description: "Number of records in the file"
+ key-metadata:
+ allOf:
+ - $ref: '#/components/schemas/BinaryTypeValue'
+ description: "Encryption key metadata blob"
+ split-offsets:
+ type: array
+ items:
+ type: integer
+ format: int64
+ description: "List of splittable offsets"
+ sort-order-id:
+ type: integer
+
+ DataFile:
+ allOf:
+ - $ref: '#/components/schemas/ContentFile'
+ type: object
+ required:
+ - content
+ properties:
+ content:
+ type: string
+ enum: [ "data" ]
+ column-sizes:
+ allOf:
+ - $ref: '#/components/schemas/CountMap'
+ description: "Map of column id to total count, including null and
NaN"
+ value-counts:
+ allOf:
+ - $ref: '#/components/schemas/CountMap'
+ description: "Map of column id to null value count"
+ null-value-counts:
+ allOf:
+ - $ref: '#/components/schemas/CountMap'
+ description: "Map of column id to null value count"
+ nan-value-counts:
+ allOf:
+ - $ref: '#/components/schemas/CountMap'
+ description: "Map of column id to number of NaN values in the column"
+ lower-bounds:
+ allOf:
+ - $ref: '#/components/schemas/ValueMap'
+ description: "Map of column id to lower bound"
+ upper-bounds:
+ allOf:
+ - $ref: '#/components/schemas/ValueMap'
+ description: "Map of column id to upper bound"
+
+ PositionalDeleteFile:
Review Comment:
```suggestion
PositionDeleteFile:
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]