Strabon
changeset 847:365173f976f5 temporals
modified GeneralDBSelectQueryOptimizer so that the temporal functions succeeding_period and preceding_period are evaluated only in Java, as they are not supported in temporal postgres
author | Konstantina Bereta <Konstantina.Bereta@di.uoa.gr> |
---|---|
date | Tue Jan 08 17:27:03 2013 +0200 (2013-01-08) |
parents | 0a5573bebcea |
children | 985c9bbd8194 |
files | generaldb/src/main/java/org/openrdf/sail/generaldb/optimizers/GeneralDBSelectQueryOptimizer.java |
line diff
1.1 --- a/generaldb/src/main/java/org/openrdf/sail/generaldb/optimizers/GeneralDBSelectQueryOptimizer.java Tue Jan 08 11:43:32 2013 +0200 1.2 +++ b/generaldb/src/main/java/org/openrdf/sail/generaldb/optimizers/GeneralDBSelectQueryOptimizer.java Tue Jan 08 17:27:03 2013 +0200 1.3 @@ -74,6 +74,9 @@ 1.4 import org.openrdf.query.algebra.evaluation.function.spatial.stsparql.construct.EnvelopeFunc; 1.5 import org.openrdf.query.algebra.evaluation.function.spatial.stsparql.construct.TransformFunc; 1.6 import org.openrdf.query.algebra.evaluation.function.spatial.stsparql.construct.UnionFunc; 1.7 +import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.construct.PeriodMinusFunc; 1.8 +import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.construct.PeriodPrecedingFunc; 1.9 +import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.construct.PeriodSucceedingFunc; 1.10 import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.construct.TemporalConstructFunc; 1.11 import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.relation.TemporalRelationFunc; 1.12 import org.openrdf.query.algebra.evaluation.iterator.SPARQLMinusIteration; 1.13 @@ -1264,7 +1267,8 @@ 1.14 if(expr instanceof FunctionCall) 1.15 { 1.16 Function function = FunctionRegistry.getInstance().get(((FunctionCall) expr).getURI()); 1.17 - if((!(function instanceof UnionFunc) || !(((FunctionCall) expr).getArgs().size()==1))&&!(function instanceof ExtentFunc)) 1.18 + if((!(function instanceof UnionFunc) || !(((FunctionCall) expr).getArgs().size()==1))&&!(function instanceof ExtentFunc) && !(function instanceof PeriodPrecedingFunc) 1.19 + && !(function instanceof PeriodSucceedingFunc) && !(function instanceof PeriodMinusFunc)) 1.20 { 1.21 //Recursively check arguments 1.22 boolean unionPresent = false;