You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
throwNotImplementedError("Saving ${targetFieldType.javaClass.canonicalName} is currently not implemented")
109
105
}
@@ -114,17 +110,11 @@ internal class ArrowWriterImpl(
114
110
when (vector) {
115
111
isVarCharVector-> column.convertToString().forEachIndexed { i, value -> value?.let { vector.set(i, Text(value)); value } ?: vector.setNull(i) }
116
112
isLargeVarCharVector-> column.convertToString().forEachIndexed { i, value -> value?.let { vector.set(i, Text(value)); value } ?: vector.setNull(i) }
117
-
// is VarBinaryVector -> todo
118
-
// is LargeVarBinaryVector -> todo
119
113
isBitVector-> column.convertToBoolean().forEachIndexed { i, value -> value?.let { vector.set(i, value.compareTo(false)); value } ?: vector.setNull(i) }
120
114
isTinyIntVector-> column.convertToInt().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
121
115
isSmallIntVector-> column.convertToInt().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
122
116
isIntVector-> column.convertToInt().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
123
117
isBigIntVector-> column.convertToLong().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
124
-
// is UInt1Vector -> todo
125
-
// is UInt2Vector -> todo
126
-
// is UInt4Vector -> todo
127
-
// is UInt8Vector -> todo
128
118
isDecimalVector-> column.convertToBigDecimal().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
129
119
isDecimal256Vector-> column.convertToBigDecimal().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
130
120
isFloat8Vector-> column.convertToDouble().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
@@ -133,13 +123,12 @@ internal class ArrowWriterImpl(
133
123
isDateDayVector-> column.convertToLocalDate().forEachIndexed { i, value -> value?.let { vector.set(i, (value.toJavaLocalDate().toEpochDay()).toInt()); value } ?: vector.setNull(i) }
134
124
isDateMilliVector-> column.convertToLocalDateTime().forEachIndexed { i, value -> value?.let { vector.set(i, value.toInstant(
135
125
TimeZone.UTC).toEpochMilliseconds()); value } ?: vector.setNull(i) }
136
-
// is DurationVector -> todo
137
126
isTimeNanoVector-> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, value.toNanoOfDay()); value } ?: vector.setNull(i) }
138
127
isTimeMicroVector-> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, value.toNanoOfDay() /1000); value } ?: vector.setNull(i) }
139
128
isTimeMilliVector-> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, (value.toNanoOfDay() /1000/1000).toInt()); value } ?: vector.setNull(i) }
140
129
isTimeSecVector-> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, (value.toNanoOfDay() /1000/1000/1000).toInt()); value } ?: vector.setNull(i) }
141
-
// is StructVector -> todo
142
130
else-> {
131
+
// TODO implement other vector types from [readField] (VarBinaryVector, UIntVector, DurationVector, StructVector) and may be others (ListVector, FixedSizeListVector etc)
143
132
throwNotImplementedError("Saving to ${vector.javaClass.canonicalName} is currently not implemented")
* Read [Arrow interprocess streaming format](https://arrow.apache.org/docs/java/ipc.html#writing-and-reading-streaming-format) data from existing [channel]
0 commit comments