[ 
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)

Reply via email to