summaryrefslogtreecommitdiffstats
path: root/yql/essentials/public/sql_format
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-02-19 17:28:26 +0300
committervvvv <[email protected]>2025-02-19 17:46:38 +0300
commit52daccf61e2e827114cfb3372071cddaec7974ba (patch)
tree07404f6ec241c8a2b96a4da07dc0f0d0c247799c /yql/essentials/public/sql_format
parentca4b5f28703b0d06599c94f3eacc5d6c498c31d5 (diff)
YQL-19594 Explicit lexers & parsers
commit_hash:6be543b7c5bff6ee474ee606c920197fb2569767
Diffstat (limited to 'yql/essentials/public/sql_format')
-rw-r--r--yql/essentials/public/sql_format/sql_format.cpp21
-rw-r--r--yql/essentials/public/sql_format/sql_format.h8
-rw-r--r--yql/essentials/public/sql_format/ya.make15
3 files changed, 44 insertions, 0 deletions
diff --git a/yql/essentials/public/sql_format/sql_format.cpp b/yql/essentials/public/sql_format/sql_format.cpp
new file mode 100644
index 00000000000..2fe769e5fc7
--- /dev/null
+++ b/yql/essentials/public/sql_format/sql_format.cpp
@@ -0,0 +1,21 @@
+#include "sql_format.h"
+
+#include <yql/essentials/sql/v1/format/sql_format.h>
+#include <yql/essentials/sql/v1/lexer/antlr4/lexer.h>
+#include <yql/essentials/sql/v1/lexer/antlr4_ansi/lexer.h>
+#include <yql/essentials/sql/v1/proto_parser/antlr4/proto_parser.h>
+#include <yql/essentials/sql/v1/proto_parser/antlr4_ansi/proto_parser.h>
+
+namespace NSQLFormat {
+
+bool SqlFormatSimple(const TString& query, TString& formattedQuery, TString& error) {
+ NSQLTranslationV1::TLexers lexers;
+ lexers.Antlr4 = NSQLTranslationV1::MakeAntlr4LexerFactory();
+ lexers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiLexerFactory();
+ NSQLTranslationV1::TParsers parsers;
+ parsers.Antlr4 = NSQLTranslationV1::MakeAntlr4ParserFactory();
+ parsers.Antlr4Ansi = NSQLTranslationV1::MakeAntlr4AnsiParserFactory();
+ return SqlFormatSimple(lexers, parsers, query, formattedQuery, error);
+}
+
+}
diff --git a/yql/essentials/public/sql_format/sql_format.h b/yql/essentials/public/sql_format/sql_format.h
new file mode 100644
index 00000000000..afde5204e69
--- /dev/null
+++ b/yql/essentials/public/sql_format/sql_format.h
@@ -0,0 +1,8 @@
+#pragma once
+#include <util/generic/string.h>
+
+namespace NSQLFormat {
+
+bool SqlFormatSimple(const TString& query, TString& formattedQuery, TString& error);
+
+}
diff --git a/yql/essentials/public/sql_format/ya.make b/yql/essentials/public/sql_format/ya.make
new file mode 100644
index 00000000000..d775025e54e
--- /dev/null
+++ b/yql/essentials/public/sql_format/ya.make
@@ -0,0 +1,15 @@
+LIBRARY()
+
+SRCS(
+ sql_format.cpp
+)
+
+PEERDIR(
+ yql/essentials/sql/v1/format
+ yql/essentials/sql/v1/lexer/antlr4
+ yql/essentials/sql/v1/lexer/antlr4_ansi
+ yql/essentials/sql/v1/proto_parser/antlr4
+ yql/essentials/sql/v1/proto_parser/antlr4_ansi
+)
+
+END()