ClickHouse

Форк
0
/
PostgreSQLProtocol.cpp 
51 строка · 1.2 Кб
1
#include "PostgreSQLProtocol.h"
2

3
namespace DB::PostgreSQLProtocol::Messaging
4
{
5

6
ColumnTypeSpec convertTypeIndexToPostgresColumnTypeSpec(TypeIndex type_index)
7
{
8
    switch (type_index)
9
    {
10
        case TypeIndex::Int8:
11
            return {ColumnType::CHAR, 1};
12

13
        case TypeIndex::UInt8:
14
        case TypeIndex::Int16:
15
            return {ColumnType::INT2, 2};
16

17
        case TypeIndex::UInt16:
18
        case TypeIndex::Int32:
19
            return {ColumnType::INT4, 4};
20

21
        case TypeIndex::UInt32:
22
        case TypeIndex::Int64:
23
            return {ColumnType::INT8, 8};
24

25
        case TypeIndex::Float32:
26
            return {ColumnType::FLOAT4, 4};
27
        case TypeIndex::Float64:
28
            return {ColumnType::FLOAT8, 8};
29

30
        case TypeIndex::FixedString:
31
        case TypeIndex::String:
32
            return {ColumnType::VARCHAR, -1};
33

34
        case TypeIndex::Date:
35
            return {ColumnType::DATE, 4};
36

37
        case TypeIndex::Decimal32:
38
        case TypeIndex::Decimal64:
39
        case TypeIndex::Decimal128:
40
        case TypeIndex::Decimal256:
41
            return {ColumnType::NUMERIC, -1};
42

43
        case TypeIndex::UUID:
44
            return {ColumnType::UUID, 16};
45

46
        default:
47
            return {ColumnType::VARCHAR, -1};
48
    }
49
}
50

51
}
52

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.