You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ignite TC Bot (Jira)" <ji...@apache.org> on 2026/02/02 06:57:00 UTC

[jira] [Commented] (IGNITE-27412) Calcite engine. Problem with serialization of plans containing UDF with schema

    [ https://issues.apache.org/jira/browse/IGNITE-27412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18055861#comment-18055861 ] 

Ignite TC Bot commented on IGNITE-27412:
----------------------------------------

{panel:title=Branch: [pull/12665/head] Base: [master] : No blockers found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/12665/head] Base: [master] : New Tests (2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Calcite SQL{color} [[tests 2|https://ci2.ignite.apache.org/viewLog.html?buildId=8829067]]
* {color:#013220}IgniteCalciteTestSuite: SerializationPlannerTest.testUdfWithSchemaSerialization - PASSED{color}
* {color:#013220}IgniteCalciteTestSuite: UserDefinedFunctionsIntegrationTest.testUdfAnotherSchema - PASSED{color}

{panel}
[TeamCity *--&gt; Run :: All* Results|https://ci2.ignite.apache.org/viewLog.html?buildId=8827386&amp;buildTypeId=IgniteTests24Java8_RunAll]

> Calcite engine. Problem with serialization of plans containing UDF with schema 
> -------------------------------------------------------------------------------
>
>                 Key: IGNITE-27412
>                 URL: https://issues.apache.org/jira/browse/IGNITE-27412
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Aleksey Plekhanov
>            Assignee: Aleksey Plekhanov
>            Priority: Major
>              Labels: calcite, ise
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Reproducer:
> {code:java}
> @Test
> public void testUdf() throws Exception {
>     client.getOrCreateCache(new CacheConfiguration<Integer, Object>("emp")
>         .setSqlSchema("EMP")
>         .setIndexedTypes(Integer.class, Employer.class));
>     client.getOrCreateCache(new CacheConfiguration<Integer, Object>("udf")
>         .setSqlSchema("UDF")
>         .setSqlFunctionClasses(MulFunctionsLibrary.class));
>     for (int i = 0; i < 3; i++)
>         client.cache("emp").put(i, new Employer("emp" + i, (double)i));
>     assertQuery("SELECT udf.mul(_key, _key) FROM emp.Employer")
>         .returns(0).returns(1).returns(4).check();
> } {code}
> Throws:
> {noformat}
> Caused by: java.lang.RuntimeException: Property 'org.apache.calcite.sql.validate.SqlUserDefinedFunction' not valid as the default constructor is necessary, but not found in the class of 'org.apache.calcite.sql.validate.SqlUserDefinedFunction'
> 	at org.apache.calcite.avatica.AvaticaUtils.instantiatePlugin(AvaticaUtils.java:274)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJson.toOp(RelJson.java:591)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJson.toRex(RelJson.java:485)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonReader$RelInputImpl.getExpressionList(RelJsonReader.java:258)
> 	at org.apache.ignite.internal.processors.query.calcite.trait.TraitUtils$1.getExpressionList(TraitUtils.java:334)
> 	at org.apache.ignite.internal.processors.query.calcite.rel.ProjectableFilterableTableScan.<init>(ProjectableFilterableTableScan.java:87)
> 	at org.apache.ignite.internal.processors.query.calcite.rel.IgniteTableScan.<init>(IgniteTableScan.java:46){noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)