ClickHouse
51 строка · 1.2 Кб
1#include "PostgreSQLProtocol.h"
2
3namespace DB::PostgreSQLProtocol::Messaging
4{
5
6ColumnTypeSpec convertTypeIndexToPostgresColumnTypeSpec(TypeIndex type_index)
7{
8switch (type_index)
9{
10case TypeIndex::Int8:
11return {ColumnType::CHAR, 1};
12
13case TypeIndex::UInt8:
14case TypeIndex::Int16:
15return {ColumnType::INT2, 2};
16
17case TypeIndex::UInt16:
18case TypeIndex::Int32:
19return {ColumnType::INT4, 4};
20
21case TypeIndex::UInt32:
22case TypeIndex::Int64:
23return {ColumnType::INT8, 8};
24
25case TypeIndex::Float32:
26return {ColumnType::FLOAT4, 4};
27case TypeIndex::Float64:
28return {ColumnType::FLOAT8, 8};
29
30case TypeIndex::FixedString:
31case TypeIndex::String:
32return {ColumnType::VARCHAR, -1};
33
34case TypeIndex::Date:
35return {ColumnType::DATE, 4};
36
37case TypeIndex::Decimal32:
38case TypeIndex::Decimal64:
39case TypeIndex::Decimal128:
40case TypeIndex::Decimal256:
41return {ColumnType::NUMERIC, -1};
42
43case TypeIndex::UUID:
44return {ColumnType::UUID, 16};
45
46default:
47return {ColumnType::VARCHAR, -1};
48}
49}
50
51}
52