versioned_docs/version-0.7.0-incubating/open-api/expression.yaml (60 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. --- components: schemas: FunctionArg: oneOf: - $ref: "#/components/schemas/Literal" - $ref: "#/components/schemas/Field" - $ref: "#/components/schemas/Function" discriminator: propertyName: type mapping: literal: "#/components/schemas/Literal" field: "#/components/schemas/Field" function: "#/components/schemas/Function" Literal: type: object required: - dataType - value properties: type: type: string enum: - "literal" dataType: $ref: "./datatype.yaml#/components/schemas/DataType" value: type: string description: The string format of the literal value Field: type: object required: - type - fieldName properties: type: type: string enum: - "field" fieldName: $ref: "./tables.yaml#/components/schemas/FieldName" Function: type: object required: - type - funcName - funcArgs properties: type: type: string enum: - "function" funcName: type: string description: The name of the function funcArgs: type: array description: The arguments of the function items: $ref: "#/components/schemas/FunctionArg"