Merge branch 'release-0.2.17' into master

Change-Id: I8fcf41c009f9faf51bc8bccc0c3c7217b7769147
diff --git a/algebricks/algebricks-common/pom.xml b/algebricks/algebricks-common/pom.xml
index b1784e3..bb792e0 100644
--- a/algebricks/algebricks-common/pom.xml
+++ b/algebricks/algebricks-common/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.hyracks</groupId>
     <artifactId>algebricks</artifactId>
-    <version>0.2.17-SNAPSHOT</version>
+    <version>0.2.18-SNAPSHOT</version>
   </parent>
 
   <licenses>
@@ -37,13 +37,16 @@
     </license>
   </licenses>
 
+  <properties>
+      <root.dir>${basedir}/../..</root.dir>
+  </properties>
 
 
   <dependencies>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>hyracks-api</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   </dependencies>
 </project>
diff --git a/algebricks/algebricks-compiler/pom.xml b/algebricks/algebricks-compiler/pom.xml
index 6f847d0..849ae7a 100644
--- a/algebricks/algebricks-compiler/pom.xml
+++ b/algebricks/algebricks-compiler/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.hyracks</groupId>
     <artifactId>algebricks</artifactId>
-    <version>0.2.17-SNAPSHOT</version>
+    <version>0.2.18-SNAPSHOT</version>
   </parent>
 
   <licenses>
@@ -37,16 +37,20 @@
     </license>
   </licenses>
 
+  <properties>
+      <root.dir>${basedir}/../..</root.dir>
+  </properties>
+
   <dependencies>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>algebricks-rewriter</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>algebricks-core</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   </dependencies>
 </project>
diff --git a/algebricks/algebricks-core/pom.xml b/algebricks/algebricks-core/pom.xml
index 5f35481..c56f6c3 100644
--- a/algebricks/algebricks-core/pom.xml
+++ b/algebricks/algebricks-core/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.hyracks</groupId>
     <artifactId>algebricks</artifactId>
-    <version>0.2.17-SNAPSHOT</version>
+    <version>0.2.18-SNAPSHOT</version>
   </parent>
 
   <licenses>
@@ -37,31 +37,35 @@
     </license>
   </licenses>
 
+  <properties>
+      <root.dir>${basedir}/../..</root.dir>
+  </properties>
+
   <dependencies>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>hyracks-storage-am-btree</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>hyracks-storage-am-rtree</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>hyracks-dataflow-std</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>algebricks-runtime</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>algebricks-common</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   </dependencies>
 </project>
diff --git a/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/AbstractFunctionCallExpression.java b/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/AbstractFunctionCallExpression.java
index e357dea..71c7ed0 100644
--- a/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/AbstractFunctionCallExpression.java
+++ b/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/expressions/AbstractFunctionCallExpression.java
@@ -49,7 +49,7 @@
     final private List<Mutable<ILogicalExpression>> arguments;
     private Object[] opaqueParameters;
     private final FunctionKind kind;
-    private Map<Object, IExpressionAnnotation> annotationMap = new HashMap<Object, IExpressionAnnotation>();
+    private final Map<Object, IExpressionAnnotation> annotationMap = new HashMap<Object, IExpressionAnnotation>();
 
     public AbstractFunctionCallExpression(FunctionKind kind, IFunctionInfo finfo,
             List<Mutable<ILogicalExpression>> arguments) {
@@ -124,6 +124,18 @@
             sb.append(ref.getValue());
         }
         sb.append("]");
+        if (opaqueParameters != null) {
+            sb.append(", OpaqueArgs:[");
+            first = true;
+            for (Object param : opaqueParameters) {
+                if (first) {
+                    first = false;
+                } else {
+                    sb.append(", ");
+                }
+                sb.append(param);
+            }
+        }
         return sb.toString();
     }
 
