in exposed-r2dbc/src/main/kotlin/org/jetbrains/exposed/v1/r2dbc/mappers/DateTimeTypeMapper.kt [48:79]
override fun <T> getValue(
row: Row,
type: Class<T>?,
index: Int,
dialect: DatabaseDialect,
columnType: IColumnType<*>
): ValueContainer<T?> {
return when (type) {
Time::class.java -> {
PresentValueContainer(
row.get(index - 1, LocalTime::class.java)?.let { Time.valueOf(it) as T }
)
}
Date::class.java -> {
PresentValueContainer(
row.get(index - 1, LocalDate::class.java)?.let { Date.valueOf(it) as T }
)
}
Timestamp::class.java -> {
try {
PresentValueContainer(
row.get(index - 1, LocalDateTime::class.java)?.let { Timestamp.valueOf(it) as T }
)
} catch (_: Exception) {
PresentValueContainer(
row.get(index - 1, String::class.java)?.let { Timestamp.valueOf(it) as T }
)
}
}
else -> NoValueContainer()
}
}