Hi,
I have created and defined customsqlfunction
IGNITE_HOME=apache-ignite-2.7.6-bin
added Function jar at apache-ignite-2.7.6-bin\libs
And added cache configuration in default-config
<bean id="grid.cfg"
class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="cacheConfiguration">
<list>
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="MyTemplateFunction"/>
<property name="cacheMode" value="PARTITIONED" />
<property name="backups" value="1" />
<property name="sqlFunctionClasses"
value="org.mycustomsqlfunction.MyCustomSQLFunction"/>
</bean>
</list>
</property>
</bean>
And also added in .Net client and Server config files node like this
<property name="cacheConfiguration">
<list>
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="MyTemplateFunction"/>
<property name="cacheMode" value="PARTITIONED" />
<property name="backups" value="1" />
<property name="sqlFunctionClasses"
value="org.mycustomsqlfunction.MyCustomSQLFunction"/>
</bean>
</list>
</property>
*Java class file*
package org.mycustomsqlfunction;
import org.apache.ignite.cache.query.annotations.QuerySqlFunction;
public class MyCustomSQLFunction {
@QuerySqlFunction
public static String Custom_Json_Value(String payload,String fieldName)
{
System.out.println(payload);
System.out.println(fieldName);
return "Test";
}
}
But while running query getting error column not found:
0: jdbc:ignite:thin://127.0.0.1/> select
"MyTemplateFunction".Custom_Json_Value("","");
Error: Failed to parse query. Column not found; SQL statement:
select "MyTemplateFunction".Custom_Json_Value("","") [42122-197]
(state=42000,code=1001)
java.sql.SQLException: Failed to parse query. Column not found; SQL
statement:
select "MyTemplateFunction".Custom_Json_Value("","") [42122-197]
at
org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
at
org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
at
org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
at sqlline.Commands.execute(Commands.java:823)
at sqlline.Commands.sql(Commands.java:733)
at sqlline.SqlLine.dispatch(SqlLine.java:795)
at sqlline.SqlLine.begin(SqlLine.java:668)
at sqlline.SqlLine.start(SqlLine.java:373)
at sqlline.SqlLine.main(SqlLine.java:265)
0: jdbc:ignite:thin://127.0.0.1/>
what am i doing wrong.please help.
Thanks.
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/