You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by rv...@apache.org on 2014/04/09 05:00:15 UTC

svn commit: r1585883 - in /jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql: algebra/optimize/Optimize.java expr/ExprFunctionN.java

Author: rvesse
Date: Wed Apr  9 03:00:15 2014
New Revision: 1585883

URL: http://svn.apache.org/r1585883
Log:
Enable Constant Folding in standard optimizer (JENA-630)

Modified:
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/ExprFunctionN.java

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java?rev=1585883&r1=1585882&r2=1585883&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java Wed Apr  9 03:00:15 2014
@@ -155,7 +155,7 @@ public class Optimize implements Rewrite
         OpWalker.walk(op, new OpVisitorExprPrepare(context)) ;
         
         // Expression constant folding
-        if ( context.isTrue(ARQ.optExprConstantFolding) )
+        if ( context.isTrueOrUndef(ARQ.optExprConstantFolding) )
             op = Transformer.transform(new TransformCopy(), new ExprTransformConstantFold(), op);
         
         // Need to allow subsystems to play with this list.

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/ExprFunctionN.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/ExprFunctionN.java?rev=1585883&r1=1585882&r2=1585883&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/ExprFunctionN.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/ExprFunctionN.java Wed Apr  9 03:00:15 2014
@@ -21,6 +21,7 @@ package com.hp.hpl.jena.sparql.expr;
 import java.util.ArrayList ;
 import java.util.List ;
 
+import com.hp.hpl.jena.sparql.ARQInternalErrorException;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
 import com.hp.hpl.jena.sparql.function.FunctionEnv ;
 import com.hp.hpl.jena.sparql.graph.NodeTransform ;
@@ -94,6 +95,9 @@ public abstract class ExprFunctionN exte
             return eval(values);
         } catch (ExprEvalException ex) {
             return copy(newArgs);
+        } catch (ARQInternalErrorException ex) {
+            // May show up when trying to fold certain things
+            return copy(newArgs);
         }
     }