summaryrefslogtreecommitdiffstats
path: root/src/arrow/java/vector/src/main/codegen/data/ValueVectorTypes.tdd
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/arrow/java/vector/src/main/codegen/data/ValueVectorTypes.tdd206
1 files changed, 206 insertions, 0 deletions
diff --git a/src/arrow/java/vector/src/main/codegen/data/ValueVectorTypes.tdd b/src/arrow/java/vector/src/main/codegen/data/ValueVectorTypes.tdd
new file mode 100644
index 000000000..2a9218042
--- /dev/null
+++ b/src/arrow/java/vector/src/main/codegen/data/ValueVectorTypes.tdd
@@ -0,0 +1,206 @@
+# 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.
+
+{
+ modes: [
+ {name: "Optional", prefix: "Nullable"},
+ {name: "Required", prefix: ""}
+ ],
+ types: [
+ {
+ major: "Fixed",
+ width: 1,
+ javaType: "byte",
+ boxedType: "Byte",
+ fields: [{name: "value", type: "byte"}],
+ minor: [
+ { class: "TinyInt", valueHolder: "IntHolder" },
+ { class: "UInt1", valueHolder: "UInt1Holder" }
+ ]
+ },
+ {
+ major: "Fixed",
+ width: 2,
+ javaType: "char",
+ boxedType: "Character",
+ fields: [{name: "value", type: "char"}],
+ minor: [
+ { class: "UInt2", valueHolder: "UInt2Holder"}
+ ]
+ }, {
+ major: "Fixed",
+ width: 2,
+ javaType: "short",
+ boxedType: "Short",
+ fields: [{name: "value", type: "short"}],
+ minor: [
+ { class: "SmallInt", valueHolder: "Int2Holder"},
+ ]
+ },
+ {
+ major: "Fixed",
+ width: 4,
+ javaType: "int",
+ boxedType: "Integer",
+ fields: [{name: "value", type: "int"}],
+ minor: [
+ { class: "Int", valueHolder: "IntHolder"},
+ { class: "UInt4", valueHolder: "UInt4Holder" },
+ { class: "Float4", javaType: "float" , boxedType: "Float", fields: [{name: "value", type: "float"}]},
+ { class: "DateDay" },
+ { class: "IntervalYear", javaType: "int", friendlyType: "Period" },
+ { class: "TimeSec" },
+ { class: "TimeMilli", javaType: "int", friendlyType: "LocalDateTime" }
+ ]
+ },
+ {
+ major: "Fixed",
+ width: 8,
+ javaType: "long",
+ boxedType: "Long",
+ fields: [{name: "value", type: "long"}],
+ minor: [
+ { class: "BigInt"},
+ { class: "UInt8" },
+ { class: "Float8", javaType: "double", boxedType: "Double", fields: [{name: "value", type: "double"}] },
+ { class: "DateMilli", javaType: "long", friendlyType: "LocalDateTime" },
+ { class: "Duration", javaType: "long", friendlyType: "Duration",
+ arrowType: "org.apache.arrow.vector.types.pojo.ArrowType.Duration",
+ typeParams: [ {name: "unit", type: "org.apache.arrow.vector.types.TimeUnit"} ],
+ arrowTypeConstructorParams: ["unit"]}
+ { class: "TimeStampSec", javaType: "long", boxedType: "Long", friendlyType: "LocalDateTime" },
+ { class: "TimeStampMilli", javaType: "long", boxedType: "Long", friendlyType: "LocalDateTime" },
+ { class: "TimeStampMicro", javaType: "long", boxedType: "Long", friendlyType: "LocalDateTime" },
+ { class: "TimeStampNano", javaType: "long", boxedType: "Long", friendlyType: "LocalDateTime" },
+ { class: "TimeStampSecTZ", javaType: "long", boxedType: "Long",
+ typeParams: [ {name: "timezone", type: "String"} ],
+ arrowType: "org.apache.arrow.vector.types.pojo.ArrowType.Timestamp",
+ arrowTypeConstructorParams: ["org.apache.arrow.vector.types.TimeUnit.SECOND", "timezone"] },
+ { class: "TimeStampMilliTZ", javaType: "long", boxedType: "Long",
+ typeParams: [ {name: "timezone", type: "String"} ],
+ arrowType: "org.apache.arrow.vector.types.pojo.ArrowType.Timestamp",
+ arrowTypeConstructorParams: ["org.apache.arrow.vector.types.TimeUnit.MILLISECOND", "timezone"] },
+ { class: "TimeStampMicroTZ", javaType: "long", boxedType: "Long",
+ typeParams: [ {name: "timezone", type: "String"} ],
+ arrowType: "org.apache.arrow.vector.types.pojo.ArrowType.Timestamp",
+ arrowTypeConstructorParams: ["org.apache.arrow.vector.types.TimeUnit.MICROSECOND", "timezone"] },
+ { class: "TimeStampNanoTZ", javaType: "long", boxedType: "Long",
+ typeParams: [ {name: "timezone", type: "String"} ],
+ arrowType: "org.apache.arrow.vector.types.pojo.ArrowType.Timestamp",
+ arrowTypeConstructorParams: ["org.apache.arrow.vector.types.TimeUnit.NANOSECOND", "timezone"] },
+ { class: "TimeMicro" },
+ { class: "TimeNano" }
+ ]
+ },
+ {
+ major: "Fixed",
+ width: 8,
+ javaType: "ArrowBuf",
+ boxedType: "ArrowBuf",
+ minor: [
+ { class: "IntervalDay", millisecondsOffset: 4, friendlyType: "Duration", fields: [ {name: "days", type:"int"}, {name: "milliseconds", type:"int"}] }
+ ]
+ },
+ {
+ major: "Fixed",
+ width: 16,
+ javaType: "ArrowBuf",
+ boxedType: "ArrowBuf",
+ minor: [
+ { class: "IntervalMonthDayNano", daysOffset: 4, nanosecondsOffset: 8, friendlyType: "PeriodDuration", fields: [ {name: "months", type:"int"}, {name: "days", type:"int"}, {name: "nanoseconds", type:"long"}] }
+ ]
+ },
+
+ {
+ major: "Fixed",
+ width: 32,
+ javaType: "ArrowBuf",
+ boxedType: "ArrowBuf",
+
+ minor: [
+ {
+ class: "Decimal256",
+ maxPrecisionDigits: 76, nDecimalDigits: 4, friendlyType: "BigDecimal",
+ typeParams: [ {name: "scale", type: "int"}, { name: "precision", type: "int"}],
+ arrowType: "org.apache.arrow.vector.types.pojo.ArrowType.Decimal",
+ fields: [{name: "start", type: "long"}, {name: "buffer", type: "ArrowBuf"}]
+ }
+ ]
+ },
+ {
+ major: "Fixed",
+ width: 16,
+ javaType: "ArrowBuf",
+ boxedType: "ArrowBuf",
+
+ minor: [
+ {
+ class: "Decimal",
+ maxPrecisionDigits: 38, nDecimalDigits: 4, friendlyType: "BigDecimal",
+ typeParams: [ {name: "scale", type: "int"}, { name: "precision", type: "int"}],
+ arrowType: "org.apache.arrow.vector.types.pojo.ArrowType.Decimal",
+ fields: [{name: "start", type: "long"}, {name: "buffer", type: "ArrowBuf"}]
+ }
+ ]
+ },
+
+ {
+ major: "Fixed",
+ width: -1,
+ javaType: "byte[]",
+ boxedType: "ArrowBuf",
+ minor: [
+ {
+ class: "FixedSizeBinary",
+ typeParams: [ {name: "byteWidth", type: "int"} ],
+ arrowType: "org.apache.arrow.vector.types.pojo.ArrowType.FixedSizeBinary",
+ friendlyType: "byte[]",
+ fields: [{name: "buffer", type: "ArrowBuf"}],
+ }
+ ]
+ },
+ {
+ major: "VarLen",
+ width: 4,
+ javaType: "int",
+ boxedType: "ArrowBuf",
+ fields: [{name: "start", type: "int"}, {name: "end", type: "int"}, {name: "buffer", type: "ArrowBuf"}],
+ minor: [
+ { class: "VarBinary" , friendlyType: "byte[]" },
+ { class: "VarChar" , friendlyType: "Text" }
+ ]
+ },
+ {
+ major: "VarLen",
+ width: 8,
+ javaType: "long",
+ boxedType: "ArrowBuf",
+ fields: [{name: "start", type: "long"}, {name: "end", type: "long"}, {name: "buffer", type: "ArrowBuf"}],
+ minor: [
+ { class: "LargeVarChar" , friendlyType: "Text" }
+ { class: "LargeVarBinary" , friendlyType: "byte[]" }
+ ]
+ },
+ {
+ major: "Bit",
+ width: 1,
+ javaType: "int",
+ boxedType: "Integer",
+ minor: [
+ { class: "Bit" , friendlyType: "Boolean", fields: [{name: "value", type: "int"}] }
+ ]
+ }
+ ]
+}