diff --git a/algebricks/algebricks-data/pom.xml b/algebricks/algebricks-data/pom.xml
index 6fdf891..2f08ec9 100644
--- a/algebricks/algebricks-data/pom.xml
+++ b/algebricks/algebricks-data/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.hyracks</groupId>
     <artifactId>algebricks</artifactId>
-    <version>0.2.17-SNAPSHOT</version>
+    <version>0.2.18-SNAPSHOT</version>
   </parent>
 
   <licenses>
@@ -37,16 +37,20 @@
     </license>
   </licenses>
 
+  <properties>
+      <root.dir>${basedir}/../..</root.dir>
+  </properties>
+
   <dependencies>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>algebricks-common</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>hyracks-data-std</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   </dependencies>
 </project>
diff --git a/algebricks/algebricks-examples/piglet-example/pom.xml b/algebricks/algebricks-examples/piglet-example/pom.xml
index 20bc586..d87c17e 100644
--- a/algebricks/algebricks-examples/piglet-example/pom.xml
+++ b/algebricks/algebricks-examples/piglet-example/pom.xml
@@ -24,9 +24,13 @@
  <parent>
     <groupId>org.apache.hyracks</groupId>
     <artifactId>algebricks-examples</artifactId>
-    <version>0.2.17-SNAPSHOT</version>
+    <version>0.2.18-SNAPSHOT</version>
   </parent>
 
+  <properties>
+      <root.dir>${basedir}/../../..</root.dir>
+  </properties>
+
   <build>
     <plugins>
       <plugin>
@@ -110,12 +114,12 @@
     <dependency>
       <groupId>org.apache.hyracks</groupId>
       <artifactId>algebricks-compiler</artifactId>
-      <version>0.2.17-SNAPSHOT</version>
+      <version>0.2.18-SNAPSHOT</version>
     </dependency>
       <dependency>
           <groupId>org.apache.hyracks</groupId>
           <artifactId>hyracks-util</artifactId>
-          <version>0.2.17-SNAPSHOT</version>
+          <version>0.2.18-SNAPSHOT</version>
       </dependency>
   </dependencies>
 </project>
diff --git a/algebricks/algebricks-examples/pom.xml b/algebricks/algebricks-examples/pom.xml
index 968db33..5a1cd27 100644
--- a/algebricks/algebricks-examples/pom.xml
+++ b/algebricks/algebricks-examples/pom.xml
@@ -26,14 +26,14 @@
         <dependency>
             <groupId>org.apache.hyracks</groupId>
             <artifactId>algebricks-core</artifactId>
-            <version>0.2.17-SNAPSHOT</version>
+            <version>0.2.18-SNAPSHOT</version>
         </dependency>
     </dependencies>
 
     <parent>
     <groupId>org.apache.hyracks</groupId>
     <artifactId>algebricks</artifactId>
-    <version>0.2.17-SNAPSHOT</version>
+    <version>0.2.18-SNAPSHOT</version>
   </parent>
 
   <licenses>
@@ -45,6 +45,9 @@
     </license>
   </licenses>
 
+  <properties>
+      <root.dir>${basedir}/../..</root.dir>
+  </properties>
 
   <modules>
     <module>piglet-example</module>
diff --git a/algebricks/algebricks-rewriter/pom.xml b/algebricks/algebricks-rewriter/pom.xml
index b074258..f1333a5 100644
--- a/algebricks/algebricks-rewriter/pom.xml
+++ b/algebricks/algebricks-rewriter/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.hyracks</groupId>
     <artifactId>algebricks</artifactId>
-    <version>0.2.17-SNAPSHOT</version>
+    <version>0.2.18-SNAPSHOT</version>
   </parent>
 
   <licenses>
@@ -37,13 +37,16 @@
     </license>
   </licenses>
 
+  <properties>
+      <root.dir>${basedir}/../..</root.dir>
+  </properties>
 
 
   <dependencies>
   	<dependency>
   		<groupId>org.apache.hyracks</groupId>
   		<artifactId>algebricks-core</artifactId>
