aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/clickhouse/src/Core/Joins.cpp
blob: 9c8ece822248a0b027a4318bdf0173bca661c05e (plain) (blame)
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
#include <Core/Joins.h>

namespace DB
{

const char * toString(JoinKind kind)
{
    switch (kind)
    {
        case JoinKind::Inner: return "INNER";
        case JoinKind::Left: return "LEFT";
        case JoinKind::Right: return "RIGHT";
        case JoinKind::Full: return "FULL";
        case JoinKind::Cross: return "CROSS";
        case JoinKind::Comma: return "COMMA";
    }
};

const char * toString(JoinStrictness strictness)
{
    switch (strictness)
    {
        case JoinStrictness::Unspecified: return "UNSPECIFIED";
        case JoinStrictness::RightAny: return "RIGHT_ANY";
        case JoinStrictness::Any: return "ANY";
        case JoinStrictness::All: return "ALL";
        case JoinStrictness::Asof: return "ASOF";
        case JoinStrictness::Semi: return "SEMI";
        case JoinStrictness::Anti: return "ANTI";
    }
}

const char * toString(JoinLocality locality)
{
    switch (locality)
    {
        case JoinLocality::Unspecified: return "UNSPECIFIED";
        case JoinLocality::Local: return "LOCAL";
        case JoinLocality::Global: return "GLOBAL";
    }
}

const char * toString(ASOFJoinInequality asof_join_inequality)
{
    switch (asof_join_inequality)
    {
        case ASOFJoinInequality::None: return "NONE";
        case ASOFJoinInequality::Less: return "LESS";
        case ASOFJoinInequality::Greater: return "GREATER";
        case ASOFJoinInequality::LessOrEquals: return "LESS_OR_EQUALS";
        case ASOFJoinInequality::GreaterOrEquals: return "GREATER_OR_EQUALS";
    }
}

const char * toString(JoinAlgorithm join_algorithm)
{
    switch (join_algorithm)
    {
        case JoinAlgorithm::DEFAULT: return "DEFAULT";
        case JoinAlgorithm::AUTO: return "AUTO";
        case JoinAlgorithm::HASH: return "HASH";
        case JoinAlgorithm::PARTIAL_MERGE: return "PARTIAL_MERGE";
        case JoinAlgorithm::PREFER_PARTIAL_MERGE: return "PREFER_PARTIAL_MERGE";
        case JoinAlgorithm::PARALLEL_HASH: return "PARALLEL_HASH";
        case JoinAlgorithm::DIRECT: return "DIRECT";
        case JoinAlgorithm::FULL_SORTING_MERGE: return "FULL_SORTING_MERGE";
        case JoinAlgorithm::GRACE_HASH: return "GRACE_HASH";
    }
}

const char * toString(JoinTableSide join_table_side)
{
    switch (join_table_side)
    {
        case JoinTableSide::Left: return "LEFT";
        case JoinTableSide::Right: return "RIGHT";
    }
}

}