This is an automated email from the ASF dual-hosted git repository.

korlov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 1a9b4b2bfd2 IGNITE-27245 Sql. Use SqlQueryType#displayName in log and 
error messages (#7145)
1a9b4b2bfd2 is described below

commit 1a9b4b2bfd28e68ac80521b30435072c70485b94
Author: korlov42 <[email protected]>
AuthorDate: Fri Dec 5 10:56:05 2025 +0200

    IGNITE-27245 Sql. Use SqlQueryType#displayName in log and error messages 
(#7145)
---
 .../java/org/apache/ignite/jdbc/ItJdbcBatchSelfTest.java   | 14 +++++++-------
 .../java/org/apache/ignite/jdbc/ItJdbcKillCommandTest.java |  2 +-
 .../org/apache/ignite/jdbc/ItJdbcStatementSelfTest.java    |  6 +++---
 .../platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs   |  2 +-
 .../ignite/internal/rest/sql/ItSqlQueryControllerTest.java |  2 +-
 .../app/client/ItThinClientMultistatementSqlTest.java      |  2 +-
 .../internal/runner/app/client/ItThinClientSqlTest.java    | 12 ++++++------
 .../apache/ignite/internal/sql/api/ItSqlApiBaseTest.java   |  4 ++--
 .../internal/sql/engine/ItSqlMultiStatementTest.java       |  4 ++--
 .../ignite/internal/sql/engine/ItSqlQueryEventLogTest.java |  2 +-
 .../systemviews/ItCachedQueryPlansSystemViewTest.java      |  8 ++++----
 .../sql/engine/systemviews/ItSqlQueriesSystemViewTest.java | 14 +++++++-------
 .../ignite/internal/sql/engine/QueryEventsFactory.java     |  2 +-
 .../ignite/internal/sql/engine/SqlQueriesViewProvider.java |  4 ++--
 .../internal/sql/engine/exec/fsm/ValidationHelper.java     |  9 ++++++++-
 15 files changed, 47 insertions(+), 40 deletions(-)

diff --git 
a/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcBatchSelfTest.java
 
b/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcBatchSelfTest.java
index 15a8ba562dc..866f0df79ef 100644
--- 
a/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcBatchSelfTest.java
+++ 
b/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcBatchSelfTest.java
@@ -251,7 +251,7 @@ public class ItJdbcBatchSelfTest extends 
AbstractJdbcSelfTest {
 
             assertEquals(0, updCnts.length, "Invalid update counts size");
 
-            assertThat(e.getMessage(), containsString("Invalid SQL statement 
type"));
+            assertThat(e.getMessage(), containsString("Statement of type 
\"Query\" is not allowed in current context"));
 
             assertEquals(SqlStateCode.INTERNAL_ERROR, e.getSQLState(), 
"Invalid SQL state.");
             assertEquals(IgniteQueryErrorCode.UNKNOWN, e.getErrorCode(), 
"Invalid error code.");
@@ -310,7 +310,7 @@ public class ItJdbcBatchSelfTest extends 
AbstractJdbcSelfTest {
 
         BatchUpdateException e = assertThrowsSqlException(
                 BatchUpdateException.class,
-                "Invalid SQL statement type",
+                "Statement of type \"Query\" is not allowed in current 
context",
                 stmt::executeBatch);
 
         int[] updCnts = e.getUpdateCounts();
@@ -941,19 +941,19 @@ public class ItJdbcBatchSelfTest extends 
AbstractJdbcSelfTest {
     private static List<Arguments> forbiddenStatements() {
         return List.of(
                 Arguments.of("SELECT * FROM Person",
-                        "Invalid SQL statement type."),
+                        "Statement of type \"Query\" is not allowed in current 
context"),
 
                 Arguments.of("EXPLAIN PLAN FOR DELETE FROM Person",
-                        "Invalid SQL statement type."),
+                        "Statement of type \"Explain\" is not allowed in 
current context"),
 
                 Arguments.of("START TRANSACTION",
-                        "Invalid SQL statement type. Expected [DML, DDL, KILL] 
but got TX_CONTROL."),
+                        "Statement of type \"Transaction control statement\" 
is not allowed in current context"),
 
                 Arguments.of("COMMIT",
-                        "Invalid SQL statement type. Expected [DML, DDL, KILL] 
but got TX_CONTROL."),
+                        "Statement of type \"Transaction control statement\" 
is not allowed in current context"),
 
                 Arguments.of("START TRANSACTION; COMMIT",
-                        "Invalid SQL statement type. Expected [DML, DDL, KILL] 
but got TX_CONTROL.")
+                        "Statement of type \"Transaction control statement\" 
is not allowed in current context")
         );
     }
 }
diff --git 
a/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcKillCommandTest.java
 
b/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcKillCommandTest.java
index 76a162bcfc8..733e363af3c 100644
--- 
a/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcKillCommandTest.java
+++ 
b/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcKillCommandTest.java
@@ -79,7 +79,7 @@ public class ItJdbcKillCommandTest extends 
AbstractJdbcSelfTest {
     public void killUsingExecuteQueryIsForbidden() throws SQLException {
         try (Statement stmt = conn.createStatement()) {
             //noinspection ThrowableNotThrown
-            assertThrowsSqlException("Invalid SQL statement type.",
+            assertThrowsSqlException("Statement of type \"Kill\" is not 
allowed in current context",
                     () -> stmt.executeQuery("KILL QUERY '" + UUID.randomUUID() 
+ "'")
             );
         }
diff --git 
a/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcStatementSelfTest.java
 
b/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcStatementSelfTest.java
index e2f022ec48b..e23e57da14c 100644
--- 
a/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcStatementSelfTest.java
+++ 
b/modules/jdbc/src/integrationTest/java/org/apache/ignite/jdbc/ItJdbcStatementSelfTest.java
@@ -510,7 +510,7 @@ public class ItJdbcStatementSelfTest extends 
ItJdbcAbstractStatementSelfTest {
         final String sqlText = "select * from TEST;";
 
         assertThrowsSqlException(
-                "Invalid SQL statement type",
+                "Statement of type \"Query\" is not allowed in current 
context",
                 () -> stmt.executeUpdate(sqlText));
     }
 
@@ -786,7 +786,7 @@ public class ItJdbcStatementSelfTest extends 
ItJdbcAbstractStatementSelfTest {
         stmt.executeQuery("select 1;");
 
         assertThrowsSqlException(
-                "Invalid SQL statement type",
+                "Statement of type \"Query\" is not allowed in current 
context",
                 () -> stmt.executeUpdate("select 1;")
         );
 
@@ -796,7 +796,7 @@ public class ItJdbcStatementSelfTest extends 
ItJdbcAbstractStatementSelfTest {
     @Test
     public void testStatementTypeMismatchUpdate() throws Exception {
         assertThrowsSqlException(
-                "Invalid SQL statement type",
+                "Statement of type \"DML\" is not allowed in current context",
                 () -> stmt.executeQuery("update TEST set NAME='28' where ID=1")
         );
 
diff --git a/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs 
b/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs
index c5ff7b5277f..51e0e8d7042 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs
@@ -759,7 +759,7 @@ namespace Apache.Ignite.Tests.Sql
             var ex = Assert.ThrowsAsync<SqlBatchException>(
                 async () => await Client.Sql.ExecuteBatchAsync(null, "select 
1", [[1]]));
 
-            Assert.AreEqual("Invalid SQL statement type. Expected [DML] but 
got QUERY.", ex.Message);
+            Assert.AreEqual("Statement of type \"Query\" is not allowed in 
current context [allowedTypes=[DML]].", ex.Message);
         }
 
         [Test]
diff --git 
a/modules/rest/src/integrationTest/java/org/apache/ignite/internal/rest/sql/ItSqlQueryControllerTest.java
 
b/modules/rest/src/integrationTest/java/org/apache/ignite/internal/rest/sql/ItSqlQueryControllerTest.java
index a700517cb8c..05a218e0f02 100644
--- 
a/modules/rest/src/integrationTest/java/org/apache/ignite/internal/rest/sql/ItSqlQueryControllerTest.java
+++ 
b/modules/rest/src/integrationTest/java/org/apache/ignite/internal/rest/sql/ItSqlQueryControllerTest.java
@@ -73,7 +73,7 @@ public class ItSqlQueryControllerTest extends 
ClusterPerClassIntegrationTest {
 
             assertThat(queryInfo, notNullValue());
             assertThat(queryInfo.schema(), is("PUBLIC"));
-            assertThat(queryInfo.type(), is("QUERY"));
+            assertThat(queryInfo.type(), is("Query"));
         }
     }
 
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMultistatementSqlTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMultistatementSqlTest.java
index 32e93d14e77..8e381b20d80 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMultistatementSqlTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMultistatementSqlTest.java
@@ -233,7 +233,7 @@ public class ItThinClientMultistatementSqlTest extends 
ItAbstractThinClientTest
 
             assertThrowsSqlException(
                     STMT_VALIDATION_ERR,
-                    "Invalid SQL statement type.",
+                    "Statement of type \"Transaction control statement\" is 
not allowed in current context",
                     () -> runSql((Transaction) null, null, modifiers, query)
             );
         }
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSqlTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSqlTest.java
index 1e2ec681cfc..ad1bd9371ab 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSqlTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSqlTest.java
@@ -782,13 +782,13 @@ public class ItThinClientSqlTest extends 
ItAbstractThinClientTest {
             IgniteTestUtils.assertThrows(
                     SqlException.class,
                     () -> check.accept(ddlStatement, selectType),
-                    "Invalid SQL statement type"
+                    "Statement of type \"DDL\" is not allowed in current 
context"
             );
 
             IgniteTestUtils.assertThrows(
                     SqlException.class,
                     () -> check.accept(ddlStatement, dmlType),
-                    "Invalid SQL statement type"
+                    "Statement of type \"DDL\" is not allowed in current 
context"
             );
         }
 
@@ -797,13 +797,13 @@ public class ItThinClientSqlTest extends 
ItAbstractThinClientTest {
             IgniteTestUtils.assertThrows(
                     SqlException.class,
                     () -> check.accept(dmlStatement, selectType),
-                    "Invalid SQL statement type"
+                    "Statement of type \"DML\" is not allowed in current 
context"
             );
 
             IgniteTestUtils.assertThrows(
                     SqlException.class,
                     () -> check.accept(dmlStatement, ddlType),
-                    "Invalid SQL statement type"
+                    "Statement of type \"DML\" is not allowed in current 
context"
             );
         }
 
@@ -812,13 +812,13 @@ public class ItThinClientSqlTest extends 
ItAbstractThinClientTest {
             IgniteTestUtils.assertThrows(
                     SqlException.class,
                     () -> check.accept(selectStatement, dmlType),
-                    "Invalid SQL statement type"
+                    "Statement of type \"Query\" is not allowed in current 
context"
             );
 
             IgniteTestUtils.assertThrows(
                     SqlException.class,
                     () -> check.accept(selectStatement, ddlType),
-                    "Invalid SQL statement type"
+                    "Statement of type \"Query\" is not allowed in current 
context"
             );
         }
 
diff --git 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlApiBaseTest.java
 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlApiBaseTest.java
index 9944f2e6a3c..f79760dca34 100644
--- 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlApiBaseTest.java
+++ 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlApiBaseTest.java
@@ -627,13 +627,13 @@ public abstract class ItSqlApiBaseTest extends 
BaseSqlIntegrationTest {
         assertThrowsSqlException(
                 SqlBatchException.class,
                 Sql.STMT_VALIDATION_ERR,
-                "Invalid SQL statement type",
+                "Statement of type \"Query\" is not allowed in current 
context",
                 () -> executeBatch("SELECT * FROM TEST", args));
 
         assertThrowsSqlException(
                 SqlBatchException.class,
                 Sql.STMT_VALIDATION_ERR,
-                "Invalid SQL statement type",
+                "Statement of type \"DDL\" is not allowed in current context",
                 () -> executeBatch("CREATE TABLE TEST1(ID INT PRIMARY KEY, 
VAL0 INT)", args));
 
         // Check that statement parameters taken into account.
diff --git 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlMultiStatementTest.java
 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlMultiStatementTest.java
index 3d3f630f0f4..3f8f79b111e 100644
--- 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlMultiStatementTest.java
+++ 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlMultiStatementTest.java
@@ -349,13 +349,13 @@ public class ItSqlMultiStatementTest extends 
BaseSqlMultiStatementTest {
 
         assertThrowsSqlException(
                 STMT_VALIDATION_ERR,
-                "Invalid SQL statement type. Expected [QUERY] but got DML.",
+                "Statement of type \"DML\" is not allowed in current context",
                 () -> runner.apply(properties, "UPDATE xxx SET id = 1; SELECT 
1;")
         );
 
         assertThrowsSqlException(
                 STMT_VALIDATION_ERR,
-                "Invalid SQL statement type. Expected [QUERY] but got 
TX_CONTROL.",
+                "Statement of type \"Transaction control statement\" is not 
allowed in current context",
                 () -> runner.apply(properties, "START TRANSACTION; SELECT 1; 
COMMIT;")
         );
 
diff --git 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlQueryEventLogTest.java
 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlQueryEventLogTest.java
index 0c39a87125c..973f4bf5a91 100644
--- 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlQueryEventLogTest.java
+++ 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSqlQueryEventLogTest.java
@@ -395,7 +395,7 @@ public class ItSqlQueryEventLogTest extends 
BaseSqlIntegrationTest {
         fieldsChecker.verify(FieldNames.SCHEMA, "PUBLIC");
         fieldsChecker.verify(FieldNames.PARENT_ID, parentId);
         fieldsChecker.verify(FieldNames.STATEMENT_NUMBER, statementNum);
-        fieldsChecker.verify(FieldNames.TYPE, queryType == null ? null : 
queryType.name());
+        fieldsChecker.verify(FieldNames.TYPE, queryType == null ? null : 
queryType.displayName());
         fieldsChecker.matches(FieldNames.START_TIME, "\\d+");
 
         if (checkImplicitTx) {
diff --git 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItCachedQueryPlansSystemViewTest.java
 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItCachedQueryPlansSystemViewTest.java
index 541ee48e5b9..84e6a8c792a 100644
--- 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItCachedQueryPlansSystemViewTest.java
+++ 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItCachedQueryPlansSystemViewTest.java
@@ -91,10 +91,10 @@ public class ItCachedQueryPlansSystemViewTest extends 
AbstractSystemViewTest {
                         + "FROM (VALUES ROW(1, 2)) AS `T` (`X`, `Y`)", "DML", 
plan4)
                 .returns(node1, v2, "PUBLIC", "SELECT *\n"
                         + "FROM `TEST_TABLE`\n"
-                        + "WHERE `ID` = 1", "QUERY", plan5)
-                .returns(node1, v1, "PUBLIC", "SELECT 1", "QUERY", plan1)
-                .returns(node2, v1, "PUBLIC", "SELECT 2", "QUERY", plan2)
-                .returns(node1, v2, "TEST_SCHEMA", "SELECT 3", "QUERY", plan3)
+                        + "WHERE `ID` = 1", "Query", plan5)
+                .returns(node1, v1, "PUBLIC", "SELECT 1", "Query", plan1)
+                .returns(node2, v1, "PUBLIC", "SELECT 2", "Query", plan2)
+                .returns(node1, v2, "TEST_SCHEMA", "SELECT 3", "Query", plan3)
                 .ordered()
                 .check();
     }
diff --git 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItSqlQueriesSystemViewTest.java
 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItSqlQueriesSystemViewTest.java
index 0bf3d407015..114bd0dd725 100644
--- 
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItSqlQueriesSystemViewTest.java
+++ 
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItSqlQueriesSystemViewTest.java
@@ -128,7 +128,7 @@ public class ItSqlQueriesSystemViewTest extends 
AbstractSystemViewTest {
             assertThat(res, hasSize(1));
 
             verifyQueryInfo(res.get(0), initiator.name(), schema, query, 
tsBefore, tsAfter,
-                    equalTo(tx.id().toString()), SqlQueryType.QUERY.name(), 
null);
+                    equalTo(tx.id().toString()), 
SqlQueryType.QUERY.displayName(), null);
         } finally {
             tx.rollback();
         }
@@ -146,7 +146,7 @@ public class ItSqlQueriesSystemViewTest extends 
AbstractSystemViewTest {
             assertThat(res, hasSize(1));
 
             verifyQueryInfo(res.get(0), initiator.name(), schema, query, 
tsBefore, tsAfter,
-                    hasLength(36), SqlQueryType.QUERY.name(), null);
+                    hasLength(36), SqlQueryType.QUERY.displayName(), null);
         }
     }
 
@@ -198,7 +198,7 @@ public class ItSqlQueriesSystemViewTest extends 
AbstractSystemViewTest {
                 List<Object> row = res.get(i);
 
                 verifyQueryInfo(row, initiator.name(), 
SqlCommon.DEFAULT_SCHEMA_NAME, expectedQueries.get(i), timeBefore, timeAfter,
-                        hasLength(36), (i == 1 ? SqlQueryType.DML : 
SqlQueryType.QUERY).name(), i);
+                        hasLength(36), (i == 1 ? SqlQueryType.DML : 
SqlQueryType.QUERY).displayName(), i);
 
                 transactionIds.add((String) row.get(7));
             }
@@ -238,7 +238,7 @@ public class ItSqlQueriesSystemViewTest extends 
AbstractSystemViewTest {
         waitUntilRunningQueriesCount(is(4));
 
         String sql = "SELECT * FROM SYSTEM.SQL_QUERIES "
-                + "WHERE PARENT_ID=(SELECT ID FROM SYSTEM.SQL_QUERIES WHERE 
TYPE='SCRIPT') "
+                + "WHERE PARENT_ID=(SELECT ID FROM SYSTEM.SQL_QUERIES WHERE 
TYPE='Script') "
                 + "ORDER BY STATEMENT_NUM";
 
         List<List<Object>> res = sql(0, sql);
@@ -249,13 +249,13 @@ public class ItSqlQueriesSystemViewTest extends 
AbstractSystemViewTest {
 
         // Expecting 3 queries with same transaction.
         verifyQueryInfo(row, initiator.name(), SqlCommon.DEFAULT_SCHEMA_NAME, 
"INSERT INTO test VALUES (0), (1);",
-                timeBefore, timeAfter, hasLength(36), SqlQueryType.DML.name(), 
1);
+                timeBefore, timeAfter, hasLength(36), 
SqlQueryType.DML.displayName(), 1);
 
         verifyQueryInfo(res.get(1), initiator.name(), 
SqlCommon.DEFAULT_SCHEMA_NAME, "SELECT * FROM test;",
-                timeBefore, timeAfter, equalTo((String) row.get(7)), 
SqlQueryType.QUERY.name(), 3);
+                timeBefore, timeAfter, equalTo((String) row.get(7)), 
SqlQueryType.QUERY.displayName(), 3);
 
         verifyQueryInfo(res.get(2), initiator.name(), 
SqlCommon.DEFAULT_SCHEMA_NAME, "INSERT INTO test VALUES (2), (3);",
-                timeBefore, timeAfter, equalTo((String) row.get(7)), 
SqlQueryType.DML.name(), 4);
+                timeBefore, timeAfter, equalTo((String) row.get(7)), 
SqlQueryType.DML.displayName(), 4);
 
         for (AsyncSqlCursor<InternalSqlRow> cursor : cursors) {
             await(cursor.closeAsync());
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/QueryEventsFactory.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/QueryEventsFactory.java
index 6876e05ef2f..1ff9e06ad00 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/QueryEventsFactory.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/QueryEventsFactory.java
@@ -59,7 +59,7 @@ public class QueryEventsFactory {
 
         SqlQueryType queryType = queryInfo.queryType();
 
-        fields.put(FieldNames.TYPE, queryType == null ? null : 
queryType.name());
+        fields.put(FieldNames.TYPE, queryType == null ? null : 
queryType.displayName());
 
         Throwable error = queryInfo.error();
 
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueriesViewProvider.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueriesViewProvider.java
index 072edc4bec1..b692eafdca6 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueriesViewProvider.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueriesViewProvider.java
@@ -41,7 +41,7 @@ import org.jetbrains.annotations.Nullable;
 
 /** Provider that creates system view exposing queries running on a node. */
 public class SqlQueriesViewProvider {
-    public static final String SCRIPT_QUERY_TYPE = "SCRIPT";
+    public static final String SCRIPT_QUERY_TYPE = "Script";
 
     private static final NativeType TIMESTAMP_TYPE = 
NativeTypes.timestamp(NativeTypes.MAX_TIME_PRECISION);
 
@@ -154,7 +154,7 @@ public class SqlQueriesViewProvider {
     }
 
     private static String mapQueryType(SqlQueryType type) {
-        return type.toString();
+        return type.displayName();
     }
 
     private static @Nullable String mapQueryPlan(QueryPlan plan) {
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/fsm/ValidationHelper.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/fsm/ValidationHelper.java
index 5c948ddd963..60e0f433e86 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/fsm/ValidationHelper.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/fsm/ValidationHelper.java
@@ -21,6 +21,7 @@ import static 
org.apache.ignite.internal.lang.IgniteStringFormatter.format;
 import static org.apache.ignite.lang.ErrorGroups.Sql.STMT_VALIDATION_ERR;
 
 import java.util.Set;
+import java.util.stream.Collectors;
 import org.apache.ignite.internal.sql.engine.SqlProperties;
 import org.apache.ignite.internal.sql.engine.SqlQueryType;
 import org.apache.ignite.internal.sql.engine.sql.ParsedResult;
@@ -75,7 +76,13 @@ public final class ValidationHelper {
             SqlQueryType queryType
     ) {
         if (!allowedTypes.contains(queryType)) {
-            String message = format("Invalid SQL statement type. Expected {} 
but got {}.", allowedTypes, queryType);
+            String allowedTypesString = allowedTypes.stream()
+                    .map(SqlQueryType::displayName)
+                    .collect(Collectors.joining(", ", "[", "]"));
+
+            String message = format(
+                    "Statement of type \"{}\" is not allowed in current 
context [allowedTypes={}].",
+                    queryType.displayName(), allowedTypesString);
 
             throw new SqlException(STMT_VALIDATION_ERR, message);
         }

Reply via email to