You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by zs...@apache.org on 2026/08/11 06:07:57 UTC

(ignite) branch ignite-2.18 updated: IGNITE-24401 Document nested SQL in Calcite UDFs (#13248)

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

zstan pushed a commit to branch ignite-2.18
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/ignite-2.18 by this push:
     new e4b80f2e99a IGNITE-24401 Document nested SQL in Calcite UDFs (#13248)
e4b80f2e99a is described below

commit e4b80f2e99a22c1c1406b9f4bb42a997de819622
Author: ignitetcbot <43...@users.noreply.github.com>
AuthorDate: Mon Aug 10 12:49:00 2026 +0300

    IGNITE-24401 Document nested SQL in Calcite UDFs (#13248)
    
    Codex co-authored-by: Dmitriy Pavlov <dp...@apache.org>
    
    (cherry picked from commit 9d67e0d13499f7408feddd93a749a7ff0d687a81)
---
 docs/_docs/SQL/custom-sql-func.adoc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/docs/_docs/SQL/custom-sql-func.adoc b/docs/_docs/SQL/custom-sql-func.adoc
index 93320c072ab..86a15bb540f 100644
--- a/docs/_docs/SQL/custom-sql-func.adoc
+++ b/docs/_docs/SQL/custom-sql-func.adoc
@@ -68,4 +68,8 @@ NOTE: Creating custom functions in the system schema is forbidden. Creating a cu
 
 NOTE: The table functions and application attributes are currently available only with link:SQL/sql-calcite[Calcite, window=_blank].
 
+NOTE: With link:SQL/sql-calcite[Calcite, window=_blank], a custom SQL function can execute nested SQL queries through Ignite APIs such as `SqlFieldsQuery` only when the blocking query task executor is enabled with the `-DIGNITE_CALCITE_USE_QUERY_BLOCKING_TASK_EXECUTOR=true` system property. The default striped query task executor can lead to deadlocks for queries started from user-defined functions.
+
+NOTE: When nested SQL queries are executed from user-defined functions, configure `IgniteConfiguration.QueryThreadPoolSize` so it is greater than the maximum number of concurrent queries initiated from UDFs. Otherwise, nested queries can fail because of query thread pool starvation.
+
 NOTE: Classes registered with `CacheConfiguration.setSqlFunctionClasses(...)` must be added to the classpath of all the nodes where the defined custom functions might be executed. Otherwise, you will get a `ClassNotFoundException` error when trying to execute the custom function.