[ https://issues.apache.org/jira/browse/PHOENIX-4866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Istvan Toth updated PHOENIX-4866: --------------------------------- Comment: was deleted (was: I have skimmed the code to see the where else EMPTY_TABLE_RESOLVER is used. It seems that the same issue affects upserts too. {code:java} //UDFs in upserts stmt.executeUpdate("upsert into t values (10, myreverse2('rtz'), myreverse2('bnm'))"); assertTrue(stmt.getUpdateCount()==1); rs = stmt.executeQuery("select * from t where id = 10"); assertEquals(10, rs.getInt(1)); assertEquals("ztr", rs.getString(2)); assertEquals("mnb", rs.getString(3)); assertFalse(rs.next());{code} It also seems to be used during table creation, but I haven't followed that path. Could you fix the upsert case, and check if create table has similar issues ? ) > UDFs get error: org.apache.phoenix.schema.FunctionNotFoundException: ERROR > 6001 (42F01): Function undefined > ----------------------------------------------------------------------------------------------------------- > > Key: PHOENIX-4866 > URL: https://issues.apache.org/jira/browse/PHOENIX-4866 > Project: Phoenix > Issue Type: Bug > Affects Versions: 5.0.0 > Environment: [^ArrayDistinctFunction.java] > Reporter: cherish peng > Assignee: Richard Antal > Priority: Blocker > Labels: User-Defined-Function, functions, udfs > Fix For: 5.0.0 > > Attachments: ArrayDistinctFunction.java, PHOENIX-4866.master.v1.patch > > Original Estimate: 72h > Remaining Estimate: 72h > > I built an udf `ARRAY_DISTINCT`, When i exec: > {color:#d04437}①{color} SELECT ARRAY_DISTINCT(ARRAY['A', 'B', 'A', 'C'], > TRUE); > throw error: > > {code:java} > org.apache.phoenix.schema.FunctionNotFoundException: ERROR 6001 (42F01): > Function undefined. functionName=ARRAY_DISTINCT at > org.apache.phoenix.compile.FromCompiler$1.resolveFunction(FromCompiler.java:134) > at > org.apache.phoenix.compile.ExpressionCompiler.visitLeave(ExpressionCompiler.java:327) > {code} > > However when i exec: > {color:#d04437}②{color} SELECT ARRAY_DISTINCT(ARRAY['A', 'B', 'A', 'C'], > TRUE) {color:#f79232}FROM TABLE_NAME;{color} > output: > *+---------------------+* > *|* *ARRAY['A','B','C']* *|* > *+---------------------+* > *+---------------------+* > > {color:#d04437}③{color} SELECT > ARRAY_DISTINCT({color:#f79232}array_elements{color}, TRUE) as arr > {color:#f79232}FROM TABLE_NAME;{color}** > {color:#f79232}output:{color} > *+---------------------+* > *| ARR* * ** |* > *+---------------------+* > *| ARRAY['A','B','C'] |*** > *+---------------------+* > > The DDL: > CREATE FUNCTION ARRAY_DISTINCT(VARCHAR[], BOOLEAN) RETURNS VARCHAR AS > 'com.godalgo.udf.ArrayDistinctFunction'; > My Environment: apache-phoenix-5.0.0-HBase-2.0-bin hbase-2.0.0 hadoop-3.1.0 > > I tried the built-in functions which provided by Phoenix, ALL OF THEM ARE OK . > *I had putted ARRAY_DISTINCT's SOURCE TO attachment.* -- This message was sent by Atlassian Jira (v8.3.4#803005)