| // 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. |
| |
| include "../../format/Schema.fbs"; |
| |
| namespace org.apache.arrow.computeir.flatbuf; |
| |
| table ListLiteral { |
| values: [Literal] (required); |
| } |
| |
| table StructLiteral { |
| /// Values for each struct field; the order must match the order of fields |
| /// in the `type` field of `Literal`. |
| values: [Literal] (required); |
| } |
| |
| table KeyValue { |
| key: Literal (required); |
| value: Literal (required); |
| } |
| |
| table MapLiteral { |
| values: [KeyValue] (required); |
| } |
| |
| table Int8Literal { |
| value: int8; |
| } |
| |
| table Int16Literal { |
| value: int16; |
| } |
| |
| table Int32Literal { |
| value: int32; |
| } |
| |
| table Int64Literal { |
| value: int64; |
| } |
| |
| table UInt8Literal { |
| value: uint8; |
| } |
| |
| table UInt16Literal { |
| value: uint16; |
| } |
| |
| table UInt32Literal { |
| value: uint32; |
| } |
| |
| table UInt64Literal { |
| value: uint64; |
| } |
| |
| table Float16Literal { |
| value: uint16; |
| } |
| |
| table Float32Literal { |
| value: float32; |
| } |
| |
| table Float64Literal { |
| value: float64; |
| } |
| |
| table DecimalLiteral { |
| /// Bytes of a Decimal value; bytes must be in little-endian order. |
| value: [byte] (required); |
| } |
| |
| table BooleanLiteral { |
| value: bool; |
| } |
| |
| table DateLiteral { |
| value: int64; |
| } |
| |
| table TimeLiteral { |
| value: int64; |
| } |
| |
| table TimestampLiteral { |
| value: int64; |
| } |
| |
| table IntervalLiteralMonths { |
| months: int32; |
| } |
| |
| table IntervalLiteralDaysMilliseconds { |
| days: int32; |
| milliseconds: int32; |
| } |
| |
| union IntervalLiteralImpl { |
| IntervalLiteralMonths, |
| IntervalLiteralDaysMilliseconds, |
| } |
| |
| table IntervalLiteral { |
| value: IntervalLiteralImpl (required); |
| } |
| |
| table DurationLiteral { |
| value: int64; |
| } |
| |
| table BinaryLiteral { |
| value: [byte] (required); |
| } |
| |
| table FixedSizeBinaryLiteral { |
| value: [byte] (required); |
| } |
| |
| table StringLiteral { |
| value: string (required); |
| } |
| |
| // no union literal is defined as only one branch of a union can be resolved. |
| // no literals for large string/binary types as flatbuffer is limited to 2gb. |
| |
| union LiteralImpl { |
| BooleanLiteral, |
| |
| Int8Literal, |
| Int16Literal, |
| Int32Literal, |
| Int64Literal, |
| |
| UInt8Literal, |
| UInt16Literal, |
| UInt32Literal, |
| UInt64Literal, |
| |
| DateLiteral, |
| TimeLiteral, |
| TimestampLiteral, |
| IntervalLiteral, |
| DurationLiteral, |
| |
| DecimalLiteral, |
| |
| Float16Literal, |
| Float32Literal, |
| Float64Literal, |
| |
| ListLiteral, |
| StructLiteral, |
| MapLiteral, |
| |
| StringLiteral, |
| BinaryLiteral, |
| FixedSizeBinaryLiteral, |
| } |
| |
| table Literal { |
| /// Literal value data; for null literals do not include this field. |
| impl: LiteralImpl; |
| /// Type of the literal value. This must match `impl`. |
| type: org.apache.arrow.flatbuf.Field (required); |
| } |
| |
| root_type Literal; |