Repository: vxquery Updated Branches: refs/heads/master 07710733f -> 654f93f3b
ConvertToFrAlgrbricks files updated with changes Project: http://git-wip-us.apache.org/repos/asf/vxquery/repo Commit: http://git-wip-us.apache.org/repos/asf/vxquery/commit/1f922a75 Tree: http://git-wip-us.apache.org/repos/asf/vxquery/tree/1f922a75 Diff: http://git-wip-us.apache.org/repos/asf/vxquery/diff/1f922a75 Branch: refs/heads/master Commit: 1f922a7570792bbe14ccd925c7976150940f1ae1 Parents: c31a36c Author: shivani <[email protected]> Authored: Sun Jun 28 17:11:39 2015 -0700 Committer: Preston Carman <[email protected]> Committed: Sun Jun 28 17:56:38 2015 -0700 ---------------------------------------------------------------------- .../ConvertFromAlgebricksExpressionsRule.java | 16 ++++++------- .../ConvertToAlgebricksExpressionsRule.java | 24 ++++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/vxquery/blob/1f922a75/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertFromAlgebricksExpressionsRule.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertFromAlgebricksExpressionsRule.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertFromAlgebricksExpressionsRule.java index 2ea95fe..41ceff6 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertFromAlgebricksExpressionsRule.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertFromAlgebricksExpressionsRule.java @@ -67,21 +67,22 @@ import edu.uci.ics.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule; public class ConvertFromAlgebricksExpressionsRule implements IAlgebraicRewriteRule { final List<Mutable<ILogicalExpression>> functionList = new ArrayList<Mutable<ILogicalExpression>>(); final static Map<FunctionIdentifier, Pair<IFunctionInfo, IFunctionInfo>> ALGEBRICKS_MAP = new HashMap<FunctionIdentifier, Pair<IFunctionInfo, IFunctionInfo>>(); - final static String ConversionToAndFromAlgebrics = "ConversionToAndFromAlgebrics"; + final static String CONVERSION_TO_FR_ALGEBRICKS = "ConversionToAndFromAlgebrics"; + AbstractFunctionCallExpression searchFunction; public ConvertFromAlgebricksExpressionsRule() { ALGEBRICKS_MAP.put(AlgebricksBuiltinFunctions.AND, new Pair(BuiltinOperators.AND, null)); ALGEBRICKS_MAP.put(AlgebricksBuiltinFunctions.EQ, new Pair(BuiltinOperators.VALUE_EQ, BuiltinOperators.GENERAL_EQ)); - ALGEBRICKS_MAP.put(AlgebricksBuiltinFunctions.GT, new Pair(BuiltinOperators.VALUE_GT, - BuiltinOperators.GENERAL_GT)); ALGEBRICKS_MAP.put(AlgebricksBuiltinFunctions.GE, new Pair(BuiltinOperators.VALUE_GE, BuiltinOperators.GENERAL_GE)); + ALGEBRICKS_MAP.put(AlgebricksBuiltinFunctions.GT, new Pair(BuiltinOperators.VALUE_GT, + BuiltinOperators.GENERAL_GT)); ALGEBRICKS_MAP.put(AlgebricksBuiltinFunctions.IS_NULL, new Pair(null, BuiltinFunctions.FN_EMPTY_1)); - ALGEBRICKS_MAP.put(AlgebricksBuiltinFunctions.LT, new Pair(BuiltinOperators.VALUE_LT, - BuiltinOperators.GENERAL_LT)); ALGEBRICKS_MAP.put(AlgebricksBuiltinFunctions.LE, new Pair(BuiltinOperators.VALUE_LE, BuiltinOperators.GENERAL_LE)); + ALGEBRICKS_MAP.put(AlgebricksBuiltinFunctions.LT, new Pair(BuiltinOperators.VALUE_LT, + BuiltinOperators.GENERAL_LT)); ALGEBRICKS_MAP.put(AlgebricksBuiltinFunctions.NOT, new Pair(null, BuiltinFunctions.FN_NOT_1)); ALGEBRICKS_MAP.put(AlgebricksBuiltinFunctions.NEQ, new Pair(BuiltinOperators.VALUE_NE, BuiltinOperators.GENERAL_NE)); @@ -112,10 +113,10 @@ public class ConvertFromAlgebricksExpressionsRule implements IAlgebraicRewriteRu functionList.clear(); ExpressionToolbox.findAllFunctionExpressions(search, functionList); for (Mutable<ILogicalExpression> searchM : functionList) { - AbstractFunctionCallExpression searchFunction = (AbstractFunctionCallExpression) searchM.getValue(); + searchFunction = (AbstractFunctionCallExpression) searchM.getValue(); if (ALGEBRICKS_MAP.containsKey(searchFunction.getFunctionIdentifier())) { ScalarFunctionCallExpression booleanFunctionCallExp = null; - IExpressionAnnotation annotate = searchFunction.getAnnotations().get(ConversionToAndFromAlgebrics); + IExpressionAnnotation annotate = searchFunction.getAnnotations().get(CONVERSION_TO_FR_ALGEBRICKS); FunctionIdentifier fid = searchFunction.getFunctionIdentifier(); if (((FunctionIdentifier) annotate.getObject()).equals(ALGEBRICKS_MAP.get(fid).first .getFunctionIdentifier())) { @@ -131,7 +132,6 @@ public class ConvertFromAlgebricksExpressionsRule implements IAlgebraicRewriteRu searchFunction.getArguments()); searchM.setValue(booleanFunctionCallExp); modified = true; - } else { } } } http://git-wip-us.apache.org/repos/asf/vxquery/blob/1f922a75/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertToAlgebricksExpressionsRule.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertToAlgebricksExpressionsRule.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertToAlgebricksExpressionsRule.java index fd9fa7c..3c36f03 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertToAlgebricksExpressionsRule.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/ConvertToAlgebricksExpressionsRule.java @@ -47,11 +47,11 @@ import edu.uci.ics.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule; * Before * * plan__parent - * %OPERATOR( $v1 : boolean(xquery_function( \@input_expression ) or $v1 : general-compare(xquery_function( \@input_expression ) - * or $v1 : fn_empty(xquery_function( \@input_expression ) or $v1 : fn_not(xquery_function( \@input_expression + * %OPERATOR( $v1 : xquery_function( \@input_expression ) ) * plan__child - * - * Where xquery_function creates an atomic value. + * + * where xquery_function has a known equivalent in Algebricks, + * such as conditional expressions and a check for null * * After * @@ -65,26 +65,26 @@ import edu.uci.ics.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule; public class ConvertToAlgebricksExpressionsRule implements IAlgebraicRewriteRule { final Map<FunctionIdentifier, FunctionIdentifier> ALGEBRICKS_MAP = new HashMap<FunctionIdentifier, FunctionIdentifier>(); final Map<FunctionIdentifier, FunctionIdentifier> ALGEBRICKS_BOOL_MAP = new HashMap<FunctionIdentifier, FunctionIdentifier>(); - final static String ConversionToAndFromAlgebrics = "ConversionToAndFromAlgebrics"; + final static String CONVERSION_TO_FR_ALGEBRICKS = "ConversionToAndFromAlgebrics"; public ConvertToAlgebricksExpressionsRule() { ALGEBRICKS_BOOL_MAP.put(BuiltinOperators.AND.getFunctionIdentifier(), AlgebricksBuiltinFunctions.AND); ALGEBRICKS_BOOL_MAP.put(BuiltinOperators.OR.getFunctionIdentifier(), AlgebricksBuiltinFunctions.OR); - ALGEBRICKS_BOOL_MAP.put(BuiltinOperators.VALUE_NE.getFunctionIdentifier(), AlgebricksBuiltinFunctions.NEQ); ALGEBRICKS_BOOL_MAP.put(BuiltinOperators.VALUE_EQ.getFunctionIdentifier(), AlgebricksBuiltinFunctions.EQ); + ALGEBRICKS_BOOL_MAP.put(BuiltinOperators.VALUE_GE.getFunctionIdentifier(), AlgebricksBuiltinFunctions.GE); + ALGEBRICKS_BOOL_MAP.put(BuiltinOperators.VALUE_GT.getFunctionIdentifier(), AlgebricksBuiltinFunctions.GT); ALGEBRICKS_BOOL_MAP.put(BuiltinOperators.VALUE_LE.getFunctionIdentifier(), AlgebricksBuiltinFunctions.LE); ALGEBRICKS_BOOL_MAP.put(BuiltinOperators.VALUE_LT.getFunctionIdentifier(), AlgebricksBuiltinFunctions.LT); - ALGEBRICKS_BOOL_MAP.put(BuiltinOperators.VALUE_GT.getFunctionIdentifier(), AlgebricksBuiltinFunctions.GT); - ALGEBRICKS_BOOL_MAP.put(BuiltinOperators.VALUE_GE.getFunctionIdentifier(), AlgebricksBuiltinFunctions.GE); - + ALGEBRICKS_BOOL_MAP.put(BuiltinOperators.VALUE_NE.getFunctionIdentifier(), AlgebricksBuiltinFunctions.NEQ); + ALGEBRICKS_MAP.put(BuiltinFunctions.FN_EMPTY_1.getFunctionIdentifier(), AlgebricksBuiltinFunctions.IS_NULL); ALGEBRICKS_MAP.put(BuiltinFunctions.FN_NOT_1.getFunctionIdentifier(), AlgebricksBuiltinFunctions.NOT); - ALGEBRICKS_MAP.put(BuiltinOperators.GENERAL_LT.getFunctionIdentifier(), AlgebricksBuiltinFunctions.LT); ALGEBRICKS_MAP.put(BuiltinOperators.GENERAL_EQ.getFunctionIdentifier(), AlgebricksBuiltinFunctions.EQ); - ALGEBRICKS_MAP.put(BuiltinOperators.GENERAL_LE.getFunctionIdentifier(), AlgebricksBuiltinFunctions.LE); ALGEBRICKS_MAP.put(BuiltinOperators.GENERAL_GE.getFunctionIdentifier(), AlgebricksBuiltinFunctions.GE); ALGEBRICKS_MAP.put(BuiltinOperators.GENERAL_GT.getFunctionIdentifier(), AlgebricksBuiltinFunctions.GT); + ALGEBRICKS_MAP.put(BuiltinOperators.GENERAL_LE.getFunctionIdentifier(), AlgebricksBuiltinFunctions.LE); + ALGEBRICKS_MAP.put(BuiltinOperators.GENERAL_LT.getFunctionIdentifier(), AlgebricksBuiltinFunctions.LT); ALGEBRICKS_MAP.put(BuiltinOperators.GENERAL_NE.getFunctionIdentifier(), AlgebricksBuiltinFunctions.NEQ); } @@ -120,7 +120,7 @@ public class ConvertToAlgebricksExpressionsRule implements IAlgebraicRewriteRule FunctionIdentifier algebricksFid = map.get(functionCall.getFunctionIdentifier()); IFunctionInfo algebricksFunction = context.getMetadataProvider().lookupFunction(algebricksFid); functionCall.setFunctionInfo(algebricksFunction); - functionCall.getAnnotations().put(ConversionToAndFromAlgebrics, annotate); + functionCall.getAnnotations().put(CONVERSION_TO_FR_ALGEBRICKS, annotate); searchM.setValue(functionCall); return true; }
