Types
DuckString = ref object of DuckStringBase
DuckStringBase = object of RootObj
DuckValue = ref object of DuckValueBase
Procs
proc `$`(dstr: DuckString): string {....raises: [], tags: [], forbids: [].}
proc fromDatetime(val: duckdb_date): DateTime {.inline, ...raises: [], tags: [], forbids: [].}
proc fromDatetime(val: int32): DateTime {.inline, ...raises: [], tags: [], forbids: [].}
proc fromHugeInt(val: duckdb_hugeint): Int128 {.inline, ...raises: [], tags: [], forbids: [].}
proc fromInterval(val: duckdb_interval): TimeInterval {.inline, ...raises: [], tags: [], forbids: [].}
proc fromTime(val: duckdb_time): Time {.inline, ...raises: [], tags: [], forbids: [].}
proc fromTime(val: int64): Time {.inline, ...raises: [], tags: [], forbids: [].}
proc fromTimestamp(val: duckdb_timestamp): Timestamp {.inline, ...raises: [], tags: [], forbids: [].}
proc fromTimestamp(val: int64): Timestamp {.inline, ...raises: [], tags: [], forbids: [].}
proc fromUHugeInt(val: duckdb_uhugeint): UInt128 {.inline, ...raises: [], tags: [], forbids: [].}
proc newDuckString(str: cstring): DuckString {....raises: [], tags: [], forbids: [].}
proc newDuckValue(handle: duckdb_value): DuckValue {....raises: [], tags: [], forbids: [].}
proc newValue(kind: DuckType; isValid: bool): Value {....raises: [ValueError], tags: [], forbids: [].}
proc newValue(val: DateTime; kind: DuckType; isValid = true): Value {. ...raises: [ValueError], tags: [], forbids: [].}
proc newValue(val: string; kind: DuckType; isValid = true): Value {. ...raises: [ValueError], tags: [], forbids: [].}
proc newValue(val: Table[string, Value]; kind: DuckType; isValid = true): Value {. ...raises: [ValueError], tags: [], forbids: [].}
proc newValue(val: Timestamp; kind: DuckType; isValid = true): Value {. ...raises: [], tags: [], forbids: [].}
proc toDatetime(val: DateTime): duckdb_date {.inline, ...raises: [], tags: [], forbids: [].}
proc toHugeInt(val: Int128): duckdb_hugeint {.inline, ...raises: [], tags: [], forbids: [].}
proc toInterval(val: TimeInterval): duckdb_interval {.inline, ...raises: [], tags: [], forbids: [].}
proc toNativeValue(val: Value): DuckValue {....raises: [ValueError], tags: [], forbids: [].}
proc toTime(val: Time): duckdb_time {.inline, ...raises: [], tags: [], forbids: [].}
proc toTimestamp(val: Timestamp): duckdb_timestamp {.inline, ...raises: [], tags: [], forbids: [].}
proc toUHugeInt(val: UInt128): duckdb_uhugeint {.inline, ...raises: [], tags: [], forbids: [].}