Skip to content

#9056 Add YQL keywords suggestions to YDB CLI #12386

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 55 commits into from
Feb 26, 2025
Merged
Show file tree
Hide file tree
Changes from 53 commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
8089c68
#9056 Refactor yamake configs
vityaman Dec 7, 2024
78be8fa
#9056 Extract IsAnsiQuery
vityaman Dec 7, 2024
bba1b66
#9056 Add YQL keywords suggestion engine
vityaman Dec 8, 2024
b0eabb0
#9056 Add tests
vityaman Dec 8, 2024
edb4731
#9056 Add completions to replxx prompt
vityaman Dec 8, 2024
bfd2e46
#9056 Fix typing test
vityaman Dec 8, 2024
6087306
#9056 Sort candidates
vityaman Dec 8, 2024
19a0108
#9056 Extend word break characters
vityaman Dec 8, 2024
f038330
#9056 Enable completions on empty input
vityaman Dec 17, 2024
fef7e57
#9056 Test at beginning
vityaman Dec 17, 2024
42436b1
#9056 Translate websql simple tests
vityaman Dec 17, 2024
570e576
#9056 Remove unused function
vityaman Dec 17, 2024
b89b046
Merge branch 'main' into 9056-clean-architecture
vityaman Dec 17, 2024
65c1a06
#9056 Rename YQLNameSource to YQLNamespace
vityaman Dec 17, 2024
797e0a5
#9056 Add WorkBreak test
vityaman Dec 17, 2024
0ffa5ee
Merge branch 'ydb-platform:main' into 9056-clean-architecture
vityaman Jan 12, 2025
fa7e9bb
#9056 Rename ParseStack to ParserCallStack
vityaman Jan 12, 2025
7f8dc9a
#9056 Explain EYQLSyntaxMode dependency
vityaman Jan 12, 2025
73f80e1
#9056 Fix typo
vityaman Jan 15, 2025
b503f27
#9056 Set default color of completions
vityaman Jan 15, 2025
a6290ef
#9056 Extract complete module
vityaman Jan 18, 2025
9957f61
#9056 Rename YQL to Sql
vityaman Jan 18, 2025
414147a
#9056 Generalize the interface
vityaman Jan 18, 2025
6cc0d29
#9056 Refactor
vityaman Jan 18, 2025
5ac82dd
Merge branch 'main' into 9056-clean-architecture
vityaman Jan 30, 2025
3e1e70d
#9056 Fix case sensitivity
vityaman Jan 30, 2025
154a07f
#9056 Split core and application completion
vityaman Jan 30, 2025
259c0b3
#9056 Extract grammar specific functions
vityaman Jan 30, 2025
06dfe95
#9056 Refactor TSqlCompletionEngine
vityaman Jan 30, 2025
4bf8415
#9056 Fix TSqlCompletionEngine tests determinism
vityaman Jan 30, 2025
1984026
#9056 Refactor
vityaman Jan 30, 2025
5ec05c2
#9056 Format
vityaman Jan 30, 2025
a152b71
#9056 Fix tests
vityaman Jan 30, 2025
8ebb524
Merge branch 'main' into 9056-clean-architecture
vityaman Feb 5, 2025
6eb99af
#9056 Remove final struct modifier
vityaman Feb 5, 2025
b8805d9
#9056 Hide SqlCompletionEngine under an interface
vityaman Feb 5, 2025
207f51d
#9056 Remove sql/v1/complete dependency from proto_ast
vityaman Feb 10, 2025
cb9791b
#9056 Use polymorphism
vityaman Feb 10, 2025
3f30789
Merge branch 'main' into 9056-clean-architecture
vityaman Feb 11, 2025
a8b5187
#9056 Extract GetVocabulary by ESqlSyntaxMode
vityaman Feb 11, 2025
206817e
#9056 Rename module antlr4_ast to antlr_ast
vityaman Feb 11, 2025
a41ebe3
#9056 Fix tests
vityaman Feb 11, 2025
97a2c1c
#9056 Fix ISqlGrammar code style
vityaman Feb 11, 2025
3abc522
#9056 Improve IsWordBoundary performance
vityaman Feb 11, 2025
a0c1e76
#9056 Refactor LastWordIndex
vityaman Feb 11, 2025
59d0bf0
#9056 Test LastWordIndex
vityaman Feb 11, 2025
0906c72
#9056 Remove Utf8 suffix from string names
vityaman Feb 11, 2025
3340ba6
#9056 Replace ESqlSyntaxMode with a bool
vityaman Feb 11, 2025
3ace862
Merge branch 'main' into 9056-clean-architecture
vityaman Feb 13, 2025
1b41afb
Merge branch 'main' into 9056-clean-architecture
vityaman Feb 24, 2025
e397e49
#9056 Move ISqlCompletionEngine to complete module
vityaman Feb 24, 2025
14488b0
#9056 Merge ISqlCompletionEngine and ISqlContextInference tests
vityaman Feb 24, 2025
e6e5a95
#9056 Use ECandidateKind in tests
vityaman Feb 24, 2025
52196a7
#9056 Fix antlr_ast module implementation mismatch
vityaman Feb 26, 2025
98eb532
Merge branch 'main' into 9056-clean-architecture
vityaman Feb 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
set(GRAMMAR_STRING_CORE_SINGLE "~([']) | (QUOTE_SINGLE QUOTE_SINGLE)")
set(GRAMMAR_STRING_CORE_DOUBLE "~([\"]) | (QUOTE_DOUBLE QUOTE_DOUBLE)")
set(GRAMMAR_MULTILINE_COMMENT_CORE "MULTILINE_COMMENT | .")

