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

dspavlov 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 9d67e0d1349 IGNITE-24401 Document nested SQL in Calcite UDFs (#13248)
9d67e0d1349 is described below

commit 9d67e0d13499f7408feddd93a749a7ff0d687a81
Author: ignitetcbot <[email protected]>
AuthorDate: Mon Aug 10 12:49:00 2026 +0300

    IGNITE-24401 Document nested SQL in Calcite UDFs (#13248)
    
    Codex co-authored-by: Dmitriy Pavlov <[email protected]>
---
 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.

Reply via email to