jackye1995 commented on code in PR #9717:
URL: https://github.com/apache/iceberg/pull/9717#discussion_r1495022292
##########
open-api/rest-catalog-open-api.yaml:
##########
@@ -3324,6 +3348,217 @@ 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"
+ example:
+ positiveScale: "123.4500"
+ zeroScale: "2"
+ negativeScale: "2E+20"
+
+ StringTypeValue:
+ type: string
+ example: "hello"
+
+ UUIDTypeValue:
+ type: string
+ format: uuid
+ description:
+ "UUID type values are serialized as a lowercase string"
+ 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[.sssssssss]][+00:00]' ISO-8601 format with microsecond
Review Comment:
+1, but it seems like Drew is correct about the current behavior in code:
https://github.com/apache/iceberg/blob/main/core/src/main/java/org/apache/iceberg/SingleValueParser.java#L283-L291
https://github.com/apache/iceberg/blob/main/api/src/main/java/org/apache/iceberg/util/DateTimeUtil.java#L98C1-L107C4
which uses `DateTimeFormatter.ISO_LOCAL_DATE_TIME` which does not require
second and microsecond precision:
```
ISO_LOCAL_TIME = new DateTimeFormatterBuilder()
.appendValue(HOUR_OF_DAY, 2)
.appendLiteral(':')
.appendValue(MINUTE_OF_HOUR, 2)
.optionalStart()
.appendLiteral(':')
.appendValue(SECOND_OF_MINUTE, 2)
.optionalStart()
.appendFraction(NANO_OF_SECOND, 0, 9, true)
.toFormatter(ResolverStyle.STRICT, null);
```
--
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]