forked from marcboeker/go-duckdb
-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathtype.go
More file actions
98 lines (92 loc) · 3.01 KB
/
type.go
File metadata and controls
98 lines (92 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package duckdb
import (
"github.com/duckdb/duckdb-go/v2/mapping"
)
// Type wraps the corresponding DuckDB type enumapping.
type Type = mapping.Type
const (
TYPE_INVALID = mapping.TypeInvalid
TYPE_BOOLEAN = mapping.TypeBoolean
TYPE_TINYINT = mapping.TypeTinyInt
TYPE_SMALLINT = mapping.TypeSmallInt
TYPE_INTEGER = mapping.TypeInteger
TYPE_BIGINT = mapping.TypeBigInt
TYPE_UTINYINT = mapping.TypeUTinyInt
TYPE_USMALLINT = mapping.TypeUSmallInt
TYPE_UINTEGER = mapping.TypeUInteger
TYPE_UBIGINT = mapping.TypeUBigInt
TYPE_FLOAT = mapping.TypeFloat
TYPE_DOUBLE = mapping.TypeDouble
TYPE_TIMESTAMP = mapping.TypeTimestamp
TYPE_DATE = mapping.TypeDate
TYPE_TIME = mapping.TypeTime
TYPE_INTERVAL = mapping.TypeInterval
TYPE_HUGEINT = mapping.TypeHugeInt
TYPE_UHUGEINT = mapping.TypeUHugeInt
TYPE_VARCHAR = mapping.TypeVarchar
TYPE_BLOB = mapping.TypeBlob
TYPE_DECIMAL = mapping.TypeDecimal
TYPE_TIMESTAMP_S = mapping.TypeTimestampS
TYPE_TIMESTAMP_MS = mapping.TypeTimestampMS
TYPE_TIMESTAMP_NS = mapping.TypeTimestampNS
TYPE_ENUM = mapping.TypeEnum
TYPE_LIST = mapping.TypeList
TYPE_STRUCT = mapping.TypeStruct
TYPE_MAP = mapping.TypeMap
TYPE_ARRAY = mapping.TypeArray
TYPE_UUID = mapping.TypeUUID
TYPE_UNION = mapping.TypeUnion
TYPE_BIT = mapping.TypeBit
TYPE_TIME_TZ = mapping.TypeTimeTZ
TYPE_TIMESTAMP_TZ = mapping.TypeTimestampTZ
TYPE_ANY = mapping.TypeAny
TYPE_BIGNUM = mapping.TypeBigNum
TYPE_SQLNULL = mapping.TypeSQLNull
// TODO: add TYPE_TIME_NS here, or support it.
)
// FIXME: Implement support for these types.
var unsupportedTypeToStringMap = map[Type]string{
TYPE_INVALID: "INVALID",
TYPE_BIT: "BIT",
TYPE_ANY: "ANY",
}
var typeToStringMap = map[Type]string{
TYPE_INVALID: "INVALID",
TYPE_BOOLEAN: "BOOLEAN",
TYPE_TINYINT: "TINYINT",
TYPE_SMALLINT: "SMALLINT",
TYPE_INTEGER: "INTEGER",
TYPE_BIGINT: "BIGINT",
TYPE_UTINYINT: "UTINYINT",
TYPE_USMALLINT: "USMALLINT",
TYPE_UINTEGER: "UINTEGER",
TYPE_UBIGINT: "UBIGINT",
TYPE_FLOAT: "FLOAT",
TYPE_DOUBLE: "DOUBLE",
TYPE_TIMESTAMP: "TIMESTAMP",
TYPE_DATE: "DATE",
TYPE_TIME: "TIME",
TYPE_INTERVAL: "INTERVAL",
TYPE_HUGEINT: "HUGEINT",
TYPE_UHUGEINT: "UHUGEINT",
TYPE_VARCHAR: "VARCHAR",
TYPE_BLOB: "BLOB",
TYPE_DECIMAL: "DECIMAL",
TYPE_TIMESTAMP_S: "TIMESTAMP_S",
TYPE_TIMESTAMP_MS: "TIMESTAMP_MS",
TYPE_TIMESTAMP_NS: "TIMESTAMP_NS",
TYPE_ENUM: "ENUM",
TYPE_LIST: "LIST",
TYPE_STRUCT: "STRUCT",
TYPE_MAP: "MAP",
TYPE_ARRAY: "ARRAY",
TYPE_UUID: "UUID",
TYPE_UNION: "UNION",
TYPE_BIT: "BIT",
TYPE_TIME_TZ: "TIMETZ",
TYPE_TIMESTAMP_TZ: "TIMESTAMPTZ",
TYPE_ANY: "ANY",
TYPE_BIGNUM: "BIGNUM",
TYPE_SQLNULL: "SQLNULL",
}
const aliasJSON = "JSON"