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;