-  		<version>0.2.17-SNAPSHOT</version>
+  		<version>0.2.18-SNAPSHOT</version>
   	</dependency>
   </dependencies>
 </project>
diff --git a/algebricks/algebricks-runtime/pom.xml b/algebricks/algebricks-runtime/pom.xml
index 7f81f1e..b700675 100644
--- a/algebricks/algebricks-runtime/pom.xml
+++ b/algebricks/algebricks-runtime/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.hyracks</groupId>
     <artifactId>algebricks</artifactId>
-    <version>0.2.17-SNAPSHOT</version>
+    <version>0.2.18-SNAPSHOT</version>
   </parent>
 
   <licenses>
@@ -37,33 +37,36 @@
     </license>
   </licenses>
 
+  <properties>
+      <root.dir>${basedir}/../..</root.dir>
+  </properties>
 
 
   <dependencies>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>hyracks-storage-am-btree</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>hyracks-storage-am-rtree</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>hyracks-dataflow-std</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>algebricks-common</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   <dependency>
   	<groupId>org.apache.hyracks</groupId>
   	<artifactId>algebricks-data</artifactId>
-  	<version>0.2.17-SNAPSHOT</version>
+  	<version>0.2.18-SNAPSHOT</version>
   </dependency>
   </dependencies>
 </project>
diff --git a/algebricks/algebricks-tests/pom.xml b/algebricks/algebricks-tests/pom.xml
index dfa51a4..b60b135 100644
--- a/algebricks/algebricks-tests/pom.xml
+++ b/algebricks/algebricks-tests/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.hyracks</groupId>
     <artifactId>algebricks</artifactId>
-    <version>0.2.17-SNAPSHOT</version>
+    <version>0.2.18-SNAPSHOT</version>
   </parent>
 
   <licenses>
@@ -37,6 +37,9 @@
     </license>
   </licenses>
 
+  <properties>
+      <root.dir>${basedir}/../..</root.dir>
+  </properties>
 
   <build>
     <plugins>
@@ -108,22 +111,22 @@
     <dependency>
       <groupId>org.apache.hyracks</groupId>
       <artifactId>algebricks-compiler</artifactId>
-      <version>0.2.17-SNAPSHOT</version>
+      <version>0.2.18-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.hyracks</groupId>
       <artifactId>hyracks-control-cc</artifactId>
-      <version>0.2.17-SNAPSHOT</version>
+      <version>0.2.18-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.hyracks</groupId>
       <artifactId>hyracks-control-nc</artifactId>
-      <version>0.2.17-SNAPSHOT</version>
+      <version>0.2.18-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.hyracks</groupId>
       <artifactId>hyracks-data-std</artifactId>
-      <version>0.2.17-SNAPSHOT</version>
+      <version>0.2.18-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </project>
diff --git a/algebricks/pom.xml b/algebricks/pom.xml
index a59edba..41469a8 100644
--- a/algebricks/pom.xml
+++ b/algebricks/pom.xml
@@ -21,14 +21,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.hyracks</groupId>
   <artifactId>algebricks</artifactId>
-  <version>0.2.17-SNAPSHOT</version>
+  <version>0.2.18-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>algebricks</name>
 
   <parent>
     <groupId>org.apache.hyracks</groupId>
-    <artifactId>fullstack</artifactId>
-    <version>0.2.17-SNAPSHOT</version>
+    <artifactId>apache-asterixdb-hyracks</artifactId>
+    <version>0.2.18-SNAPSHOT</version>
   </parent>
 
   <licenses>
@@ -40,6 +40,23 @@
     </license>
   </licenses>
 
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <version>0.11</version>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <properties>
+      <root.dir>${basedir}/..</root.dir>
+  </properties>
+
   <modules>
     <module>algebricks-compiler</module>
     <module>algebricks-common</module>