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.