ivandasch commented on a change in pull request #9412:
URL: https://github.com/apache/ignite/pull/9412#discussion_r710976786
##########
File path: modules/calcite/src/main/codegen/includes/parserImpls.ftl
##########
@@ -391,3 +391,111 @@ SqlDrop SqlDropUser(Span s, boolean replace) :
return new IgniteSqlDropUser(s.end(this), user);
}
}
+
+SqlNumericLiteral QueryIdLiteral() :
+{
+ final Span s;
+}
+{
+ <PLUS> <UNSIGNED_INTEGER_LITERAL> {
+ return SqlLiteral.createExactNumeric(token.image, getPos());
+ }
+|
+ <MINUS> { s = span(); } <UNSIGNED_INTEGER_LITERAL> {
+ return
SqlLiteral.createNegative(SqlLiteral.createExactNumeric(token.image, getPos()),
s.end(this));
+ }
+|
+ <UNSIGNED_INTEGER_LITERAL> {
+ return SqlLiteral.createExactNumeric(token.image, getPos());
+ }
+}
+
+SqlNode SqlKillScanQuery():
+{
+ final Span s;
+ final SqlCharStringLiteral originNodeId;
+ final SqlCharStringLiteral cacheName;
+ final SqlNumericLiteral queryId;
+ final String rawUuid;
+}{
+ <KILL> { s = span(); } <SCAN>
+ <QUOTED_STRING> {
+ rawUuid = SqlParserUtil.parseString(token.image);
+ if (!IgniteSqlKill.isUuid(rawUuid)) {
+ throw SqlUtil.newContextException(getPos(),
IgniteResource.INSTANCE.illegalUuid(rawUuid));
+ }
+ originNodeId = SqlLiteral.createCharString(rawUuid, getPos());
+ }
+ <QUOTED_STRING> {
+ cacheName =
SqlLiteral.createCharString(SqlParserUtil.parseString(token.image), getPos());
+ }
+ queryId = QueryIdLiteral() {
+ return IgniteSqlKill.createScanQueryKill(s.end(this), originNodeId,
cacheName, queryId);
+ }
+}
+
+SqlNode SqlKillContinuousQuery():
+{
+ final Span s;
+ final SqlCharStringLiteral originNodeId;
+ final SqlCharStringLiteral routineId;
+ String rawUuid;
+}{
+ <KILL> { s = span(); } <CONTINUOUS>
+ <QUOTED_STRING> {
+ rawUuid = SqlParserUtil.parseString(token.image);
Review comment:
`SqlParserUtil` is internal Calcite class, we have `SqlParserUtils`. Is
it OK to import it?
If ok, great, I'll add to `SqlParserUtils` these methods
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]