configure_file(
${CMAKE_SOURCE_DIR}/yql/essentials/sql/v1/SQLv1Antlr4.g.in
${CMAKE_BINARY_DIR}/ydb/public/ydb_cli/commands/interactive/antlr_ast/gen/v1_ansi_antlr4/SQLv1Antlr4.g
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
LIBRARY()

SET(SQL_GRAMMAR ${ARCADIA_BUILD_ROOT}/${MODDIR}/SQLv1Antlr4.g4)

IF(EXPORT_CMAKE)
MANUAL_GENERATION(${SQL_GRAMMAR})
ELSE()
SET(GRAMMAR_STRING_CORE_SINGLE "\"~([']) | (QUOTE_SINGLE QUOTE_SINGLE)\"")
SET(GRAMMAR_STRING_CORE_DOUBLE "\"~([#DOUBLE_QUOTE#]) | (QUOTE_DOUBLE QUOTE_DOUBLE)\"")
SET(GRAMMAR_MULTILINE_COMMENT_CORE "\"MULTILINE_COMMENT | .\"")

CONFIGURE_FILE(${ARCADIA_ROOT}/yql/essentials/sql/v1/SQLv1Antlr4.g.in ${SQL_GRAMMAR})
ENDIF()

COPY_FILE(
${ARCADIA_ROOT}/ydb/public/lib/ydb_cli/commands/interactive/antlr_ast/org/antlr/v4/tool/templates/codegen/Cpp/Cpp.stg
${ARCADIA_BUILD_ROOT}/${MODDIR}/org/antlr/v4/tool/templates/codegen/Cpp/Cpp.stg
)

COPY_FILE(
${ARCADIA_ROOT}/ydb/public/lib/ydb_cli/commands/interactive/antlr_ast/org/antlr/v4/tool/templates/codegen/Cpp/Files.stg
${ARCADIA_BUILD_ROOT}/${MODDIR}/org/antlr/v4/tool/templates/codegen/Cpp/Files.stg
)

RUN_ANTLR4(
${SQL_GRAMMAR}
-no-listener
-package NALPAnsiAntlr4
-lib .
IN
${SQL_GRAMMAR}
${ARCADIA_BUILD_ROOT}/${MODDIR}/org/antlr/v4/tool/templates/codegen/Cpp/Cpp.stg
${ARCADIA_BUILD_ROOT}/${MODDIR}/org/antlr/v4/tool/templates/codegen/Cpp/Files.stg
OUT SQLv1Antlr4Parser.cpp SQLv1Antlr4Lexer.cpp SQLv1Antlr4Parser.h SQLv1Antlr4Lexer.h
CWD ${ARCADIA_BUILD_ROOT}/${MODDIR}
)

PEERDIR(
contrib/libs/antlr4_cpp_runtime
)

END()
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
set(GRAMMAR_STRING_CORE_SINGLE "~(['\\\\]) | (BACKSLASH .)")
set(GRAMMAR_STRING_CORE_DOUBLE "~([\"\\\\]) | (BACKSLASH .)")
set(GRAMMAR_MULTILINE_COMMENT_CORE ".")

configure_file(
${CMAKE_SOURCE_DIR}/yql/essentials/sql/v1/SQLv1Antlr4.g.in
${CMAKE_BINARY_DIR}/ydb/public/ydb_cli/commands/interactive/antlr_ast/gen/v1_antlr4/SQLv1Antlr4.g
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
LIBRARY()

SET(SQL_GRAMMAR ${ARCADIA_BUILD_ROOT}/${MODDIR}/SQLv1Antlr4.g)

IF(EXPORT_CMAKE)
MANUAL_GENERATION(${SQL_GRAMMAR})
ELSE()
SET(GRAMMAR_STRING_CORE_SINGLE "\"~(['#BACKSLASH#]) | (BACKSLASH .)\"")
SET(GRAMMAR_STRING_CORE_DOUBLE "\"~([#DOUBLE_QUOTE##BACKSLASH#]) | (BACKSLASH .)\"")
SET(GRAMMAR_MULTILINE_COMMENT_CORE "\".\"")

CONFIGURE_FILE(${ARCADIA_ROOT}/yql/essentials/sql/v1/SQLv1Antlr4.g.in ${SQL_GRAMMAR})
ENDIF()

COPY_FILE(
${ARCADIA_ROOT}/ydb/public/lib/ydb_cli/commands/interactive/antlr_ast/org/antlr/v4/tool/templates/codegen/Cpp/Cpp.stg
${ARCADIA_BUILD_ROOT}/${MODDIR}/org/antlr/v4/tool/templates/codegen/Cpp/Cpp.stg
)

COPY_FILE(
${ARCADIA_ROOT}/ydb/public/lib/ydb_cli/commands/interactive/antlr_ast/org/antlr/v4/tool/templates/codegen/Cpp/Files.stg
${ARCADIA_BUILD_ROOT}/${MODDIR}/org/antlr/v4/tool/templates/codegen/Cpp/Files.stg
)

RUN_ANTLR4(
${SQL_GRAMMAR}
-no-listener
-package NALPDefaultAntlr4
-lib .
IN
${SQL_GRAMMAR}
${ARCADIA_BUILD_ROOT}/${MODDIR}/org/antlr/v4/tool/templates/codegen/Cpp/Cpp.stg
${ARCADIA_BUILD_ROOT}/${MODDIR}/org/antlr/v4/tool/templates/codegen/Cpp/Files.stg
OUT SQLv1Antlr4Parser.cpp SQLv1Antlr4Lexer.cpp SQLv1Antlr4Parser.h SQLv1Antlr4Lexer.h
CWD ${ARCADIA_BUILD_ROOT}/${MODDIR}
)

PEERDIR(
contrib/libs/antlr4_cpp_runtime
)

END()
Loading