nastra commented on code in PR #5407:
URL: https://github.com/apache/iceberg/pull/5407#discussion_r972046837
##########
open-api/rest-catalog-open-api.yaml:
##########
@@ -1016,6 +1062,134 @@ components:
items:
type: integer
+ Expression:
+ oneOf:
+ - $ref: '#/components/schemas/AndOrExpression'
+ - $ref: '#/components/schemas/NotExpression'
+ - $ref: '#/components/schemas/SetExpression'
+ - $ref: '#/components/schemas/LiteralExpression'
+ - $ref: '#/components/schemas/UnaryExpression'
+
+ ExpressionType:
+ type: string
+ example:
+ - "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"
+
+ AndOrExpression:
+ type: object
+ required:
+ - type
+ - left
+ - right
+ properties:
+ type:
+ $ref: '#/components/schemas/ExpressionType'
+ enum: ["and", "or"]
+ left:
+ $ref: '#/components/schemas/Expression'
+ right:
+ $ref: '#/components/schemas/Expression'
+
+ NotExpression:
+ type: object
+ required:
+ - type
+ - child
+ properties:
+ type:
+ $ref: '#/components/schemas/ExpressionType'
+ enum: ["not"]
+ child:
+ $ref: '#/components/schemas/Expression'
+
+ UnaryExpression:
+ type: object
+ required:
+ - type
+ - term
+ - value
+ properties:
+ type:
+ $ref: '#/components/schemas/ExpressionType'
+ enum: ["is-null", "not-null", "is-nan", "not-nan"]
+ term:
+ $ref: '#/components/schemas/Term'
+ value:
+ type: object
+
+ LiteralExpression:
+ type: object
+ required:
+ - type
+ - term
+ - value
+ properties:
+ type:
+ $ref: '#/components/schemas/ExpressionType'
+ enum: ["lt", "lt-eq", "gt", "gt-eq", "eq", "not-eq", "starts-with",
"not-starts-with"]
+ term:
+ $ref: '#/components/schemas/Term'
+ value:
+ type: object
+
+ SetExpression:
+ type: object
+ required:
+ - type
+ - term
+ - values
+ properties:
+ type:
+ $ref: '#/components/schemas/ExpressionType'
+ enum: ["in", "not-in"]
+ term:
+ $ref: '#/components/schemas/Term'
+ values:
+ type: array
+ items:
+ type: object
+
+ Term:
+ oneOf:
+ - $ref: '#/components/schemas/Reference'
+ - $ref: '#/components/schemas/TransformTerm'
+
+ Reference:
+ type: string
+ example:
+ - "column-name"
+ - "id"
+
+ TransformTerm:
+ type: object
+ required:
+ - type
+ - transform
+ - term
+ properties:
+ type:
+ type: string
+ transform:
+ $ref: '#/components/schemas/Transform'
+ term:
+ type: string
Review Comment:
good catch, updated
##########
open-api/rest-catalog-open-api.yaml:
##########
@@ -1016,6 +1062,134 @@ components:
items:
type: integer
+ Expression:
+ oneOf:
+ - $ref: '#/components/schemas/AndOrExpression'
+ - $ref: '#/components/schemas/NotExpression'
+ - $ref: '#/components/schemas/SetExpression'
+ - $ref: '#/components/schemas/LiteralExpression'
+ - $ref: '#/components/schemas/UnaryExpression'
+
+ ExpressionType:
+ type: string
+ example:
+ - "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"
+
+ AndOrExpression:
+ type: object
+ required:
+ - type
+ - left
+ - right
+ properties:
+ type:
+ $ref: '#/components/schemas/ExpressionType'
+ enum: ["and", "or"]
+ left:
+ $ref: '#/components/schemas/Expression'
+ right:
+ $ref: '#/components/schemas/Expression'
+
+ NotExpression:
+ type: object
+ required:
+ - type
+ - child
+ properties:
+ type:
+ $ref: '#/components/schemas/ExpressionType'
+ enum: ["not"]
+ child:
+ $ref: '#/components/schemas/Expression'
+
+ UnaryExpression:
+ type: object
+ required:
+ - type
+ - term
+ - value
+ properties:
+ type:
+ $ref: '#/components/schemas/ExpressionType'
+ enum: ["is-null", "not-null", "is-nan", "not-nan"]
+ term:
+ $ref: '#/components/schemas/Term'
+ value:
+ type: object
+
+ LiteralExpression:
+ type: object
+ required:
+ - type
+ - term
+ - value
+ properties:
+ type:
+ $ref: '#/components/schemas/ExpressionType'
+ enum: ["lt", "lt-eq", "gt", "gt-eq", "eq", "not-eq", "starts-with",
"not-starts-with"]
+ term:
+ $ref: '#/components/schemas/Term'
+ value:
+ type: object
+
+ SetExpression:
+ type: object
+ required:
+ - type
+ - term
+ - values
+ properties:
+ type:
+ $ref: '#/components/schemas/ExpressionType'
+ enum: ["in", "not-in"]
+ term:
+ $ref: '#/components/schemas/Term'
+ values:
+ type: array
+ items:
+ type: object
+
+ Term:
+ oneOf:
+ - $ref: '#/components/schemas/Reference'
+ - $ref: '#/components/schemas/TransformTerm'
+
+ Reference:
+ type: string
+ example:
+ - "column-name"
+ - "id"
Review Comment:
done
--
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]