summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/proto_parser/statement.cpp
blob: 82c6122e90b37fe674280b0e1a0f8bef97aab849 (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
#include "statement.h"

#include "parse_tree.h"

#include <util/string/split.h>

#include <ranges>

namespace NSQLTranslationV1 {

TStatementName TStatementName::FromAltDescription(const TString& alt) {
    TVector<TString> parts;
    Split(alt, "_", parts);
    Y_DEBUG_ABORT_UNLESS(parts.size() > 1);
    parts.pop_back();

    TStatementName name;

    for (TString& part : parts) {
        part.to_upper(0, 1);

        name.Internal += part;

        if (!name.Human.empty()) {
            name.Human += ' ';
        }
        name.Human += to_upper(part);
    }

    return name;
}

} // namespace NSQLTranslationV1