summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/format/check/check_format.h
blob: e3497e47db442751e86b50de9fcb737453b309ca (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once

#include <yql/essentials/ast/yql_ast.h>
#include <yql/essentials/public/issue/yql_issue.h>
#include <yql/essentials/sql/settings/translation_settings.h>

namespace NSQLFormat {

enum class EConvergenceRequirement: ui8 {
    None,
    Triple, // format(format(input)) == format(format(format(input)))
    Double, // .      format(input)  ==        format(format(input))
};

TMaybe<TString> CheckedFormat(
    const TString& query,
    TMaybe<const NYql::TAstNode*> ast,
    NSQLTranslation::TTranslationSettings settings,
    NYql::TIssues& issues,
    EConvergenceRequirement convergence = EConvergenceRequirement::Double);

} // namespace NSQLFormat