Skip to content

Commit 3a447b7

Browse files
committed
simplified some date conversions for arrow
1 parent d7eed68 commit 3a447b7

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

dataframe-arrow/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/ArrowWriterImpl.kt

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ package org.jetbrains.kotlinx.dataframe.io
22

33
import kotlinx.datetime.TimeZone
44
import kotlinx.datetime.toInstant
5-
import kotlinx.datetime.toJavaLocalDate
6-
import kotlinx.datetime.toJavaLocalTime
75
import org.apache.arrow.memory.RootAllocator
86
import org.apache.arrow.vector.BaseFixedWidthVector
97
import org.apache.arrow.vector.BaseVariableWidthVector
@@ -229,7 +227,7 @@ internal class ArrowWriterImpl(
229227
is DateDayVector ->
230228
column.convertToLocalDate()
231229
.forEachIndexed { i, value ->
232-
value?.also { vector.set(i, value.toJavaLocalDate().toEpochDay().toInt()) }
230+
value?.also { vector.set(i, value.toEpochDays()) }
233231
?: vector.setNull(i)
234232
}
235233

@@ -243,29 +241,29 @@ internal class ArrowWriterImpl(
243241
is TimeNanoVector ->
244242
column.convertToLocalTime()
245243
.forEachIndexed { i, value ->
246-
value?.also { vector.set(i, value.toJavaLocalTime().toNanoOfDay()) }
244+
value?.also { vector.set(i, value.toNanosecondOfDay()) }
247245
?: vector.setNull(i)
248246
}
249247

250248
is TimeMicroVector ->
251249
column.convertToLocalTime()
252250
.forEachIndexed { i, value ->
253-
value?.also { vector.set(i, value.toJavaLocalTime().toNanoOfDay() / 1000) }
251+
value?.also { vector.set(i, value.toNanosecondOfDay() / 1000) }
254252
?: vector.setNull(i)
255253
}
256254

257255
is TimeMilliVector ->
258256
column.convertToLocalTime()
259257
.forEachIndexed { i, value ->
260-
value?.also { vector.set(i, (value.toJavaLocalTime().toNanoOfDay() / 1000 / 1000).toInt()) }
258+
value?.also { vector.set(i, (value.toNanosecondOfDay() / 1000 / 1000).toInt()) }
261259
?: vector.setNull(i)
262260
}
263261

264262
is TimeSecVector ->
265263
column.convertToLocalTime()
266264
.forEachIndexed { i, value ->
267265
value?.also {
268-
vector.set(i, (value.toJavaLocalTime().toNanoOfDay() / 1000 / 1000 / 1000).toInt())
266+
vector.set(i, (value.toNanosecondOfDay() / 1000 / 1000 / 1000).toInt())
269267
} ?: vector.setNull(i)
270268
}
271269

0 commit comments

Comments
 (0)