You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Steven Jacobs (JIRA)" <ji...@apache.org> on 2015/10/26 22:57:27 UTC

[jira] [Created] (ASTERIXDB-1155) Limit clause won't work within a function

Steven Jacobs created ASTERIXDB-1155:
----------------------------------------

             Summary: Limit clause won't work within a function
                 Key: ASTERIXDB-1155
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1155
             Project: Apache AsterixDB
          Issue Type: Bug
            Reporter: Steven Jacobs


I can't find an example where a limit clause works within a function. Here is an example of one that doesn't work:

DDL:
drop dataverse emergencyTest if exists;
create dataverse emergencyTest;
use dataverse emergencyTest;
create type EmergencyReport as {
	"id":int,
	"intensity":int
}
create dataset EmergencyReports(EmergencyReport)
primary key id;


//This works fine
for $emergency in dataset EmergencyReports
limit 1
return $emergency.message


//this fails
create function mostIntenseEarthquakeNearLocation() {
for $emergency in dataset EmergencyReports
limit 1
return $emergency.message
};
for $result in mostIntenseEarthquakeNearLocation()
return $result;

I've tried many combinations. Here is the top of the stack trace:
at org.apache.asterix.aql.rewrites.CloneAndSubstituteVariablesVisitor.visitLimitClause(CloneAndSubstituteVariablesVisitor.java:285)
	at org.apache.asterix.aql.rewrites.CloneAndSubstituteVariablesVisitor.visitLimitClause(CloneAndSubstituteVariablesVisitor.java:1)
	at org.apache.asterix.aql.expression.LimitClause.accept(LimitClause.java:67)
	at org.apache.asterix.aql.rewrites.CloneAndSubstituteVariablesVisitor.visitFlworExpression(CloneAndSubstituteVariablesVisitor.java:117)
	at org.apache.asterix.aql.rewrites.CloneAndSubstituteVariablesVisitor.visitFlworExpression(CloneAndSubstituteVariablesVisitor.java:1)
	at org.apache.asterix.aql.expression.FLWOGRExpression.accept(FLWOGRExpression.java:82)
	at org.apache.asterix.aql.rewrites.InlineUdfsVisitor.inlineUdfsInExpr(InlineUdfsVisitor.java:341)
	at org.apache.asterix.aql.rewrites.InlineUdfsVisitor.visitForClause(InlineUdfsVisitor.java:220)
	at org.apache.asterix.aql.rewrites.InlineUdfsVisitor.visitForClause(InlineUdfsVisitor.java:1)
	at org.apache.asterix.aql.expression.ForClause.accept(ForClause.java:70)
	at org.apache.asterix.aql.rewrites.InlineUdfsVisitor.visitFlworExpression(InlineUdfsVisitor.java:194)
	at org.apache.asterix.aql.rewrites.InlineUdfsVisitor.visitFlworExpression(InlineUdfsVisitor.java:1)
	at org.apache.asterix.aql.expression.FLWOGRExpression.accept(FLWOGRExpression.java:82)




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)