[ https://issues.apache.org/jira/browse/ASTERIXDB-1876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steven Jacobs updated ASTERIXDB-1876: ------------------------------------- Description: drop dataverse channels if exists; create dataverse channels; use channels; create type UserLocation as closed { recordId: integer, userName: string } create dataset UserLocations(UserLocation) primary key recordId; create function RecentEmergenciesNearUser(userName) { (SELECT r AS report FROM EmergencyReports r, UserLocations l where l.userName = userName and spatial_intersect(r.location,l.location)) } select * from channels.UserLocations location, channels.RecentEmergenciesNearUser(location.userName) result; Stack Trace: java.lang.NullPointerException at org.apache.asterix.lang.common.visitor.AbstractInlineUdfsVisitor.inlineUdfsInExpr(AbstractInlineUdfsVisitor.java:265) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:122) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) at org.apache.asterix.lang.sqlpp.clause.Projection.accept(Projection.java:45) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:178) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) at org.apache.asterix.lang.sqlpp.clause.SelectRegular.accept(SelectRegular.java:40) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:162) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) at org.apache.asterix.lang.sqlpp.clause.SelectClause.accept(SelectClause.java:42) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:152) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) at org.apache.asterix.lang.sqlpp.struct.SetOperationInput.accept(SetOperationInput.java:56) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:186) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) at org.apache.asterix.lang.sqlpp.clause.SelectSetOperation.accept(SelectSetOperation.java:47) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:201) at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) at org.apache.asterix.lang.sqlpp.expression.SelectExpression.accept(SelectExpression.java:55) at org.apache.asterix.lang.common.visitor.AbstractInlineUdfsVisitor.inlineUdfsInExpr(AbstractInlineUdfsVisitor.java:266) at org.apache.asterix.lang.common.visitor.AbstractInlineUdfsVisitor.visit(AbstractInlineUdfsVisitor.java:91) at org.apache.asterix.lang.common.visitor.AbstractInlineUdfsVisitor.visit(AbstractInlineUdfsVisitor.java:1) at org.apache.asterix.lang.common.statement.Query.accept(Query.java:93) at org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.inlineDeclaredUdfs(SqlppQueryRewriter.java:234) at org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.rewrite(SqlppQueryRewriter.java:127) at org.apache.asterix.api.common.APIFramework.reWriteQuery(APIFramework.java:184) at org.apache.asterix.app.translator.QueryTranslator.rewriteCompileQuery(QueryTranslator.java:1803 was: drop dataverse channels if exists; create dataverse channels; use channels; create type UserLocation as closed { recordId: integer, userName: string } create dataset UserLocations(UserLocation) primary key recordId; create function RecentEmergenciesNearUser(userName) { (SELECT r AS report FROM EmergencyReports r, UserLocations l where l.userName = userName and spatial_intersect(r.location,l.location)) } select * from channels.UserLocations location, channels.RecentEmergenciesNearUser(location.userName) result; > UDF fails in select statement in SQL++ > -------------------------------------- > > Key: ASTERIXDB-1876 > URL: https://issues.apache.org/jira/browse/ASTERIXDB-1876 > Project: Apache AsterixDB > Issue Type: Bug > Reporter: Steven Jacobs > Assignee: Yingyi Bu > > drop dataverse channels if exists; > create dataverse channels; > use channels; > create type UserLocation as closed { > recordId: integer, > userName: string > } > create dataset UserLocations(UserLocation) > primary key recordId; > create function RecentEmergenciesNearUser(userName) { > (SELECT r AS report > FROM EmergencyReports r, UserLocations l > where l.userName = userName > and spatial_intersect(r.location,l.location)) > } > select * > from channels.UserLocations location, > channels.RecentEmergenciesNearUser(location.userName) result; > Stack Trace: > java.lang.NullPointerException > at > org.apache.asterix.lang.common.visitor.AbstractInlineUdfsVisitor.inlineUdfsInExpr(AbstractInlineUdfsVisitor.java:265) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:122) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) > at > org.apache.asterix.lang.sqlpp.clause.Projection.accept(Projection.java:45) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:178) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) > at > org.apache.asterix.lang.sqlpp.clause.SelectRegular.accept(SelectRegular.java:40) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:162) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) > at > org.apache.asterix.lang.sqlpp.clause.SelectClause.accept(SelectClause.java:42) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:152) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) > at > org.apache.asterix.lang.sqlpp.struct.SetOperationInput.accept(SetOperationInput.java:56) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:186) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) > at > org.apache.asterix.lang.sqlpp.clause.SelectSetOperation.accept(SelectSetOperation.java:47) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:201) > at > org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppInlineUdfsVisitor.visit(SqlppInlineUdfsVisitor.java:1) > at > org.apache.asterix.lang.sqlpp.expression.SelectExpression.accept(SelectExpression.java:55) > at > org.apache.asterix.lang.common.visitor.AbstractInlineUdfsVisitor.inlineUdfsInExpr(AbstractInlineUdfsVisitor.java:266) > at > org.apache.asterix.lang.common.visitor.AbstractInlineUdfsVisitor.visit(AbstractInlineUdfsVisitor.java:91) > at > org.apache.asterix.lang.common.visitor.AbstractInlineUdfsVisitor.visit(AbstractInlineUdfsVisitor.java:1) > at org.apache.asterix.lang.common.statement.Query.accept(Query.java:93) > at > org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.inlineDeclaredUdfs(SqlppQueryRewriter.java:234) > at > org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.rewrite(SqlppQueryRewriter.java:127) > at > org.apache.asterix.api.common.APIFramework.reWriteQuery(APIFramework.java:184) > at > org.apache.asterix.app.translator.QueryTranslator.rewriteCompileQuery(QueryTranslator.java:1803 -- This message was sent by Atlassian JIRA (v6.3.15#6346)