This PR introduces support for TIME, INTERVAL, HUGEINT, DECIMAL, ENUM, and MAP in the Appender. go-duckdb now supports all scannable types in the Appender.
Other relevant changes
I moved most primitive appender tests into testTypes to populate the table. That way, we're testing both appending to the table and scanning from it.
For faster SetValue calls, we store additional information for STRUCT, ENUM, and DECIMAL in vector, if applicable.
EDIT
I've extended this PR with some code paths to skip typecasting. This does not include more than one-level nested LISTs and STRUCTs, for which we still transform the input.
EDIT EDIT
I'll move these changes into a different (follow-up) PR.
This PR introduces support for
TIME
,INTERVAL
,HUGEINT
,DECIMAL
,ENUM
, andMAP
in theAppender
. go-duckdb now supports all scannable types in theAppender
.Other relevant changes
testTypes
to populate the table. That way, we're testing both appending to the table and scanning from it.SetValue
calls, we store additional information forSTRUCT
,ENUM
, andDECIMAL
invector
, if applicable.EDIT
I've extended this PR with some code paths to skip typecasting. This does not include more than one-level nested
LIST
s andSTRUCT
s, for which we still transform the input.EDIT EDIT
I'll move these changes into a different (follow-up) PR.
Benchmark results
BenchmarkTypes-10 4 329119177 ns/op