class DuckDB::Appender
def append(value)
appender.append('Alice')
appender.append(1)
appender = con.appender('users')
con.query('CREATE TABLE users (id INTEGER, name VARCHAR)')
con = db.connect
db = DuckDB::Database.open
require 'duckdb'
appends value.
def append(value) case value when NilClass append_null when Float append_double(value) when Integer case value when RANGE_INT16 append_int16(value) when RANGE_INT32 append_int32(value) when RANGE_INT64 append_int64(value) else append_hugeint(value) end when String blob?(value) ? append_blob(value) : append_varchar(value) when TrueClass, FalseClass append_bool(value) when Time append_timestamp(value) when Date append_date(value) when DuckDB::Interval append_interval(value) else raise(DuckDB::Error, "not supported type #{value} (#{value.class})") end end