This is an automated email from the ASF dual-hosted git repository.
vldpyatkov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new e810b692686 IGNITE-28999 SQL Calcite: Plugable SQL grama (#13496)
e810b692686 is described below
commit e810b69268653c190aa453d63712613cca6c85c9
Author: Vladislav Pyatkov <[email protected]>
AuthorDate: Fri Aug 21 01:18:36 2026 +0300
IGNITE-28999 SQL Calcite: Plugable SQL grama (#13496)
---
modules/calcite/pom.xml | 11 +++++++
.../calcite/sql/ParserCodegenResourcesTest.java | 38 ++++++++++++++++++++++
.../ignite/testsuites/IgniteCalciteTestSuite.java | 2 ++
3 files changed, 51 insertions(+)
diff --git a/modules/calcite/pom.xml b/modules/calcite/pom.xml
index 53ea643b2ef..fcb063b8175 100644
--- a/modules/calcite/pom.xml
+++ b/modules/calcite/pom.xml
@@ -262,6 +262,17 @@
</dependencies>
<build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ <resource>
+ <directory>src/main/codegen</directory>
+ <targetPath>codegen</targetPath>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
diff --git
a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/sql/ParserCodegenResourcesTest.java
b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/sql/ParserCodegenResourcesTest.java
new file mode 100644
index 00000000000..eb34431d777
--- /dev/null
+++
b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/sql/ParserCodegenResourcesTest.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.query.calcite.sql;
+
+import
org.apache.ignite.internal.processors.query.calcite.sql.generated.IgniteSqlParserImpl;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotNull;
+
+/** Verifies that parser code generation inputs are published as module
resources. */
+public class ParserCodegenResourcesTest {
+ /** Verifies resources required to extend the Ignite SQL grammar. */
+ @Test public void testParserCodegenResourcesAvailable() {
+ assertResourceAvailable("/codegen/config.fmpp");
+ assertResourceAvailable("/codegen/includes/parserImpls.ftl");
+ }
+
+ /** Verifies that the given resource is available from the module class
path. */
+ private static void assertResourceAvailable(String path) {
+ assertNotNull("Missing parser code generation resource: " + path,
+ IgniteSqlParserImpl.class.getResource(path));
+ }
+}
diff --git
a/modules/calcite/src/test/java/org/apache/ignite/testsuites/IgniteCalciteTestSuite.java
b/modules/calcite/src/test/java/org/apache/ignite/testsuites/IgniteCalciteTestSuite.java
index f9747dd0750..d1417c7d124 100644
---
a/modules/calcite/src/test/java/org/apache/ignite/testsuites/IgniteCalciteTestSuite.java
+++
b/modules/calcite/src/test/java/org/apache/ignite/testsuites/IgniteCalciteTestSuite.java
@@ -20,6 +20,7 @@ package org.apache.ignite.testsuites;
import
org.apache.ignite.internal.processors.query.calcite.exec.LogicalRelImplementorTest;
import
org.apache.ignite.internal.processors.query.calcite.exec.NumericTypesPrecisionsTest;
import
org.apache.ignite.internal.processors.query.calcite.message.CalciteCommunicationMessageSerializationTest;
+import
org.apache.ignite.internal.processors.query.calcite.sql.ParserCodegenResourcesTest;
import
org.apache.ignite.internal.processors.query.calcite.sql.SqlCustomParserTest;
import
org.apache.ignite.internal.processors.query.calcite.sql.SqlReservedWordsTest;
import
org.apache.ignite.internal.processors.query.calcite.sql.SqlSelectForUpdateParserTest;
@@ -36,6 +37,7 @@ import org.junit.runners.Suite;
@Suite.SuiteClasses({
UtilTestSuite.class,
+ ParserCodegenResourcesTest.class,
SqlCustomParserTest.class,
SqlReservedWordsTest.class,
SqlSelectForUpdateParserTest.class,