diff --git a/asterixdb/asterix-algebra/pom.xml b/asterixdb/asterix-algebra/pom.xml
index fce8568..4343a00 100644
--- a/asterixdb/asterix-algebra/pom.xml
+++ b/asterixdb/asterix-algebra/pom.xml
@@ -1,14 +1,21 @@
-<!-- ! Licensed to the Apache Software Foundation (ASF) under one ! or more 
-	contributor license agreements. See the NOTICE file ! distributed with this 
-	work for additional information ! regarding copyright ownership. The ASF 
-	licenses this file ! to you under the Apache License, Version 2.0 (the ! 
-	"License"); you may not use this file except in compliance ! with the License. 
-	You may obtain a copy of the License at ! ! http://www.apache.org/licenses/LICENSE-2.0 
-	! ! Unless required by applicable law or agreed to in writing, ! software 
-	distributed under the License is distributed on an ! "AS IS" BASIS, WITHOUT 
-	WARRANTIES OR CONDITIONS OF ANY ! KIND, either express or implied. See the 
-	License for the ! specific language governing permissions and limitations 
-	! under the License. ! -->
+<!--
+ ! Licensed to the Apache Software Foundation (ASF) under one
+ ! or more contributor license agreements. See the NOTICE file
+ ! distributed with this work for additional information
+ ! regarding copyright ownership. The ASF licenses this file
+ ! to you under the Apache License, Version 2.0 (the
+ ! "License"); you may not use this file except in compliance
+ ! with the License. You may obtain a copy of the License at
+ !
+ ! http://www.apache.org/licenses/LICENSE-2.0
+ !
+ ! Unless required by applicable law or agreed to in writing,
+ ! software distributed under the License is distributed on an
+ ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ! KIND, either express or implied.    See the License for the
+ ! specific language governing permissions and limitations
+ ! under the License.
+ !-->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
diff --git a/asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj b/asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
index b10d837..c2ed8e1 100644
--- a/asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
+++ b/asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
@@ -1491,8 +1491,8 @@
     createNewScope();
   }
 
-   (      ("some"  {  qc.setQuantifier(QuantifiedExpression.Quantifier.SOME);	})
-        | ("every" {  qc.setQuantifier(QuantifiedExpression.Quantifier.EVERY);	}))
+   (      ("some"  {  qc.setQuantifier(QuantifiedExpression.Quantifier.SOME);    })
+        | ("every" {  qc.setQuantifier(QuantifiedExpression.Quantifier.EVERY);    }))
     var = Variable() "in" inExpr = Expression()
     {
       pair = new QuantifiedPair(var, inExpr);
diff --git a/asterixdb/asterix-app/scripts/idefix/startcc.sh b/asterixdb/asterix-app/scripts/idefix/startcc.sh
index 014330e..c0afbf2 100644
--- a/asterixdb/asterix-app/scripts/idefix/startcc.sh
+++ b/asterixdb/asterix-app/scripts/idefix/startcc.sh
@@ -15,9 +15,9 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-#/bin/bash	
+#/bin/bash
 
 export JAVA_OPTS="-DAsterixConfigFileName=test.properties -Djava.util.logging.config.file=/home/nicnic/Work/Asterix/hyracks/logging.properties"
 export HYRACKS_HOME="/home/nicnic/workspace/hyracks/tags/hyracks-0.1.5"
-bash ${HYRACKS_HOME}/hyracks-server/target/appassembler/bin/hyrackscc 
+bash ${HYRACKS_HOME}/hyracks-server/target/appassembler/bin/hyrackscc
 #bash /home/nicnic/workspace/hyracks/trunk/hyracks/hyracks-server/target/appassembler/bin/hyrackscc
diff --git a/asterixdb/asterix-app/src/main/scripts/run.sh b/asterixdb/asterix-app/src/main/scripts/run.sh
index 4915636..47eb2a3 100644
--- a/asterixdb/asterix-app/src/main/scripts/run.sh
+++ b/asterixdb/asterix-app/src/main/scripts/run.sh
@@ -84,7 +84,7 @@
 # Try to find directory where this script is located
 COMMAND="${PWD}/$0"
 if [ ! -f "${COMMAND}" ]; then
-	COMMAND="$0"
+    COMMAND="$0"
 fi
 BASEDIR=`expr "${COMMAND}" : '\(.*\)/\.*'`
 
diff --git a/asterixdb/asterix-app/src/test/resources/dapd/q2.aql b/asterixdb/asterix-app/src/test/resources/dapd/q2.aql
index f40f857..3b46729 100644
--- a/asterixdb/asterix-app/src/test/resources/dapd/q2.aql
+++ b/asterixdb/asterix-app/src/test/resources/dapd/q2.aql
@@ -19,10 +19,10 @@
 use dataverse events;
 
 declare type EventType as closed {
-  event_id: int64, 
+  event_id: int64,
   name: string,
-  location: AddressType	?,
-  organizers: {{ 
+  location: AddressType ?,
+  organizers: {{
    {
      name: string
    }
@@ -49,15 +49,15 @@
 declare nodegroup group1 on asterix_nc1;
 
 /*
-declare dataset Event(EventType) 
+declare dataset Event(EventType)
   splits asterix_nc1:"/home/nicnic/Work/Asterix/adg/event.adm";
 */
 
 drop dataset Event;
-declare dataset Event(EventType) 
+declare dataset Event(EventType)
   primary key event_id on group1;
 
-load dataset Event 
+load dataset Event
 using localfs
 (("path"="asterix_nc1:///home/nicnic/Work/Asterix/adg/event.adm"),("format"="adm"));
 
diff --git a/asterixdb/asterix-app/src/test/resources/nontagged/custord/local/cust-load.aql b/asterixdb/asterix-app/src/test/resources/nontagged/custord/local/cust-load.aql
index 6967155..67fa306 100644
--- a/asterixdb/asterix-app/src/test/resources/nontagged/custord/local/cust-load.aql
+++ b/asterixdb/asterix-app/src/test/resources/nontagged/custord/local/cust-load.aql
@@ -26,17 +26,17 @@
 declare type DataverseType as open {
 dataverseName : string,
 DataverseInfo : {
-	CreatedOn: string,
-	Comments : string 
-				}
+    CreatedOn: string,
+    Comments : string
+                }
 }
 
 
 declare nodegroup group1 on asterix_nc1;
 
 declare dataset Dataverse(DataverseType)
-  primary key dataverseName on group1;        
-      
+  primary key dataverseName on group1;
+
 for $c in dataset('Dataverse')
 return $c
 
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql
index f69d2c8..38032f5 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary btree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,23 +28,23 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
+}
 
 create type TweetMessageType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
@@ -63,9 +63,9 @@
 return {
 "tweetid1": $t1.tweetid,
 "count1":$t1.countA,
-"t2info": for $t2 in dataset('TweetMessages') 
+"t2info": for $t2 in dataset('TweetMessages')
           where $t1.countA /* +indexnl */= $t2.countB
-          order by $t2.tweetid 
+          order by $t2.tweetid
           return {"tweetid2": $t2.tweetid,
                   "count2":$t2.countB}
 };
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.aql
index a326108..e757455 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary btree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,23 +28,23 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
+}
 
 create type TweetMessageType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
@@ -63,10 +63,10 @@
 return {
 "tweetid1": $t1.tweetid,
 "count1":$t1.countA,
-"t2info": for $t2 in dataset('TweetMessages') 
+"t2info": for $t2 in dataset('TweetMessages')
                         where $t1.countA /* +indexnl */= $t2.countB and
                         $t1.tweetid != $t2.tweetid
-                        order by $t2.tweetid 
+                        order by $t2.tweetid
                         return {"tweetid2": $t2.tweetid,
                                        "count2":$t2.countB}
 };
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-01.aql
index 7179d54..407513e 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-01.aql
@@ -17,11 +17,11 @@
  * under the License.
  */
 /*
- *  Description     : This test is intended to verify that the primary BTree index is used 
+ *  Description     : This test is intended to verify that the primary BTree index is used
  *                  : for an invocation of current-datetime()
  *  Expected Result : Success
  *  Date            : 27th Aug 2015
- *	Author			: Steven Jacobs
+ *    Author            : Steven Jacobs
  */
 
 drop dataverse emergencyTest if exists;
@@ -29,7 +29,7 @@
 use dataverse emergencyTest;
 create type CHPReport as {
         "id":int,
-	"timestamp":datetime,
+    "timestamp":datetime,
         "title":string,
         "message":string
 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-02.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-02.aql
index 8a5fe07..e6335ba 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-02.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-02.aql
@@ -17,11 +17,11 @@
  * under the License.
  */
 /*
- *  Description     : This test is intended to verify that the primary BTree index is used 
+ *  Description     : This test is intended to verify that the primary BTree index is used
  *                  : for an invocation of current-datetime()
  *  Expected Result : Success
  *  Date            : 27th Aug 2015
- *	Author			: Steven Jacobs
+ *    Author            : Steven Jacobs
  */
 
 drop dataverse emergencyTest if exists;
@@ -29,7 +29,7 @@
 use dataverse emergencyTest;
 create type CHPReport as {
         "id":int,
-	"timestamp":datetime,
+    "timestamp":datetime,
         "title":string,
         "message":string
 }
@@ -39,4 +39,4 @@
 for $emergency in dataset CHPReports
 let $time := current-datetime() - day-time-duration("PT10H")
 where $emergency.timestamp >= $time
-return $emergency;
\ No newline at end of file
+return $emergency;
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-03.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-03.aql
index f3b49ad..df6f528 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-03.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-03.aql
@@ -17,11 +17,11 @@
  * under the License.
  */
 /*
- *  Description     : This test is intended to verify that the primary BTree index is used 
+ *  Description     : This test is intended to verify that the primary BTree index is used
  *                  : for an invocation of current-datetime()
  *  Expected Result : Success
  *  Date            : 27th Aug 2015
- *	Author			: Steven Jacobs
+ *    Author            : Steven Jacobs
  */
 
 drop dataverse emergencyTest if exists;
@@ -29,7 +29,7 @@
 use dataverse emergencyTest;
 create type CHPReport as {
         "id":int,
-	"timestamp":datetime,
+    "timestamp":datetime,
         "title":string,
         "message":string
 }
@@ -38,4 +38,4 @@
 
 for $emergency in dataset CHPReports
 where $emergency.timestamp >= current-datetime()
-return $emergency;
\ No newline at end of file
+return $emergency;
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-04.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-04.aql
index 59014bc..5af8ce9 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-04.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-datetime-04.aql
@@ -20,7 +20,7 @@
  *  Description     : This test makes sure that the plan is still okay when not converted to index search
  *  Expected Result : Success
  *  Date            : 27th Aug 2015
- *	Author			: Steven Jacobs
+ *    Author            : Steven Jacobs
  */
 
 drop dataverse emergencyTest if exists;
@@ -28,7 +28,7 @@
 use dataverse emergencyTest;
 create type CHPReport as {
         "id":int,
-	"timestamp":datetime,
+    "timestamp":datetime,
         "title":string,
         "message":string
 }
@@ -37,4 +37,4 @@
 
 for $emergency in dataset CHPReports
 where $emergency.timestamp >= current-datetime()
-return $emergency;
\ No newline at end of file
+return $emergency;
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/distinct_aggregate.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/distinct_aggregate.aql
index f43e993..a9fef5c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/distinct_aggregate.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/distinct_aggregate.aql
@@ -21,21 +21,21 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: double,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
@@ -45,24 +45,24 @@
   primary key l_orderkey, l_linenumber on group1;
 
 write output to asterix_nc1:"rttest/tpch_q1_pricing_summary_report_nt.adm";
- 
-for $g in 
-( 
-	for $l in dataset('LineItems_q1')
-	where $l.l_shipdate <= '1998-09-02'
-	group by $l_returnflag := $l.l_returnflag, $l_linestatus := $l.l_linestatus, 
-			$l_suppkey := $l.l_suppkey with $l
-	return {
-		"l_returnflag": $l_returnflag,
-		"l_linestatus": $l_linestatus,
-		"l_suppkey": $l_suppkey
-	}
+
+for $g in
+(
+    for $l in dataset('LineItems_q1')
+    where $l.l_shipdate <= '1998-09-02'
+    group by $l_returnflag := $l.l_returnflag, $l_linestatus := $l.l_linestatus,
+            $l_suppkey := $l.l_suppkey with $l
+    return {
+        "l_returnflag": $l_returnflag,
+        "l_linestatus": $l_linestatus,
+        "l_suppkey": $l_suppkey
+    }
 )
-group by $l_returnflag := $g.l_returnflag, $l_linestatus := $g.l_linestatus  
+group by $l_returnflag := $g.l_returnflag, $l_linestatus := $g.l_linestatus
   with $g
 order by $l_returnflag, $l_linestatus
 return {
   "l_returnflag": $l_returnflag,
   "l_linestatus": $l_linestatus,
   "count_suppkey": count($g)
-}   
+}
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-dataset-with-index.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-dataset-with-index.aql
index fb63141..1c897eb 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-dataset-with-index.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-dataset-with-index.aql
@@ -16,14 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : insert-and-scan-dataset-with-index.aql
  * Description     : This test is intended to test inserting into a dataset that has a secondary index and scan
  * the data at the same time where we insert a materializing to prevent the possibility of deadlatch.
  * Expected Result : Success
  * Date            : July 11 2013
  */
- 
+
 drop dataverse test if exists;
 create dataverse test;
 
@@ -42,10 +42,10 @@
 insert into dataset test.employee (
 for $x in dataset test.employee
 return {
-	"id": $x.id + 10000,
-	"fname": $x.fname,
-	"lname": $x.lname,
-	"age": $x.age,
-	"dept": $x.dept
+    "id": $x.id + 10000,
+    "fname": $x.fname,
+    "lname": $x.lname,
+    "age": $x.age,
+    "dept": $x.dept
 }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-dataset.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-dataset.aql
index 06fc86a..0425ecf 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-dataset.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-dataset.aql
@@ -16,14 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : insert-and-scan-dataset.aql
  * Description     : This test is intended to test inserting into a dataset and scan it at the same time
  * where we insert a materializing to prevent the possibility of deadlatch.
  * Expected Result : Success
  * Date            : July 11 2013
  */
- 
+
 drop dataverse test if exists;
 create dataverse test;
 
@@ -39,6 +39,6 @@
 insert into dataset myData (
 for $x in dataset myData
 return {
-	"id": $x.id + 1
+    "id": $x.id + 1
 }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-joined-datasets.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-joined-datasets.aql
index d9a951e..201e598 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-joined-datasets.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/insert-and-scan-joined-datasets.aql
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : insert-and-scan-joined-datasets.aql
  * Description     : This test is intended to test inserting into a dataset where the incoming stream
-  is involve a join operation that has the same dataset. We insert a materializing to prevent the 
+  is involve a join operation that has the same dataset. We insert a materializing to prevent the
   possibility of deadlatch.
  * Expected Result : Success
  * Date            : July 11 2013
  */
- 
+
 drop dataverse test if exists;
 create dataverse test;
 
@@ -36,7 +36,7 @@
 
 create dataset myData(myDataType)
   primary key id;
-  
+
 create dataset myData2(myDataType)
   primary key id;
 
@@ -45,6 +45,6 @@
 for $y in dataset myData
 where $x.id = $y.id
 return {
-	"id": $x.id + 1
+    "id": $x.id + 1
 }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/issue741.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/issue741.aql
index db0f001..8ddd03b 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/issue741.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/issue741.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use an available inverted index in index subtree.
- * Issue        : 741              
+ * Issue        : 741
  * Expected Res : Success
  * Date         : 16th May 2014
  */
@@ -37,7 +37,7 @@
 }
 
 create type TweetMessageType as {
-tweetid: int64,     
+tweetid: int64,
 user: TwitterUserType,
 sender_location: point?,
 send_time: datetime,
@@ -53,13 +53,13 @@
 
 for $t in dataset('TweetMessages')
 where $t.send_time >= datetime('2011-06-18T14:10:17')
-and 
+and
 $t.send_time < datetime('2011-06-18T15:10:17')
-return {                     
-    "tweet": $t.tweetid,               
+return {
+    "tweet": $t.tweetid,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := similarity-jaccard-check($t.referred_topics, $t2.referred_topics, 0.6f)
-		      where $sim[0] and 
+              where $sim[0] and
                       $t2.tweetid != $t.tweetid
                       return $t2.tweetid
 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
index 5e8b180..bd52bac 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,23 +28,23 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
+}
 
 create type TweetMessageType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
@@ -63,10 +63,10 @@
 where $t1.tweetid > int64("240")
 order by $t1.tweetid
 return {
-    "tweet": {"id": $t1.tweetid, "topics" : $t1.message-text} ,             
+    "tweet": {"id": $t1.tweetid, "topics" : $t1.message-text} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := edit-distance-check($t1.message-text, $t2.message-text, 7)
-		      where $sim[0] and 
+              where $sim[0] and
                       $t2.tweetid != $t1.tweetid
                       order by $t2.tweetid
                       return {"id": $t2.tweetid, "topics" : $t2.message-text}
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.aql
index c5d13c5..27b0e37 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,23 +28,23 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
+}
 
 create type TweetMessageType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
@@ -63,10 +63,10 @@
 where $t1.tweetid > int64("240")
 order by $t1.tweetid
 return {
-    "tweet": {"id": $t1.tweetid, "topics" : $t1.referred-topics} ,             
+    "tweet": {"id": $t1.tweetid, "topics" : $t1.referred-topics} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := similarity-jaccard-check($t1.referred-topics, $t2.referred-topics, 0.5f)
-		      where $sim[0] and 
+              where $sim[0] and
                       $t2.tweetid != $t1.tweetid
                       order by $t2.tweetid
                       return {"id": $t2.tweetid, "topics" : $t2.referred-topics}
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/word-jaccard-check-after-btree-access.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/word-jaccard-check-after-btree-access.aql
index 39ed374..5586919 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/word-jaccard-check-after-btree-access.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/inverted-index-join/word-jaccard-check-after-btree-access.aql
@@ -18,9 +18,9 @@
  */
 /*
  * Description    : Fuzzy self joins a dataset, TweetMessages, based on the similarity-jaccard-check function of its text-messages' word tokens.
- *                  TweetMessages has a keyword index on text-message and btree index on the primary key tweetid, and we expect the join to be 
- *					transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into 
- *					multiple indexed nested loop joins of various type of indexes.
+ *                  TweetMessages has a keyword index on text-message and btree index on the primary key tweetid, and we expect the join to be
+ *                    transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
+ *                    multiple indexed nested loop joins of various type of indexes.
  * Success        : Yes
  */
 
@@ -29,23 +29,23 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
+}
 
 create type TweetMessageType as closed {
-	tweetid: int64,
-	user: TwitterUserType,
-	sender-location: point,
-	send-time: datetime,
-	referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    tweetid: int64,
+    user: TwitterUserType,
+    sender-location: point,
+    send-time: datetime,
+    referred-topics: {{ string }},
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/limit-issue353.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/limit-issue353.aql
index 53ee86b..9c9e406 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/limit-issue353.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/limit-issue353.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue353
- 				: https://code.google.com/p/asterixdb/issues/detail?id=353
+                 : https://code.google.com/p/asterixdb/issues/detail?id=353
  * Expected Res : Success
  * Date         : 28th April 2013
  */
@@ -29,27 +29,27 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: double,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create dataset LineItem(LineItemType)
   primary key l_orderkey, l_linenumber;
-  
+
 write output to asterix_nc1:"/tmp/push_limit.adm";
 
 for $l in dataset('LineItem')
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql
index 978fee3..93c9532 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.aql
index e990e93..cb9a633 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.aql
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
+}
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
index 4857735..90e7cb9 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
@@ -62,10 +62,10 @@
 where $t1.nested.tweetid > int64("240")
 order by $t1.nested.tweetid
 return {
-    "tweet": {"id": $t1.nested.tweetid, "topics" : $t1.nested.message-text} ,            
+    "tweet": {"id": $t1.nested.tweetid, "topics" : $t1.nested.message-text} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := edit-distance-check($t1.nested.message-text, $t2.nested.message-text, 7)
-		      where $sim[0] and
+              where $sim[0] and
                       $t2.nested.tweetid != $t1.nested.tweetid
                       order by $t2.nested.tweetid
                       return {"id": $t2.nested.tweetid, "topics" : $t2.nested.message-text}
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.aql
index 50b2554..128b068 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
@@ -62,10 +62,10 @@
 where $t1.nested.tweetid > int64("240")
 order by $t1.nested.tweetid
 return {
-    "tweet": {"id": $t1.nested.tweetid, "topics" : $t1.nested.referred-topics} ,            
+    "tweet": {"id": $t1.nested.tweetid, "topics" : $t1.nested.referred-topics} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := similarity-jaccard-check($t1.nested.referred-topics, $t2.nested.referred-topics, 0.5f)
-		      where $sim[0] and
+              where $sim[0] and
                       $t2.nested.tweetid != $t1.nested.tweetid
                       order by $t2.nested.tweetid
                       return {"id": $t2.nested.tweetid, "topics" : $t2.nested.referred-topics}
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.aql
index abda422..0fd522d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.aql
@@ -19,8 +19,8 @@
 /*
  * Description    : Fuzzy self joins a dataset, TweetMessages, based on the similarity-jaccard-check function of its text-messages' word tokens.
  *                  TweetMessages has a keyword index on text-message and btree index on the primary key tweetid, and we expect the join to be
- *					transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
- *					multiple indexed nested loop joins of various type of indexes.
+ *                    transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
+ *                    multiple indexed nested loop joins of various type of indexes.
  * Success        : Yes
  */
 
@@ -29,27 +29,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
-	user: TwitterUserType,
-	sender-location: point,
-	send-time: datetime,
-	referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    tweetid: int64,
+    user: TwitterUserType,
+    sender-location: point,
+    send-time: datetime,
+    referred-topics: {{ string }},
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
index 96927f9..b259612 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create type TweetMessageType as open {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
index 0899338..4fb3041 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create type TweetMessageType as open {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.aql
index 4def993..7991694 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary btree index in index subtree.
- * Issue        : 730, 741                
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,26 +28,26 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
         message-text: string,
-	countA: int32
+    countA: int32
 }
 
 create type TweetMessageType as open {
-	nested:  TweetMessageNestedType
+    nested:  TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql
index cf3aad2..81746b9 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary btree index in index subtree.
- * Issue        : 730, 741                
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,25 +28,25 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
         message-text: string
 }
 
 create type TweetMessageType as open {
-	nested:  TweetMessageNestedType
+    nested:  TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.aql
index 29092d7..d23c8fa 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary btree index in index subtree.
- * Issue        : 730, 741                
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,26 +28,26 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
         message-text: string,
-	countA: int32
+    countA: int32
 }
 
 create type TweetMessageType as open {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql
index dc9961b..f58b102 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary btree index in index subtree.
- * Issue        : 730, 741                
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,25 +28,25 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
         message-text: string
 }
 
 create type TweetMessageType as open {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
index 5da0f36..47bc358 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,26 +28,26 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	countA: int32,
-	countB: int32
+    countA: int32,
+    countB: int32
 }
 
 create type TweetMessageType as open {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
@@ -61,10 +61,10 @@
 where $t1.nested.tweetid > int64("240")
 order by $t1.nested.tweetid
 return {
-    "tweet": {"id": $t1.nested.tweetid, "topics" : $t1.nested.message-text} ,            
+    "tweet": {"id": $t1.nested.tweetid, "topics" : $t1.nested.message-text} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := edit-distance-check($t1.nested.message-text, $t2.nested.message-text, 7)
-		      where $sim[0] and
+              where $sim[0] and
                       $t2.nested.tweetid != $t1.nested.tweetid
                       order by $t2.nested.tweetid
                       return {"id": $t2.nested.tweetid, "topics" : $t2.nested.message-text}
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.aql
index a05cae5..c09ca89 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.aql
@@ -19,8 +19,8 @@
 /*
  * Description    : Fuzzy self joins a dataset, TweetMessages, based on the similarity-jaccard-check function of its text-messages' word tokens.
  *                  TweetMessages has a keyword index on text-message and btree index on the primary key tweetid, and we expect the join to be
- *					transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
- *					multiple indexed nested loop joins of various type of indexes.
+ *                    transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
+ *                    multiple indexed nested loop joins of various type of indexes.
  * Success        : Yes
  */
 
@@ -29,26 +29,26 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
-	user: TwitterUserType,
-	sender-location: point,
-	send-time: datetime,
-	referred-topics: {{ string }},
-	countA: int32,
-	countB: int32
+    tweetid: int64,
+    user: TwitterUserType,
+    sender-location: point,
+    send-time: datetime,
+    referred-topics: {{ string }},
+    countA: int32,
+    countB: int32
 }
 
 create type TweetMessageType as closed {
-	nested:  TweetMessageNestedType
+    nested:  TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
index 364d886..c07ad40 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
@@ -28,26 +28,26 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create type TweetMessageType as open {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
index 3f062d9..2456a17 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
@@ -28,26 +28,26 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create type TweetMessageType as open {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.aql
index 70b2c80..a096c8b 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.aql
@@ -28,19 +28,19 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
     user: TwitterUserType,
     sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
     referred-topics: {{ string }},
     message-text: string,
     countA: int32
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql
index 51459e3..96849fe 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql
@@ -28,19 +28,19 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
     user: TwitterUserType,
     sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
     referred-topics: {{ string }},
     message-text: string
 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.aql
index 6c05bb8..1ff785e 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1.aql
@@ -28,22 +28,22 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32
+    message-text: string,
+    countA: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql
index dd5d7a8..f386e00 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql
@@ -28,21 +28,21 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string
+    message-text: string
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_01.aql
index 876d8b1..ea51434 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_01.aql
@@ -28,7 +28,7 @@
 use dataverse test;
 
 create type Name as open {
-	id: int32
+    id: int32
 }
 
 create dataset Names(Name) primary key id;
@@ -36,7 +36,7 @@
 
 write output to asterix_nc1:"rttest/btree-index-join_secondary-composite-key-prefix-join_01.adm";
 
-for $emp1 in dataset('Names') 
-for $emp2 in dataset('Names') 
+for $emp1 in dataset('Names')
+for $emp2 in dataset('Names')
 where $emp1.fname /*+ indexnl*/> $emp2.fname and $emp1.lname /*+ indexnl*/> $emp2.lname
 return {"emp1": $emp1, "emp2": $emp2 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_02.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_02.aql
index b2f2143..938f9f0 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_02.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_02.aql
@@ -28,7 +28,7 @@
 use dataverse test;
 
 create type Name as open {
-	id: int32
+    id: int32
 }
 
 create dataset Names(Name) primary key id;
@@ -36,7 +36,7 @@
 
 write output to asterix_nc1:"rttest/btree-index-join_secondary-composite-key-prefix-join_02.adm";
 
-for $emp1 in dataset('Names') 
-for $emp2 in dataset('Names') 
+for $emp1 in dataset('Names')
+for $emp2 in dataset('Names')
 where $emp1.fname /*+ indexnl*/< $emp2.fname and $emp1.lname /*+ indexnl*/< $emp2.lname
 return {"emp1": $emp1, "emp2": $emp2 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_03.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_03.aql
index 910876f..82d71ab 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_03.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-join_03.aql
@@ -28,7 +28,7 @@
 use dataverse test;
 
 create type Name as open {
-	id: int32
+    id: int32
 }
 
 create dataset Names(Name) primary key id;
@@ -36,7 +36,7 @@
 
 write output to asterix_nc1:"rttest/btree-index-join_secondary-composite-key-prefix-join_03.adm";
 
-for $emp1 in dataset('Names') 
-for $emp2 in dataset('Names') 
+for $emp1 in dataset('Names')
+for $emp2 in dataset('Names')
 where $emp1.fname /*+ indexnl*/= $emp2.fname and $emp1.lname /*+ indexnl*/= $emp2.lname
 return {"emp1": $emp1, "emp2": $emp2 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_01.aql
index 65edf35..2ee9098 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_01.aql
@@ -28,7 +28,7 @@
 use dataverse test;
 
 create type Name as open {
-	id: int32
+    id: int32
 }
 
 create dataset Names(Name) primary key id;
@@ -36,7 +36,7 @@
 
 write output to asterix_nc1:"rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_01.adm";
 
-for $emp1 in dataset('Names') 
-for $emp2 in dataset('Names') 
+for $emp1 in dataset('Names')
+for $emp2 in dataset('Names')
 where $emp1.fname /*+ indexnl*/< $emp2.fname and $emp1.lname /*+ indexnl*/> $emp2.lname
 return {"emp1": $emp1, "emp2": $emp2 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_02.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_02.aql
index 5074030..b62b48f 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_02.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_02.aql
@@ -28,7 +28,7 @@
 use dataverse test;
 
 create type Name as open {
-	id: int32
+    id: int32
 }
 
 create dataset Names(Name) primary key id;
@@ -36,7 +36,7 @@
 
 write output to asterix_nc1:"rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_02.adm";
 
-for $emp1 in dataset('Names') 
-for $emp2 in dataset('Names') 
+for $emp1 in dataset('Names')
+for $emp2 in dataset('Names')
 where $emp1.fname /*+ indexnl*/> $emp2.fname and $emp1.lname /*+ indexnl*/< $emp2.lname
 return {"emp1": $emp1, "emp2": $emp2 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_03.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_03.aql
index bfddc84..b58ef1c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_03.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_03.aql
@@ -28,7 +28,7 @@
 use dataverse test;
 
 create type Name as open {
-	id: int32
+    id: int32
 }
 
 create dataset Names(Name) primary key id;
@@ -36,7 +36,7 @@
 
 write output to asterix_nc1:"rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_03.adm";
 
-for $emp1 in dataset('Names') 
-for $emp2 in dataset('Names') 
+for $emp1 in dataset('Names')
+for $emp2 in dataset('Names')
 where $emp1.fname /*+ indexnl*/> $emp2.fname and $emp1.lname /*+ indexnl*/= $emp2.lname
 return {"emp1": $emp1, "emp2": $emp2 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_04.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_04.aql
index 2105196..5b4b18e 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_04.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_04.aql
@@ -28,7 +28,7 @@
 use dataverse test;
 
 create type Name as open {
-	id: int32
+    id: int32
 }
 
 create dataset Names(Name) primary key id;
@@ -36,7 +36,7 @@
 
 write output to asterix_nc1:"rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_04.adm";
 
-for $emp1 in dataset('Names') 
-for $emp2 in dataset('Names') 
+for $emp1 in dataset('Names')
+for $emp2 in dataset('Names')
 where $emp1.fname /*+ indexnl*/< $emp2.fname and $emp1.lname /*+ indexnl*/= $emp2.lname
 return {"emp1": $emp1, "emp2": $emp2 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_05.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_05.aql
index f53e6c6..5d0eb2f 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_05.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_05.aql
@@ -28,7 +28,7 @@
 use dataverse test;
 
 create type Name as open {
-	id: int32
+    id: int32
 }
 
 create dataset Names(Name) primary key id;
@@ -36,7 +36,7 @@
 
 write output to asterix_nc1:"rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_05.adm";
 
-for $emp1 in dataset('Names') 
-for $emp2 in dataset('Names') 
+for $emp1 in dataset('Names')
+for $emp2 in dataset('Names')
 where $emp1.fname /*+ indexnl*/= $emp2.fname and $emp1.lname /*+ indexnl*/> $emp2.lname
 return {"emp1": $emp1, "emp2": $emp2 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_06.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_06.aql
index 2719363..a0df2f5 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_06.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/btree-index-join/secondary-composite-key-prefix-join_06.aql
@@ -28,7 +28,7 @@
 use dataverse test;
 
 create type Name as open {
-	id: int32
+    id: int32
 }
 
 create dataset Names(Name) primary key id;
@@ -36,7 +36,7 @@
 
 write output to asterix_nc1:"rttest/btree-index-join_secondary-composite-key-prefix-prefix-join_06.adm";
 
-for $emp1 in dataset('Names') 
-for $emp2 in dataset('Names') 
+for $emp1 in dataset('Names')
+for $emp2 in dataset('Names')
 where $emp1.fname /*+ indexnl*/= $emp2.fname and $emp1.lname /*+ indexnl*/< $emp2.lname
 return {"emp1": $emp1, "emp2": $emp2 }
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
index 1327a16..8bf3b48 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql
@@ -28,22 +28,22 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	countA: int32,
-	countB: int32
+    countA: int32,
+    countB: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
@@ -60,7 +60,7 @@
     "tweet": {"id": $t1.tweetid, "topics" : $t1.message-text} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := edit-distance-check($t1.message-text, $t2.message-text, 7)
-		      where $sim[0] and
+              where $sim[0] and
                       $t2.tweetid != $t1.tweetid
                       order by $t2.tweetid
                       return {"id": $t2.tweetid, "topics" : $t2.message-text}
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.aql
index 98fc92e..0e71a24 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.aql
@@ -19,8 +19,8 @@
 /*
  * Description    : Fuzzy self joins a dataset, TweetMessages, based on the similarity-jaccard-check function of its text-messages' word tokens.
  *                  TweetMessages has a keyword index on text-message and btree index on the primary key tweetid, and we expect the join to be
- *					transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
- *					multiple indexed nested loop joins of various type of indexes.
+ *                    transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
+ *                    multiple indexed nested loop joins of various type of indexes.
  * Success        : Yes
  */
 
@@ -29,22 +29,22 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
-	user: TwitterUserType,
-	sender-location: point,
-	send-time: datetime,
-	referred-topics: {{ string }},
-	countA: int32,
-	countB: int32
+    tweetid: int64,
+    user: TwitterUserType,
+    sender-location: point,
+    send-time: datetime,
+    referred-topics: {{ string }},
+    countA: int32,
+    countB: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
index 185dba2..3be6b83 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
@@ -28,22 +28,22 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
index e6bd649..a3d0aca 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
@@ -28,22 +28,22 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/q09_group_by.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/q09_group_by.aql
index 8a66a24..adb6efe 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/q09_group_by.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/q09_group_by.aql
@@ -23,49 +23,49 @@
 use dataverse q09_group_by;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -82,14 +82,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -100,11 +100,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -113,15 +113,15 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
 for $p in dataset('Part')
@@ -138,7 +138,7 @@
           }
         )
         for $l in dataset('LineItem')
-        where $s1.s_suppkey = $l.l_suppkey       
+        where $s1.s_suppkey = $l.l_suppkey
         return  {
           "l_suppkey": $l.l_suppkey,
           "l_extendedprice": $l.l_extendedprice,
@@ -149,7 +149,7 @@
           "n_name": $s1.n_name
         }
       )
-      where $ps.ps_suppkey = $l1.l_suppkey and $ps.ps_partkey = $l1.l_partkey       
+      where $ps.ps_suppkey = $l1.l_suppkey and $ps.ps_partkey = $l1.l_partkey
       return {
         "l_extendedprice": $l1.l_extendedprice,
         "l_discount": $l1.l_discount,
@@ -160,7 +160,7 @@
         "ps_supplycost": $ps.ps_supplycost
       }
     )
-    where contains($p.p_name, 'green') and $p.p_partkey = $l2.l_partkey    
+    where contains($p.p_name, 'green') and $p.p_partkey = $l2.l_partkey
     return {
       "l_extendedprice": $l2.l_extendedprice,
       "l_discount": $l2.l_discount,
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/q2.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/q2.aql
index 01c49d3..15eb3ef 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/q2.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/q2.aql
@@ -30,8 +30,8 @@
 
 create type EventType as closed {
   name: string,
-  location: AddressType	?,
-  organizers: {{ 
+  location: AddressType    ?,
+  organizers: {{
    {
      name: string,
      role: string
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
index 2623fc4..62ca2bb 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,23 +28,23 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
+}
 
 create type TweetMessageType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
@@ -65,7 +65,7 @@
 "tweetid1": $t1.tweetid,
 "loc1":$t1.sender-location,
 "nearby-message": for $t2 in dataset('TweetMessages')
-                             where spatial-intersect($t2.sender-location, $n) 
-                             order by $t2.tweetid 
+                             where spatial-intersect($t2.sender-location, $n)
+                             order by $t2.tweetid
                              return {"tweetid2":$t2.tweetid, "loc2":$t2.sender-location}
 };
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
index c9da4af..2b6df8a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,23 +28,23 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int32,
-	statuses-count: int32,
-	name: string,
-	followers-count: int32
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int32,
+    statuses-count: int32,
+    name: string,
+    followers-count: int32
+}
 
 create type TweetMessageType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int32,
-	countB: int32
+    message-text: string,
+    countA: int32,
+    countB: int32
 }
 
 create dataset TweetMessages(TweetMessageType)
@@ -65,7 +65,7 @@
 "tweetid1": $t1.tweetid,
 "loc1":$t1.sender-location,
 "nearby-message": for $t2 in dataset('TweetMessages')
-                             where spatial-intersect($t2.sender-location, $n) and $t1.tweetid != $t2.tweetid 
-                             order by $t2.tweetid 
+                             where spatial-intersect($t2.sender-location, $n) and $t1.tweetid != $t2.tweetid
+                             order by $t2.tweetid
                              return {"tweetid2":$t2.tweetid, "loc2":$t2.sender-location}
 };
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql
index 8f0cb34..c1de7b7 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/scan-insert-secondary-index.aql
@@ -21,27 +21,27 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: double,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
   l_suppkey: int32
 }
 
@@ -52,16 +52,16 @@
 
 create dataset LineID(LineIDType)
   primary key l_orderkey on group1;
-  
+
 create index idx_LineID_partkey on LineID(l_partkey);
 create index idx_LineID_suppkey on LineID(l_suppkey);
 
 insert into dataset LineID (
 for $l in dataset('LineItems_q1')
-//	where $l.l_shipdate <= '1998-09-02'
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_partkey": $l.l_partkey,
-		"l_suppkey": $l.l_partkey
-	}
+//    where $l.l_shipdate <= '1998-09-02'
+    return {
+        "l_orderkey": $l.l_orderkey,
+        "l_partkey": $l.l_partkey,
+        "l_suppkey": $l.l_partkey
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql
index 44715d5..d501fc0 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/scan-insert.aql
@@ -21,27 +21,27 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: double, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: double,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type LineIDType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
   l_suppkey: int32
 }
 
@@ -55,10 +55,10 @@
 
 insert into dataset LineID (
 for $l in dataset('LineItems_q1')
-//	where $l.l_shipdate <= '1998-09-02'
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_partkey": $l.l_partkey,
-		"l_suppkey": $l.l_partkey
-	}
+//    where $l.l_shipdate <= '1998-09-02'
+    return {
+        "l_orderkey": $l.l_orderkey,
+        "l_partkey": $l.l_partkey,
+        "l_suppkey": $l.l_partkey
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-01.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-01.sqlpp
index c9e029b..31b4371 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-01.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-01.sqlpp
@@ -21,7 +21,7 @@
  *                  : for an invocation of current-datetime()
  *  Expected Result : Success
  *  Date            : 27th Aug 2015
- *	Author			: Steven Jacobs
+ *    Author            : Steven Jacobs
  */
 
 drop  database emergencyTest if exists;
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-02.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-02.sqlpp
index a340913..10a1a71 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-02.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-02.sqlpp
@@ -21,7 +21,7 @@
  *                  : for an invocation of current-datetime()
  *  Expected Result : Success
  *  Date            : 27th Aug 2015
- *	Author			: Steven Jacobs
+ *    Author            : Steven Jacobs
  */
 
 drop  database emergencyTest if exists;
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-03.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-03.sqlpp
index c694f20..e8dd611 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-03.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-03.sqlpp
@@ -21,7 +21,7 @@
  *                  : for an invocation of current-datetime()
  *  Expected Result : Success
  *  Date            : 27th Aug 2015
- *	Author			: Steven Jacobs
+ *    Author            : Steven Jacobs
  */
 
 drop  database emergencyTest if exists;
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-04.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-04.sqlpp
index 6e5fd3d..5f3876f 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-04.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index/btree-datetime-04.sqlpp
@@ -20,7 +20,7 @@
  *  Description     : This test makes sure that the plan is still okay when not converted to index search
  *  Expected Result : Success
  *  Date            : 27th Aug 2015
- *	Author			: Steven Jacobs
+ *    Author            : Steven Jacobs
  */
 
 drop  database emergencyTest if exists;
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
index 33b715c..09576a2 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
@@ -19,8 +19,8 @@
 /*
  * Description    : Fuzzy self joins a dataset, TweetMessages, based on the similarity-jaccard-check function of its text-messages' word tokens.
  *                  TweetMessages has a keyword index on text-message and btree index on the primary key tweetid, and we expect the join to be
- *					transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
- *					multiple indexed nested loop joins of various type of indexes.
+ *                    transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
+ *                    multiple indexed nested loop joins of various type of indexes.
  * Success        : Yes
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/limit-issue353.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/limit-issue353.sqlpp
index 6021e62..ad1f1be 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/limit-issue353.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/limit-issue353.sqlpp
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue353
- 				: https://code.google.com/p/asterixdb/issues/detail?id=353
+                 : https://code.google.com/p/asterixdb/issues/detail?id=353
  * Expected Res : Success
  * Date         : 28th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
index fb1adcb..ace9eab 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
@@ -19,8 +19,8 @@
 /*
  * Description    : Fuzzy self joins a dataset, TweetMessages, based on the similarity-jaccard-check function of its text-messages' word tokens.
  *                  TweetMessages has a keyword index on text-message and btree index on the primary key tweetid, and we expect the join to be
- *					transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
- *					multiple indexed nested loop joins of various type of indexes.
+ *                    transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
+ *                    multiple indexed nested loop joins of various type of indexes.
  * Success        : Yes
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
index c7e73a2..cf96eef 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
@@ -19,8 +19,8 @@
 /*
  * Description    : Fuzzy self joins a dataset, TweetMessages, based on the similarity-jaccard-check function of its text-messages' word tokens.
  *                  TweetMessages has a keyword index on text-message and btree index on the primary key tweetid, and we expect the join to be
- *					transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
- *					multiple indexed nested loop joins of various type of indexes.
+ *                    transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
+ *                    multiple indexed nested loop joins of various type of indexes.
  * Success        : Yes
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
index 8d00d32..6cf50da 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.sqlpp
@@ -19,8 +19,8 @@
 /*
  * Description    : Fuzzy self joins a dataset, TweetMessages, based on the similarity-jaccard-check function of its text-messages' word tokens.
  *                  TweetMessages has a keyword index on text-message and btree index on the primary key tweetid, and we expect the join to be
- *					transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
- *					multiple indexed nested loop joins of various type of indexes.
+ *                    transformed into btree and inverted indexed nested-loop joins. We test whether the join condition can be transformed into
+ *                    multiple indexed nested loop joins of various type of indexes.
  * Success        : Yes
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/parserts/queries/functionDecl.aql b/asterixdb/asterix-app/src/test/resources/parserts/queries/functionDecl.aql
index dd483e7..55ecd5e 100644
--- a/asterixdb/asterix-app/src/test/resources/parserts/queries/functionDecl.aql
+++ b/asterixdb/asterix-app/src/test/resources/parserts/queries/functionDecl.aql
@@ -17,9 +17,9 @@
  * under the License.
  */
 declare function add($a, $b){
-	$a + $b
+    $a + $b
 }
 
 declare function minus($a, $b){
-	$a - $b
+    $a - $b
 }
diff --git a/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR.aql b/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR.aql
index ad28aee..12f4756 100644
--- a/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR.aql
+++ b/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR.aql
@@ -16,8 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-for $user in 
-	let $data := dataset('User')
-	return $data
+for $user in
+    let $data := dataset('User')
+    return $data
 where some $i in $user.interests satisfies $i = "movies"
 return { "name": $user.name }
diff --git a/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR1.aql b/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR1.aql
index a790c96..4701ec8 100644
--- a/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR1.aql
+++ b/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR1.aql
@@ -18,7 +18,7 @@
  */
 for $i in [1,2,30,40]
 for $j in {{4,5,6}}
-return 
-	for $k in if ($i>$j) then $i else $j
-	where $k <10
-	return $k
+return
+    for $k in if ($i>$j) then $i else $j
+    where $k <10
+    return $k
diff --git a/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR2.aql b/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR2.aql
index e28c6a4..81f9b0d 100644
--- a/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR2.aql
+++ b/asterixdb/asterix-app/src/test/resources/parserts/queries/nestedFLWOGR2.aql
@@ -18,7 +18,7 @@
  */
 for $i in [1,2,30,for $tmp in dataset('number') return $tmp]
 for $j in {{4,5,6}}
-return 
-	for $k in if ($i>$j) then $i else $j
-	where $k <10
-	return $k
+return
+    for $k in if ($i>$j) then $i else $j
+    where $k <10
+    return $k
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.2.update.aql
index 8a9105b..361f9f5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.2.update.aql
@@ -29,10 +29,10 @@
 
 insert into dataset UserOpen(
 for $l in dataset('UserCopyClose')
-	where $l.id>10
-	return {
-		"id": $l.id,
-		"name": $l.name,
-		"md5": $l.md5
-	}
+    where $l.id>10
+    return {
+        "id": $l.id,
+        "name": $l.name,
+        "md5": $l.md5
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.2.update.aql
index c155ec5..b033546 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue51
- 				: https://code.google.com/p/asterixdb/issues/detail?id=51
+                 : https://code.google.com/p/asterixdb/issues/detail?id=51
  * Expected Res : SUCCESS
  * Date         : 14th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.3.query.aql
index 9fbe85c..68a5dcc 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/custord/join_q_04/join_q_04.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue51
- 				: https://code.google.com/p/asterixdb/issues/detail?id=51
+                 : https://code.google.com/p/asterixdb/issues/detail?id=51
  * Expected Res : SUCCESS
  * Date         : 14th May 2013
  */
@@ -28,10 +28,10 @@
 for $c in dataset Customers
 order by $c.name
 return {
-		"cust_name": $c.name,
-		"order_ids":
-			for $o in dataset Orders
-				where $c.cid = $o.cid 
-			order by $o.oid
-			return $o.oid 
-} 
+        "cust_name": $c.name,
+        "order_ids":
+            for $o in dataset Orders
+                where $c.cid = $o.cid
+            order by $o.oid
+            return $o.oid
+}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dapd/q2/q2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dapd/q2/q2.1.ddl.aql
index 8fddb59..8150528 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dapd/q2/q2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dapd/q2/q2.1.ddl.aql
@@ -31,7 +31,7 @@
 create type EventType as closed {
   event_id: int64,
   name: string,
-  location: AddressType	?,
+  location: AddressType    ?,
   organizers: {{
    {
      name: string
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/distinct/query-issue443/query-issue443.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/distinct/query-issue443/query-issue443.3.query.aql
index f693b04..3e475f1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/distinct/query-issue443/query-issue443.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/distinct/query-issue443/query-issue443.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue443
- 				: https://code.google.com/p/asterixdb/issues/detail?id=443
+                 : https://code.google.com/p/asterixdb/issues/detail?id=443
  * Expected Res : Fail
  * Date         : 22th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/delete-multi-statement/delete-multi-statement.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/delete-multi-statement/delete-multi-statement.1.ddl.aql
index 7ef2f5f..d614290 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/delete-multi-statement/delete-multi-statement.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/delete-multi-statement/delete-multi-statement.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,13 +112,13 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.2.update.aql
index bd07d34..acdb5fe 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index-on-open-field/insert-and-scan-dataset-with-index-on-open-field.2.update.aql
@@ -33,10 +33,10 @@
 insert into dataset test.employee (
 for $x in dataset test.employeeClosed
 return {
-	"id": $x.id,
-	"fname": $x.fname,
-	"lname": $x.lname,
-	"age": $x.age,
-	"dept": $x.dept
+    "id": $x.id,
+    "fname": $x.fname,
+    "lname": $x.lname,
+    "age": $x.age,
+    "dept": $x.dept
 }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index/insert-and-scan-dataset-with-index.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index/insert-and-scan-dataset-with-index.2.update.aql
index 3de618a..35d2ee8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index/insert-and-scan-dataset-with-index.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset-with-index/insert-and-scan-dataset-with-index.2.update.aql
@@ -16,14 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : insert-and-scan-dataset-with-index.aql
  * Description     : This test is intended to test inserting into a dataset that has a secondary index and scan
  * the data at the same time where we insert a materializing to prevent the possibility of deadlatch.
  * Expected Result : Success
  * Date            : July 11 2013
  */
- 
+
 use dataverse test;
 
 load dataset test.employee
@@ -34,10 +34,10 @@
 insert into dataset test.employee (
 for $x in dataset test.employee
 return {
-	"id": $x.id + 10000,
-	"fname": $x.fname,
-	"lname": $x.lname,
-	"age": $x.age,
-	"dept": $x.dept
+    "id": $x.id + 10000,
+    "fname": $x.fname,
+    "lname": $x.lname,
+    "age": $x.age,
+    "dept": $x.dept
 }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset/insert-and-scan-dataset.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset/insert-and-scan-dataset.2.update.aql
index 0246807..7e16c0b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset/insert-and-scan-dataset.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-dataset/insert-and-scan-dataset.2.update.aql
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : insert-and-scan-dataset.aql
  * Description     : This test is intended to test inserting into a dataset and scan it at the same time
  * where we insert a materializing to prevent the possibility of deadlatch.
  * Expected Result : Success
  * Date            : July 11 2013
  */
- 
+
 use dataverse test;
 
-load dataset myData 
+load dataset myData
 using localfs
 (("path"="asterix_nc1://data/odd-numbers.adm"),("format"="adm"))pre-sorted;
 
@@ -34,6 +34,6 @@
 insert into dataset myData (
 for $x in dataset myData
 return {
-	"id": $x.id + 1
+    "id": $x.id + 1
 }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-joined-datasets/insert-and-scan-joined-datasets.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-joined-datasets/insert-and-scan-joined-datasets.2.update.aql
index 9b73676..08a7bb8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-joined-datasets/insert-and-scan-joined-datasets.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-and-scan-joined-datasets/insert-and-scan-joined-datasets.2.update.aql
@@ -16,22 +16,22 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : insert-and-scan-joined-datasets.aql
  * Description     : This test is intended to test inserting into a dataset where the incoming stream
-  is involve a join operation that has the same dataset. We insert a materializing to prevent the 
+  is involve a join operation that has the same dataset. We insert a materializing to prevent the
   possibility of deadlatch.
  * Expected Result : Success
  * Date            : July 11 2013
  */
- 
+
 use dataverse test;
 
-load dataset myData 
+load dataset myData
 using localfs
 (("path"="asterix_nc1://data/odd-numbers.adm"),("format"="adm"))pre-sorted;
 
-load dataset myData2 
+load dataset myData2
 using localfs
 (("path"="asterix_nc1://data/odd-numbers-2.adm"),("format"="adm"))pre-sorted;
 
@@ -40,6 +40,6 @@
 for $y in dataset myData
 where $x.id = $y.id
 return {
-	"id": $x.id + 1
+    "id": $x.id + 1
 }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.2.update.aql
index 97d7ebc..a4faba1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset-with-index/insert-into-empty-dataset-with-index.2.update.aql
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : insert-into-empty-dataset-with-index.aql
- * Description     : Check that we can insert into an empty dataset and its empty secondary indexes 
+ * Description     : Check that we can insert into an empty dataset and its empty secondary indexes
  * Expected Result : Success
  * Date            : May 2 2012
  */
@@ -30,9 +30,9 @@
 let $y:=2
 let $z:=3
 return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
+    "l_orderkey": $x,
+    "l_linenumber": $y,
+    "l_suppkey": $z
 }
 );
 
@@ -41,9 +41,9 @@
 let $y:=3
 let $z:=4
 return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
+    "l_orderkey": $x,
+    "l_linenumber": $y,
+    "l_suppkey": $z
 }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.2.update.aql
index d5080c9..945ea50 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-empty-dataset/insert-into-empty-dataset.2.update.aql
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : insert-into-empty-dataset.aql
- * Description     : Check that we can insert into an empty dataset 
+ * Description     : Check that we can insert into an empty dataset
  * Expected Result : Success
  * Date            : May 2 2012
  */
@@ -30,9 +30,9 @@
 let $y:=2
 let $z:=3
 return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
+    "l_orderkey": $x,
+    "l_linenumber": $y,
+    "l_suppkey": $z
 }
 );
 
@@ -41,9 +41,9 @@
 let $y:=3
 let $z:=4
 return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
+    "l_orderkey": $x,
+    "l_linenumber": $y,
+    "l_suppkey": $z
 }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.4.update.aql
index c81ffd7..f33d1a9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_01/insert-into-loaded-dataset-with-index_01.4.update.aql
@@ -23,9 +23,9 @@
 let $y:=2
 let $z:=3
 return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
+    "l_orderkey": $x,
+    "l_linenumber": $y,
+    "l_suppkey": $z
 }
 );
 
@@ -34,9 +34,9 @@
 let $y:=3
 let $z:=4
 return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
+    "l_orderkey": $x,
+    "l_linenumber": $y,
+    "l_suppkey": $z
 }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.4.update.aql
index c2af218..8f481e7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset-with-index_02/insert-into-loaded-dataset-with-index_02.4.update.aql
@@ -20,11 +20,11 @@
 
 insert into dataset LineID (
 for $l in dataset('LineItem')
-	where $l.l_orderkey<10
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
+    where $l.l_orderkey<10
+    return {
+        "l_orderkey": $l.l_orderkey,
+        "l_linenumber": $l.l_linenumber,
+        "l_suppkey": $l.l_partkey
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.2.update.aql
index 247a170..42c8f18 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-into-loaded-dataset_01/insert-into-loaded-dataset_01.2.update.aql
@@ -18,7 +18,7 @@
  */
 use dataverse test;
 
-load dataset LineID 
+load dataset LineID
 using localfs
 (("path"="asterix_nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
@@ -27,9 +27,9 @@
 let $y:=2
 let $z:=3
 return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
+    "l_orderkey": $x,
+    "l_linenumber": $y,
+    "l_suppkey": $z
 }
 );
 
@@ -38,9 +38,9 @@
 let $y:=3
 let $z:=4
 return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
+    "l_orderkey": $x,
+    "l_linenumber": $y,
+    "l_suppkey": $z
 }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-record-function/insert-record-function.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-record-function/insert-record-function.2.update.aql
index 9cf4b07..89b6db7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-record-function/insert-record-function.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert-record-function/insert-record-function.2.update.aql
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : insert-into-empty-dataset.aql
- * Description     : Check that we can insert into an empty dataset 
+ * Description     : Check that we can insert into an empty dataset
  * Expected Result : Success
  * Date            : May 2 2012
  */
@@ -30,9 +30,9 @@
 let $y:=2
 let $z:=3
 return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
+    "l_orderkey": $x,
+    "l_linenumber": $y,
+    "l_suppkey": $z
 }
 );
 
@@ -41,9 +41,9 @@
 let $y:=3
 let $z:=4
 return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
+    "l_orderkey": $x,
+    "l_linenumber": $y,
+    "l_suppkey": $z
 }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.2.update.aql
index 8250081..a154888 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert/insert.2.update.aql
@@ -18,22 +18,22 @@
  */
 use dataverse test;
 
-load dataset LineItem 
+load dataset LineItem
 using localfs
 (("path"="asterix_nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
-load dataset LineID 
+load dataset LineID
 using localfs
 (("path"="asterix_nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
 
 insert into dataset LineID (
 for $l in dataset('LineItem')
-	where $l.l_orderkey<10
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
+    where $l.l_orderkey<10
+    return {
+        "l_orderkey": $l.l_orderkey,
+        "l_linenumber": $l.l_linenumber,
+        "l_suppkey": $l.l_partkey
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.2.update.aql
index 86caa69..d4cd11b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/insert_less_nc/insert_less_nc.2.update.aql
@@ -18,21 +18,21 @@
  */
 use dataverse test;
 
-load dataset LineItem 
+load dataset LineItem
 using localfs
 (("path"="asterix_nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
-load dataset LineID 
+load dataset LineID
 using localfs
 (("path"="asterix_nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
 insert into dataset LineID (
 for $l in dataset('LineItem')
-	where $l.l_orderkey<1000
-	return {
-		"l_orderkey": $l.l_orderkey,
-		"l_linenumber": $l.l_linenumber,
-		"l_suppkey": $l.l_partkey
-	}
+    where $l.l_orderkey<1000
+    return {
+        "l_orderkey": $l.l_orderkey,
+        "l_linenumber": $l.l_linenumber,
+        "l_suppkey": $l.l_partkey
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-index-open/load-with-index-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-index-open/load-with-index-open.2.update.aql
index 90dfe43..44edb07 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-index-open/load-with-index-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-index-open/load-with-index-open.2.update.aql
@@ -18,11 +18,11 @@
  */
 use dataverse test;
 
-load dataset LineItem 
+load dataset LineItem
 using localfs
 (("path"="asterix_nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
 insert into dataset test.LineItemOpen (
-	for $x in dataset test.LineItem
-		return $x
+    for $x in dataset test.LineItem
+        return $x
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-ngram-index-open/load-with-ngram-index-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-ngram-index-open/load-with-ngram-index-open.2.update.aql
index dc03eaf..b174592 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-ngram-index-open/load-with-ngram-index-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-ngram-index-open/load-with-ngram-index-open.2.update.aql
@@ -22,6 +22,6 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLPOpen (
-	for $x in dataset test.DBLP
-		return $x
+    for $x in dataset test.DBLP
+        return $x
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-rtree-index-open/load-with-rtree-index-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-rtree-index-open/load-with-rtree-index-open.2.update.aql
index 737c0d8..97602cb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-rtree-index-open/load-with-rtree-index-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-rtree-index-open/load-with-rtree-index-open.2.update.aql
@@ -18,11 +18,11 @@
  */
 use dataverse test;
 
-load dataset MyData 
+load dataset MyData
 using localfs
 (("path"="asterix_nc1://data/spatial/spatialData.json"),("format"="adm")) pre-sorted;
 
 insert into dataset test.MyDataOpen (
-	for $x in dataset test.MyData
-		return $x
+    for $x in dataset test.MyData
+        return $x
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-word-index-open/load-with-word-index-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-word-index-open/load-with-word-index-open.2.update.aql
index dc03eaf..b174592 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-word-index-open/load-with-word-index-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/load-with-word-index-open/load-with-word-index-open.2.update.aql
@@ -22,6 +22,6 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLPOpen (
-	for $x in dataset test.DBLP
-		return $x
+    for $x in dataset test.DBLP
+        return $x
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.2.update.aql
index 7fcc2fa..25a4c74 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o-recursive/opentype-c2o-recursive.2.update.aql
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-o2c-recursive.aql
- * Description     : verify the static casting of nest record constants 
+ * Description     : verify the static casting of nest record constants
  * Expected Result : Success
  */
 
@@ -41,7 +41,7 @@
 );
 
 insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
+ for $d in dataset("testds")
+    return $d
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.1.ddl.aql
index 55c3eb4..3736b23 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.1.ddl.aql
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-c2o.aql
  * Description     : read data from a closed type dataset into a open type dataset and verify if
- *					records can be casted to the target open type 
+ *                    records can be casted to the target open type
  * Expected Result : Success
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.2.update.aql
index 8ceaa1f..4f74e16 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.2.update.aql
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-c2o.aql
  * Description     : read data from a closed type dataset into a open type dataset and verify if
- *					records can be casted to the target open type 
+ *                    records can be casted to the target open type
  * Expected Result : Success
  */
 
 use dataverse testdv2;
- 
+
 insert into dataset testds (
 { "hobby": {{"music", "coding"}}, "id": "001", "name": "Person Three"}
 );
@@ -40,13 +40,13 @@
 insert into dataset testds (
 { "id": "004", "name": "Person Four", "hobby": {{"swimming"}} }
 );
- 
+
 insert into dataset testds (
 { "name": "Person Five", "id": "005"}
-); 
- 
+);
+
 insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
+ for $d in dataset("testds")
+    return $d
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.3.query.aql
index 0c0caae..6ef3159 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-c2o/opentype-c2o.3.query.aql
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-c2o.aql
  * Description     : read data from a closed type dataset into a open type dataset and verify if
- *					records can be casted to the target open type 
+ *                    records can be casted to the target open type
  * Expected Result : Success
  */
 
 use dataverse testdv2;
 
-for $d in dataset("testds2") 
+for $d in dataset("testds2")
 order by $d.id
 return $d
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.1.ddl.aql
index e083d1a..9e7e50c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.1.ddl.aql
@@ -19,7 +19,7 @@
 /*
  * Test case Name  : opentype-insert2.aql
  * Description     : verify that the case where SetClosedRecordRule should not rewrite
- *					the plan to use closed-record-descriptor
+ *                    the plan to use closed-record-descriptor
  * Expected Result : Success
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.2.update.aql
index 881c62a..aa59e11 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.2.update.aql
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-insert2.aql
  * Description     : verify that the case where SetClosedRecordRule should not rewrite
- *					the plan to use closed-record-descriptor
+ *                    the plan to use closed-record-descriptor
  * Expected Result : Success
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.3.query.aql
index 37c42e5..a6e3185 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-insert2/opentype-insert2.3.query.aql
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-insert2.aql
  * Description     : verify that the case where SetClosedRecordRule should not rewrite
- *					the plan to use closed-record-descriptor
+ *                    the plan to use closed-record-descriptor
  * Expected Result : Success
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.1.ddl.aql
index ce91ba3..e2cdc3e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.1.ddl.aql
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-noexpand.aql
  * Description     : verify that open type dataset can have records without open fields
- *					 verify the bag-based fields
+ *                     verify the bag-based fields
  * Expected Result : Success
  */
- 
+
 drop dataverse testdv2 if exists;
 create dataverse testdv2;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.2.update.aql
index 1b3ab9b..4dfdfe4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.2.update.aql
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-noexpand.aql
  * Description     : verify that open type dataset can have records without open fields
- *					 verify the bag-based fields
+ *                     verify the bag-based fields
  * Expected Result : Success
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.3.query.aql
index 4384e04..6697435 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-noexpand/opentype-noexpand.3.query.aql
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-noexpand.aql
  * Description     : verify that open type dataset can have records without open fields
- *					 verify the bag-based fields
+ *                     verify the bag-based fields
  * Expected Result : Success
  */
 
 use dataverse testdv2;
 
-for $d in dataset("testds") 
+for $d in dataset("testds")
 order by $d.id
 return $d
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.2.update.aql
index 79970fc..f940b46 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c-recursive/opentype-o2c-recursive.2.update.aql
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-o2c-recursive.aql
- * Description     : verify the static casting of nest record constants 
+ * Description     : verify the static casting of nest record constants
  * Expected Result : Success
  */
 
@@ -41,7 +41,7 @@
 );
 
 insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
+ for $d in dataset("testds")
+    return $d
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.1.ddl.aql
index 71d1861..2fbc5f2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.1.ddl.aql
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-o2c.aql
  * Description     : verify that open records can be inserted into a closed dataset
- *					 verify missing optional fields in the closed part of the target closed dataset are allowed
+ *                     verify missing optional fields in the closed part of the target closed dataset are allowed
  * Expected Result : Success
  */
 
@@ -42,5 +42,5 @@
 
 create dataset testds(testtype) primary key id;
 
-create dataset testds2(testtype2) primary key id; 
+create dataset testds2(testtype2) primary key id;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.2.update.aql
index 21b6953..af659af 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.2.update.aql
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-o2c.aql
  * Description     : verify that open records can be inserted into a closed dataset
- *					 verify missing optional fields in the closed part of the target closed dataset are allowed
+ *                     verify missing optional fields in the closed part of the target closed dataset are allowed
  * Expected Result : Success
  */
 
 use dataverse testdv2;
- 
+
 insert into dataset testds (
 { "id": "001",  "hobby": {{"music"}}, "name": "Person Three"}
 );
@@ -46,7 +46,7 @@
 );
 
 insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
+ for $d in dataset("testds")
+    return $d
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.3.query.aql
index eaba5d9..c512393 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2c/opentype-o2c.3.query.aql
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-o2c.aql
  * Description     : verify that open records can be inserted into a closed dataset
- *					 verify missing optional fields in the closed part of the target closed dataset are allowed
+ *                     verify missing optional fields in the closed part of the target closed dataset are allowed
  * Expected Result : Success
  */
 
 use dataverse testdv2;
 
-for $d in dataset("testds2") 
+for $d in dataset("testds2")
 order by $d.id
 return $d
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.1.ddl.aql
index eec1245..fbc5766 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.1.ddl.aql
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-o2o.aql
  * Description     : verify that the dynamic type cast from one open type to another compatible open type
- *					 verify the bag-based fields
+ *                     verify the bag-based fields
  * Expected Result : Success
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.2.update.aql
index 0ab63da..db1c0f0 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.2.update.aql
@@ -16,16 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-o2o.aql
  * Description     : verify that the dynamic type cast from one open type to another compatible open type
- *					 verify the bag-based fields
+ *                     verify the bag-based fields
  * Expected Result : Success
  */
 
 
 use dataverse testdv2;
- 
+
 insert into dataset testds (
 { "name": "Person One",  "id": "001", "hobby": "music"}
 );
@@ -43,7 +43,7 @@
 );
 
 insert into dataset testds2 (
- for $d in dataset("testds") 
-	return $d
+ for $d in dataset("testds")
+    return $d
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.3.query.aql
index 18f8c42..51745f6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/opentype-o2o/opentype-o2o.3.query.aql
@@ -16,16 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : opentype-o2o.aql
  * Description     : verify that the dynamic type cast from one open type to another compatible open type
- *					 verify the bag-based fields
+ *                     verify the bag-based fields
  * Expected Result : Success
  */
 
 
 use dataverse testdv2;
 
-for $d in dataset("testds2") 
+for $d in dataset("testds2")
 order by $d.id
 return $d
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/query-issue205.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/query-issue205.2.update.aql
index cc71e55..901af33 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/query-issue205.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/query-issue205.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue205
- 				: https://code.google.com/p/asterixdb/issues/detail?id=205
+                 : https://code.google.com/p/asterixdb/issues/detail?id=205
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/query-issue205.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/query-issue205.3.query.aql
index 55f3313..634df86 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/query-issue205.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue205/query-issue205.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue205
- 				: https://code.google.com/p/asterixdb/issues/detail?id=205
+                 : https://code.google.com/p/asterixdb/issues/detail?id=205
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.2.update.aql
index 38a90f1..786e3e2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.2.update.aql
@@ -18,14 +18,14 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue288
- 				: https://code.google.com/p/asterixdb/issues/detail?id=288
+                 : https://code.google.com/p/asterixdb/issues/detail?id=288
  * Expected Res : Success
  * Date         : 3th April 2013
  */
 
 use dataverse test;
 
-load dataset LineID 
+load dataset LineID
 using localfs
 (("path"="asterix_nc1://data/tpch0.001/lineitem_0.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
@@ -35,9 +35,9 @@
 let $y:=2
 let $z:=3
 return {
-	"l_orderkey": $x,
-	"l_linenumber": $y,
-	"l_suppkey": $z
+    "l_orderkey": $x,
+    "l_linenumber": $y,
+    "l_suppkey": $z
 }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.3.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.3.ddl.aql
index fb6ff6c..7c54bfe 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.3.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.3.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue288
- 				: https://code.google.com/p/asterixdb/issues/detail?id=288
+                 : https://code.google.com/p/asterixdb/issues/detail?id=288
  * Expected Res : Success
  * Date         : 3th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.4.update.aql
index c43b0d0..ea8287c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.4.update.aql
@@ -18,26 +18,26 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue288
- 				: https://code.google.com/p/asterixdb/issues/detail?id=288
+                 : https://code.google.com/p/asterixdb/issues/detail?id=288
  * Expected Res : Success
  * Date         : 3th April 2013
  */
- 
+
 use dataverse test;
 
 insert into dataset LineID2
 (
-	for $r in dataset('LineID')
-	return $r
+    for $r in dataset('LineID')
+    return $r
 );
 
 // If we replace the insert statement with this, it will work
 /* insert into dataset LineID2
 (
-	for $r in dataset('LineID')
-	return {
-"l_orderkey": $r.l_orderkey, 
-"l_linenumber": $r.l_linenumber, 
+    for $r in dataset('LineID')
+    return {
+"l_orderkey": $r.l_orderkey,
+"l_linenumber": $r.l_linenumber,
 "l_suppkey": $r.l_suppkey}
 );
-*/ 
+*/
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.5.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.5.query.aql
index 9467b36..96bfd4e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.5.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue288/query-issue288.5.query.aql
@@ -18,13 +18,13 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue288
- 				: https://code.google.com/p/asterixdb/issues/detail?id=288
+                 : https://code.google.com/p/asterixdb/issues/detail?id=288
  * Expected Res : Success
  * Date         : 3th April 2013
  */
- 
+
 use dataverse test;
-   
+
 for $c in dataset('LineID2')
 where $c.l_linenumber=2
-return $c 
+return $c
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue433/query-issue433.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue433/query-issue433.2.update.aql
index e5e9952..6761d0e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue433/query-issue433.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue433/query-issue433.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue433
- 				: https://code.google.com/p/asterixdb/issues/detail?id=433
+                 : https://code.google.com/p/asterixdb/issues/detail?id=433
  * Expected Res : Success
  * Date         : 3th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue433/query-issue433.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue433/query-issue433.3.query.aql
index c2e5270..17c09ee 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue433/query-issue433.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/query-issue433/query-issue433.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue433
- 				: https://code.google.com/p/asterixdb/issues/detail?id=433
+                 : https://code.google.com/p/asterixdb/issues/detail?id=433
  * Expected Res : Success
  * Date         : 3th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-open/scan-delete-btree-secondary-index-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-open/scan-delete-btree-secondary-index-open.2.update.aql
index 53f74d3..d37f67d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-open/scan-delete-btree-secondary-index-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-btree-secondary-index-open/scan-delete-btree-secondary-index-open.2.update.aql
@@ -30,13 +30,13 @@
 (("path"="asterix_nc1://data/semistructured/co1k/customer.adm"),("format"="adm"));
 
 insert into dataset test.CustomersOpen (
-	for $x in dataset test.Customers
-		return {
-			"cid": $x.cid,
-			"name": $x.name,
-			"age": $x.age,
-			"address": $x.address,
-			"interests": $x.interests,
-			"children": $x.children
-		}
+    for $x in dataset test.Customers
+        return {
+            "cid": $x.cid,
+            "name": $x.name,
+            "age": $x.age,
+            "address": $x.address,
+            "interests": $x.interests,
+            "children": $x.children
+        }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-inverted-index-ngram-secondary-index-open/scan-delete-inverted-index-ngram-secondary-index-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-inverted-index-ngram-secondary-index-open/scan-delete-inverted-index-ngram-secondary-index-open.2.update.aql
index 2440a95..5a52697 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-inverted-index-ngram-secondary-index-open/scan-delete-inverted-index-ngram-secondary-index-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-inverted-index-ngram-secondary-index-open/scan-delete-inverted-index-ngram-secondary-index-open.2.update.aql
@@ -29,6 +29,6 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLPOpen (
-	for $x in dataset test.DBLP
-		return $x
+    for $x in dataset test.DBLP
+        return $x
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-inverted-index-word-secondary-index-open/scan-delete-inverted-index-word-secondary-index-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-inverted-index-word-secondary-index-open/scan-delete-inverted-index-word-secondary-index-open.2.update.aql
index 9c610f2..949d0a3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-inverted-index-word-secondary-index-open/scan-delete-inverted-index-word-secondary-index-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-inverted-index-word-secondary-index-open/scan-delete-inverted-index-word-secondary-index-open.2.update.aql
@@ -29,6 +29,6 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLPOpen (
-	for $x in dataset test.DBLP
-		return $x
+    for $x in dataset test.DBLP
+        return $x
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-open/scan-delete-rtree-secondary-index-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-open/scan-delete-rtree-secondary-index-open.2.update.aql
index 0498910..883ac27 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-open/scan-delete-rtree-secondary-index-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-delete-rtree-secondary-index-open/scan-delete-rtree-secondary-index-open.2.update.aql
@@ -30,6 +30,6 @@
 (("path"="asterix_nc1://data/spatial/spatialData.json"),("format"="adm")) pre-sorted;
 
 insert into dataset test.MyDataOpen (
-	for $x in dataset test.MyData
-		return $x
+    for $x in dataset test.MyData
+        return $x
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.4.update.aql
index 1886a9f..b97c1c0 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.4.update.aql
@@ -20,15 +20,15 @@
 
 insert into dataset CustomersMini
 (
-	for $c in dataset('Customers')
-	where $c.cid < 200	
-	return {
-	  "cid": $c.cid,
-  	  "name": $c.name,
-  	  "age": $c.age,
-  	  "address": $c.address,
-  	  "interests": $c.interests,
-  	  "children": $c.children
-	}	
+    for $c in dataset('Customers')
+    where $c.cid < 200
+    return {
+      "cid": $c.cid,
+        "name": $c.name,
+        "age": $c.age,
+        "address": $c.address,
+        "interests": $c.interests,
+        "children": $c.children
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-open/scan-insert-btree-secondary-index-open.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-open/scan-insert-btree-secondary-index-open.4.update.aql
index 38787c8..d87dd7d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-open/scan-insert-btree-secondary-index-open.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-btree-secondary-index-open/scan-insert-btree-secondary-index-open.4.update.aql
@@ -20,15 +20,15 @@
 
 insert into dataset CustomersOpen
 (
-	for $c in dataset('Customers')
-	where $c.cid < 200	
-	return {
-	  "cid": $c.cid,
-  	  "name": $c.name,
-  	  "age": $c.age,
-  	  "address": $c.address,
-  	  "interests": $c.interests,
-  	  "children": $c.children
-	}	
+    for $c in dataset('Customers')
+    where $c.cid < 200
+    return {
+      "cid": $c.cid,
+        "name": $c.name,
+        "age": $c.age,
+        "address": $c.address,
+        "interests": $c.interests,
+        "children": $c.children
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index-nullable/scan-insert-inverted-index-ngram-secondary-index-nullable.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index-nullable/scan-insert-inverted-index-ngram-secondary-index-nullable.4.update.aql
index ba90179..17afa89 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index-nullable/scan-insert-inverted-index-ngram-secondary-index-nullable.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index-nullable/scan-insert-inverted-index-ngram-secondary-index-nullable.4.update.aql
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : scan-insert-inverted-index-ngram-secondary-index-nullable.aql
- * Description     : This test is intended to test insertion from secondary ngram inverted index that are built on nullable fields.  
+ * Description     : This test is intended to test insertion from secondary ngram inverted index that are built on nullable fields.
  * Expected Result : Success
  * Date            : March 31 2013
  */
- 
+
 use dataverse test;
 
 insert into dataset DBLP1 (
@@ -30,10 +30,10 @@
 where contains($o.title, "Multimedia")
 order by $o.id
 return {
-		"id": $o.id,
-		"dblpid": $o.dblpid,
-		"title": $o.title,
-		"authors": $o.authors,
-		"misc": $o.misc
-	}
+        "id": $o.id,
+        "dblpid": $o.dblpid,
+        "title": $o.title,
+        "authors": $o.authors,
+        "misc": $o.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index-open/scan-insert-inverted-index-ngram-secondary-index-open.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index-open/scan-insert-inverted-index-ngram-secondary-index-open.4.update.aql
index 8dffbc0..ee8fda9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index-open/scan-insert-inverted-index-ngram-secondary-index-open.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index-open/scan-insert-inverted-index-ngram-secondary-index-open.4.update.aql
@@ -30,10 +30,10 @@
 where contains($o.title, "Multimedia")
 order by $o.id
 return {
-		"id": $o.id,
-		"dblpid": $o.dblpid,
-		"title": $o.title,
-		"authors": $o.authors,
-		"misc": $o.misc
-	}
+        "id": $o.id,
+        "dblpid": $o.dblpid,
+        "title": $o.title,
+        "authors": $o.authors,
+        "misc": $o.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index/scan-insert-inverted-index-ngram-secondary-index.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index/scan-insert-inverted-index-ngram-secondary-index.4.update.aql
index 5113771..b1b57d8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index/scan-insert-inverted-index-ngram-secondary-index.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-ngram-secondary-index/scan-insert-inverted-index-ngram-secondary-index.4.update.aql
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : scan-insert-inverted-index-ngram-secondary-index.aql
- * Description     : This test is intended to test insertion from secondary ngram inverted index. 
+ * Description     : This test is intended to test insertion from secondary ngram inverted index.
  * Expected Result : Success
  * Date            : March 31 2013
  */
- 
+
 use dataverse test;
 
 insert into dataset DBLP1 (
@@ -30,10 +30,10 @@
 where contains($o.title, "Multimedia")
 order by $o.id
 return {
-		"id": $o.id,
-		"dblpid": $o.dblpid,
-		"title": $o.title,
-		"authors": $o.authors,
-		"misc": $o.misc
-	}
+        "id": $o.id,
+        "dblpid": $o.dblpid,
+        "title": $o.title,
+        "authors": $o.authors,
+        "misc": $o.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index-nullable/scan-insert-inverted-index-word-secondary-index-nullable.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index-nullable/scan-insert-inverted-index-word-secondary-index-nullable.4.update.aql
index a174a96..7e3292b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index-nullable/scan-insert-inverted-index-word-secondary-index-nullable.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index-nullable/scan-insert-inverted-index-word-secondary-index-nullable.4.update.aql
@@ -16,23 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : scan-insert-inverted-index-word-secondary-index-nullable.aql
- * Description     : This test is intended to test insertion from secondary keyword inverted index that are built on nullable fields.  
+ * Description     : This test is intended to test insertion from secondary keyword inverted index that are built on nullable fields.
  * Expected Result : Success
  * Date            : March 31 2013
  */
- 
+
 use dataverse test;
 
 insert into dataset DBLP1 (
 for $o in dataset('DBLP')
 order by $o.id
 return {
-		"id": $o.id,
-		"dblpid": $o.dblpid,
-		"title": $o.title,
-		"authors": $o.authors,
-		"misc": $o.misc
-	}
+        "id": $o.id,
+        "dblpid": $o.dblpid,
+        "title": $o.title,
+        "authors": $o.authors,
+        "misc": $o.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index-open/scan-insert-inverted-index-word-secondary-index-open.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index-open/scan-insert-inverted-index-word-secondary-index-open.4.update.aql
index 07dbc22..c26292e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index-open/scan-insert-inverted-index-word-secondary-index-open.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index-open/scan-insert-inverted-index-word-secondary-index-open.4.update.aql
@@ -29,10 +29,10 @@
 for $o in dataset('DBLP')
 order by $o.id
 return {
-		"id": $o.id,
-		"dblpid": $o.dblpid,
-		"title": $o.title,
-		"authors": $o.authors,
-		"misc": $o.misc
-	}
+        "id": $o.id,
+        "dblpid": $o.dblpid,
+        "title": $o.title,
+        "authors": $o.authors,
+        "misc": $o.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index/scan-insert-inverted-index-word-secondary-index.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index/scan-insert-inverted-index-word-secondary-index.4.update.aql
index 7e19ec7..15b0ef52 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index/scan-insert-inverted-index-word-secondary-index.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-inverted-index-word-secondary-index/scan-insert-inverted-index-word-secondary-index.4.update.aql
@@ -16,23 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : scan-insert-inverted-index-word-secondary-index.aql
- * Description     : This test is intended to test insertion from secondary keyword inverted index. 
+ * Description     : This test is intended to test insertion from secondary keyword inverted index.
  * Expected Result : Success
  * Date            : March 31 2013
  */
- 
+
 use dataverse test;
 
 insert into dataset DBLP1 (
 for $o in dataset('DBLP')
 order by $o.id
 return {
-		"id": $o.id,
-		"dblpid": $o.dblpid,
-		"title": $o.title,
-		"authors": $o.authors,
-		"misc": $o.misc
-	}
+        "id": $o.id,
+        "dblpid": $o.dblpid,
+        "title": $o.title,
+        "authors": $o.authors,
+        "misc": $o.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.4.update.aql
index 77ec1f8..19ca907 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.4.update.aql
@@ -20,10 +20,10 @@
 
 insert into dataset MyMiniData
 (
-	for $m in dataset('MyData')
-	return {
-		"id": $m.id,
-		"point": $m.point
-	}
+    for $m in dataset('MyData')
+    return {
+        "id": $m.id,
+        "point": $m.point
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-open/scan-insert-rtree-secondary-index-open.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-open/scan-insert-rtree-secondary-index-open.4.update.aql
index 56f3056..7dd6780 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-open/scan-insert-rtree-secondary-index-open.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index-open/scan-insert-rtree-secondary-index-open.4.update.aql
@@ -27,10 +27,10 @@
 
 insert into dataset MyOpenData
 (
-	for $m in dataset('MyData')
-	return {
-		"id": $m.id,
-		"point": $m.point
-	}
+    for $m in dataset('MyData')
+    return {
+        "id": $m.id,
+        "point": $m.point
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql
index 77ec1f8..19ca907 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql
@@ -20,10 +20,10 @@
 
 insert into dataset MyMiniData
 (
-	for $m in dataset('MyData')
-	return {
-		"id": $m.id,
-		"point": $m.point
-	}
+    for $m in dataset('MyData')
+    return {
+        "id": $m.id,
+        "point": $m.point
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/feeds/feeds_05/feeds_05.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/feeds/feeds_05/feeds_05.1.ddl.aql
index c4536a6..ea64bef 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/feeds/feeds_05/feeds_05.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/feeds/feeds_05/feeds_05.1.ddl.aql
@@ -17,11 +17,11 @@
  * under the License.
  */
 /*
- * Description  : Create a feed dataset that uses the synthetic feed simulator adapter. 
-                  The synthetic feed simulator uses the Social-Data generator to generate data and simulate a feed. 
-                  The feed lasts a configured duration with data arriving at a configured rate (tweets per second). 
+ * Description  : Create a feed dataset that uses the synthetic feed simulator adapter.
+                  The synthetic feed simulator uses the Social-Data generator to generate data and simulate a feed.
+                  The feed lasts a configured duration with data arriving at a configured rate (tweets per second).
                   Verify the existence of data after the feed finishes.
-                  
+
  * Expected Res : Success
  * Date         : 20th Jun 2013
  */
@@ -31,21 +31,21 @@
 use dataverse feeds;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends_count: int32,
-	statuses_count: int32,
-	name: string,
-	followers_count: int32
-} 
+    screen-name: string,
+    lang: string,
+    friends_count: int32,
+    statuses_count: int32,
+    name: string,
+    followers_count: int32
+}
 
 create type TweetMessageType as closed {
-	tweetid: string,
+    tweetid: string,
     user: TwitterUserType,
     sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
     referred-topics: {{ string }},
-	message-text: string
+    message-text: string
 }
 
 create dataset SyntheticTweets(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-btree/insert-with-secondary-btree.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-btree/insert-with-secondary-btree.4.update.aql
index b1ba76c..4c9b116 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-btree/insert-with-secondary-btree.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-btree/insert-with-secondary-btree.4.update.aql
@@ -20,5 +20,5 @@
 
 insert into dataset FacebookMessages2 (
 for $m in dataset('FacebookMessages')
-	return $m
+    return $m
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-inverted-ngram/insert-with-secondary-inverted-ngram.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-inverted-ngram/insert-with-secondary-inverted-ngram.4.update.aql
index b1ba76c..4c9b116 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-inverted-ngram/insert-with-secondary-inverted-ngram.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-inverted-ngram/insert-with-secondary-inverted-ngram.4.update.aql
@@ -20,5 +20,5 @@
 
 insert into dataset FacebookMessages2 (
 for $m in dataset('FacebookMessages')
-	return $m
+    return $m
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-inverted-word/insert-with-secondary-inverted-word.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-inverted-word/insert-with-secondary-inverted-word.4.update.aql
index b1ba76c..4c9b116 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-inverted-word/insert-with-secondary-inverted-word.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-inverted-word/insert-with-secondary-inverted-word.4.update.aql
@@ -20,5 +20,5 @@
 
 insert into dataset FacebookMessages2 (
 for $m in dataset('FacebookMessages')
-	return $m
+    return $m
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-rtree/insert-with-secondary-rtree.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-rtree/insert-with-secondary-rtree.4.update.aql
index b1ba76c..4c9b116 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-rtree/insert-with-secondary-rtree.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert-with-secondary-rtree/insert-with-secondary-rtree.4.update.aql
@@ -20,5 +20,5 @@
 
 insert into dataset FacebookMessages2 (
 for $m in dataset('FacebookMessages')
-	return $m
+    return $m
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert/insert.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert/insert.4.update.aql
index b1ba76c..4c9b116 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert/insert.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/insert/insert.4.update.aql
@@ -20,5 +20,5 @@
 
 insert into dataset FacebookMessages2 (
 for $m in dataset('FacebookMessages')
-	return $m
+    return $m
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/nested-filter-equality-predicate/equality-predicate.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/nested-filter-equality-predicate/equality-predicate.2.update.aql
index f2eaf14..1a63ba1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/nested-filter-equality-predicate/equality-predicate.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/nested-filter-equality-predicate/equality-predicate.2.update.aql
@@ -23,8 +23,8 @@
 
 insert into dataset FacebookMessages
 (
-	for $c in dataset('FacebookMessagesTmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('FacebookMessagesTmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-splits-3_1/dblp-splits-3_1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-splits-3_1/dblp-splits-3_1.3.query.aql
index 5e39293..1cfeb01 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-splits-3_1/dblp-splits-3_1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-splits-3_1/dblp-splits-3_1.3.query.aql
@@ -21,7 +21,7 @@
 //
 // -- - Stage 3 - --
 //
-for $ridpair in 
+for $ridpair in
     //
     // -- - Stage 2 - --
     //
@@ -42,7 +42,7 @@
         order by $i
         return $i
     for $prefix_tokenLeft in subset-collection(
-                                $tokensLeft, 
+                                $tokensLeft,
                                 0,
                                 prefix-len-jaccard(len($tokensLeft), .5f))
 
@@ -63,7 +63,7 @@
         order by $i
         return $i
     for $prefix_tokenRight in subset-collection(
-                                $tokensRight, 
+                                $tokensRight,
                                 0,
                                 prefix-len-jaccard(len($tokensRight), .5f))
 
@@ -88,76 +88,76 @@
 
 /*
 org.apache.aqua.common.exceptions.AquaException: Attempting to construct a nested plan with 3 operator descriptors. Currently, nested plans can only consist in linear pipelines of Asterix micro operators.
-	at org.apache.aqua.algebra.operators.physical.AbstractGroupByPhysicalOperator.buildPipelineWithProjection(AbstractGroupByPhysicalOperator.java:47)
-	at org.apache.aqua.algebra.operators.physical.AbstractGroupByPhysicalOperator.compileSubplans(AbstractGroupByPhysicalOperator.java:29)
-	at org.apache.aqua.algebra.operators.physical.PreSortedGroupByPOperator.contributeRuntimeOperator(PreSortedGroupByPOperator.java:133)
-	at org.apache.aqua.algebra.operators.logical.AbstractLogicalOperator.contributeRuntimeOperator(AbstractLogicalOperator.java:208)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:52)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
-	at org.apache.aqua.jobgen.impl.PlanCompiler.compilePlan(PlanCompiler.java:30)
-	at org.apache.aqua.api.HeuristicCompilerFactoryBuilder$1$1.createJob(HeuristicCompilerFactoryBuilder.java:64)
-	at org.apache.asterix.api.common.APIFramework.compileQuery(APIFramework.java:323)
-	at org.apache.asterix.api.java.AsterixJavaClient.compile(AsterixJavaClient.java:71)
-	at org.apache.asterix.test.runtime.functions.RuntimeFunctionsTest.test(RuntimeFunctionsTest.java:150)
-	at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
-	at java.lang.reflect.Method.invoke(Method.java:597)
-	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
-	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
-	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
-	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
-	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
-	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
-	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
-	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
-	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
-	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
-	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
-	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
-	at org.junit.runners.Suite.runChild(Suite.java:128)
-	at org.junit.runners.Suite.runChild(Suite.java:24)
-	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
-	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
-	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
-	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
-	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
-	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
-	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
-	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
-	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
-	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
-	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
-	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
-	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
-	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
+    at org.apache.aqua.algebra.operators.physical.AbstractGroupByPhysicalOperator.buildPipelineWithProjection(AbstractGroupByPhysicalOperator.java:47)
+    at org.apache.aqua.algebra.operators.physical.AbstractGroupByPhysicalOperator.compileSubplans(AbstractGroupByPhysicalOperator.java:29)
+    at org.apache.aqua.algebra.operators.physical.PreSortedGroupByPOperator.contributeRuntimeOperator(PreSortedGroupByPOperator.java:133)
+    at org.apache.aqua.algebra.operators.logical.AbstractLogicalOperator.contributeRuntimeOperator(AbstractLogicalOperator.java:208)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:52)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compileOpRef(PlanCompiler.java:44)
+    at org.apache.aqua.jobgen.impl.PlanCompiler.compilePlan(PlanCompiler.java:30)
+    at org.apache.aqua.api.HeuristicCompilerFactoryBuilder$1$1.createJob(HeuristicCompilerFactoryBuilder.java:64)
+    at org.apache.asterix.api.common.APIFramework.compileQuery(APIFramework.java:323)
+    at org.apache.asterix.api.java.AsterixJavaClient.compile(AsterixJavaClient.java:71)
+    at org.apache.asterix.test.runtime.functions.RuntimeFunctionsTest.test(RuntimeFunctionsTest.java:150)
+    at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
+    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+    at java.lang.reflect.Method.invoke(Method.java:597)
+    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
+    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
+    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
+    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
+    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
+    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
+    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
+    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
+    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
+    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
+    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
+    at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
+    at org.junit.runners.Suite.runChild(Suite.java:128)
+    at org.junit.runners.Suite.runChild(Suite.java:24)
+    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
+    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
+    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
+    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
+    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
+    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
+    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
+    at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
+    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
+    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
+    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
+    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
+    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
+    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
 
 */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/opentype/opentype.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/opentype/opentype.3.query.aql
index c225696..fd6eeeb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/opentype/opentype.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/opentype/opentype.3.query.aql
@@ -23,10 +23,10 @@
 
 for $t in dataset TweetMessages
 order by $t.tweetid
-return {                     
-    "tweet": $t,               
+return {
+    "tweet": $t,
     "similar-tweets": for $t2 in dataset TweetMessages
-    					order by $t2.tweetid
+                        order by $t2.tweetid
                         where  $t2.referred-topics ~= $t.referred-topics
                         and $t2.tweetid != $t.tweetid
                         return $t2.referred-topics
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.1.ddl.aql
index cc8ba34..b254e62 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.1.ddl.aql
@@ -27,28 +27,28 @@
 use dataverse test;
 
 create type TwitterUserType as {
-	screen-name: string,
-	lang: string,
-	friends_count: int32,
-	statuses_count: int32,
-	name: string,
-	followers_count: int32
+    screen-name: string,
+    lang: string,
+    friends_count: int32,
+    statuses_count: int32,
+    name: string,
+    followers_count: int32
 }
 
 create type TweetMessageType as {
-	tweetid: int64,
-	user: string,
-	sender-location: point,
-	send-time: datetime,
-	forward-from: int64,
-	retweet-from: int64,
-	referred-topics: {{ string }},
-	message-text: string
+    tweetid: int64,
+    user: string,
+    sender-location: point,
+    send-time: datetime,
+    forward-from: int64,
+    retweet-from: int64,
+    referred-topics: {{ string }},
+    message-text: string
 }
 
 create type ResultType as {
-	vertexid: int64,
-	rank: double
+    vertexid: int64,
+    rank: double
 }
 
 create dataset TwitterUsers(TwitterUserType) primary key screen-name;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.3.query.aql
index 6356191..ceea899 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-join/btree-index-nested-loop-join/btree-index-nested-loop-join.3.query.aql
@@ -30,4 +30,4 @@
        and
        $tm.user  /*+ indexnl */ = $tu.screen-name
     order by $tm.tweetid
-	return $tm.tweetid;
+    return $tm.tweetid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.3.query.aql
index c6c2113..149c4b1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary keyword inverted index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 16th May 2014
  */
@@ -29,10 +29,10 @@
 where $t1.tweetid > int64("240")
 order by $t1.tweetid
 return {
-    "tweet": {"id": $t1.tweetid, "topics" : $t1.referred-topics} ,             
+    "tweet": {"id": $t1.tweetid, "topics" : $t1.referred-topics} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := similarity-jaccard-check($t1.referred-topics, $t2.referred-topics, 0.5f)
-		      where $sim[0] and 
+              where $sim[0] and
                       $t2.tweetid != $t1.tweetid
                       order by $t2.tweetid
                       return {"id": $t2.tweetid, "topics" : $t2.referred-topics}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
index 27c49da..66df3dc 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary keyword inverted index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 16th May 2014
  */
@@ -29,10 +29,10 @@
 where $t1.tweetid > int64("240")
 order by $t1.tweetid
 return {
-    "tweet": {"id": $t1.tweetid, "topics" : $t1.message-text} ,             
+    "tweet": {"id": $t1.tweetid, "topics" : $t1.message-text} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := edit-distance-check($t1.message-text, $t2.message-text, 7)
-		      where $sim[0] and 
+              where $sim[0] and
                       $t2.tweetid != $t1.tweetid
                       order by $t2.tweetid
                       return {"id": $t2.tweetid, "topics" : $t2.message-text}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
index b942d1e..f0f10d1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree index is used in query plan
  *                 : define the BTree index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 5th Feb, 2013
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
index 74d65db..584950b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree index is used in query plan
  *                 : define the BTree index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson" 
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 5th Feb, 2013
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.query.aql
index 24d23f7..95af988 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.query.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree index is used in query plan
  *                 : define the BTree index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson" 
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 5th Feb, 2013
@@ -29,6 +29,6 @@
 use dataverse test;
 
 for $l in dataset('employee')
-where $l.fname > "Julio" and $l.lname > "Mattocks" and $l.fname <= "Micco" and $l.lname < "Vangieson" 
+where $l.fname > "Julio" and $l.lname > "Mattocks" and $l.fname <= "Micco" and $l.lname < "Vangieson"
 order by $l.id
 return $l
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue285-2/query_issue285-2.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue285-2/query_issue285-2.3.query.aql
index 16d9469..dfd8c8a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue285-2/query_issue285-2.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue285-2/query_issue285-2.3.query.aql
@@ -18,13 +18,13 @@
  */
 /*
  * Description    : Left-outer joins two datasets, DBLP and CSX, based on their title.
- *                  DBLP has a secondary btree index on title, and given the 'indexnl' hint 
+ *                  DBLP has a secondary btree index on title, and given the 'indexnl' hint
  *                  we expect the join to be transformed into an indexed nested-loop join.
  *
- *					TODO(@Sattam): given the 'indexnl' hint 
+ *                    TODO(@Sattam): given the 'indexnl' hint
  *                  we expect the join to be transformed into an indexed nested-loop join.
- *					
- *					regression test 2 for issue 285--having an order by and limit for the outer loop relation
+ *
+ *                    regression test 2 for issue 285--having an order by and limit for the outer loop relation
  *
  * Success        : Yes
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue285/query_issue285.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue285/query_issue285.3.query.aql
index 6f1b502..ff6015a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue285/query_issue285.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/leftouterjoin/query_issue285/query_issue285.3.query.aql
@@ -18,13 +18,13 @@
  */
 /*
  * Description    : Left-outer joins two datasets, DBLP and CSX, based on their title.
- *                  DBLP has a secondary btree index on title, and given the 'indexnl' hint 
+ *                  DBLP has a secondary btree index on title, and given the 'indexnl' hint
  *                  we expect the join to be transformed into an indexed nested-loop join.
  *
- *					TODO(@Sattam): given the 'indexnl' hint 
+ *                    TODO(@Sattam): given the 'indexnl' hint
  *                  we expect the join to be transformed into an indexed nested-loop join.
- *					
- *					regression test for issue 285--having an order by for the outer loop relation
+ *
+ *                    regression test for issue 285--having an order by for the outer loop relation
  * Success        : Yes
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-issue428/query-issue428.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-issue428/query-issue428.3.query.aql
index 4881493..04ef91d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-issue428/query-issue428.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/list/query-issue428/query-issue428.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue400
- 				: https://code.google.com/p/asterixdb/issues/detail?id=400
+                 : https://code.google.com/p/asterixdb/issues/detail?id=400
  * Expected Res : Success
  * Date         : 8th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/compact-dataset-and-its-indexes/compact-dataset-and-its-indexes.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/compact-dataset-and-its-indexes/compact-dataset-and-its-indexes.2.update.aql
index 87422be..49bef11 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/compact-dataset-and-its-indexes/compact-dataset-and-its-indexes.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/compact-dataset-and-its-indexes/compact-dataset-and-its-indexes.2.update.aql
@@ -25,9 +25,9 @@
 
 insert into dataset LineItem
 (
-	for $c in dataset('LineItemtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('LineItemtmp')
+    return {
+        "nested" : $c
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/drop-index/drop-index.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/drop-index/drop-index.2.update.aql
index 5d4941f..93b6844 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/drop-index/drop-index.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/drop-index/drop-index.2.update.aql
@@ -32,9 +32,9 @@
 
 insert into dataset t1
 (
-	for $c in dataset('t1tmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('t1tmp')
+    return {
+        "nested" : $c
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/nested-uuid-load/nested-uuid-load.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/nested-uuid-load/nested-uuid-load.1.ddl.aql
index 4efe3c1..a1104e6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/nested-uuid-load/nested-uuid-load.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/nested-uuid-load/nested-uuid-load.1.ddl.aql
@@ -28,7 +28,7 @@
 use dataverse twitter;
 
 create type TwitterUserType as open {
-	userid: uuid,
+    userid: uuid,
     screen-name: string,
     lang: string,
     friends_count: int64,
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.2.update.aql
index 42ad8bf..9c4ada9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-btree-secondary-index-nullable/scan-delete-btree-secondary-index-nullable.2.update.aql
@@ -32,9 +32,9 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customerstmp')
+    return {
+        "nested" : $c
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-ngram-secondary-index-nullable/scan-delete-inverted-index-ngram-secondary-index-nullable.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-ngram-secondary-index-nullable/scan-delete-inverted-index-ngram-secondary-index-nullable.2.update.aql
index 9f465aa..30cae33 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-ngram-secondary-index-nullable/scan-delete-inverted-index-ngram-secondary-index-nullable.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-ngram-secondary-index-nullable/scan-delete-inverted-index-ngram-secondary-index-nullable.2.update.aql
@@ -31,9 +31,9 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    return {
+        "nested" : $c
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-ngram-secondary-index/scan-delete-inverted-index-ngram-secondary-index.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-ngram-secondary-index/scan-delete-inverted-index-ngram-secondary-index.2.update.aql
index a26b415..97df2b1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-ngram-secondary-index/scan-delete-inverted-index-ngram-secondary-index.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-ngram-secondary-index/scan-delete-inverted-index-ngram-secondary-index.2.update.aql
@@ -31,9 +31,9 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    return {
+        "nested" : $c
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-word-secondary-index-nullable/scan-delete-inverted-index-word-secondary-index-nullable.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-word-secondary-index-nullable/scan-delete-inverted-index-word-secondary-index-nullable.2.update.aql
index 8407e88..afeaa28 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-word-secondary-index-nullable/scan-delete-inverted-index-word-secondary-index-nullable.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-word-secondary-index-nullable/scan-delete-inverted-index-word-secondary-index-nullable.2.update.aql
@@ -31,9 +31,9 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    return {
+        "nested" : $c
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-word-secondary-index/scan-delete-inverted-index-word-secondary-index.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-word-secondary-index/scan-delete-inverted-index-word-secondary-index.2.update.aql
index 8a1e3a3..ff9bf7c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-word-secondary-index/scan-delete-inverted-index-word-secondary-index.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-inverted-index-word-secondary-index/scan-delete-inverted-index-word-secondary-index.2.update.aql
@@ -31,9 +31,9 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    return {
+        "nested" : $c
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.2.update.aql
index 3d8bc99..9f02346 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-rtree-secondary-index-nullable/scan-delete-rtree-secondary-index-nullable.2.update.aql
@@ -32,9 +32,9 @@
 
 insert into dataset MyData
 (
-	for $c in dataset('MyDatatmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyDatatmp')
+    return {
+        "nested" : $c
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.2.update.aql
index b86ccf5..4dc7308 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-delete-rtree-secondary-index/scan-delete-rtree-secondary-index.2.update.aql
@@ -25,9 +25,9 @@
 
 insert into dataset MyData
 (
-	for $c in dataset('MyDatatmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyDatatmp')
+    return {
+        "nested" : $c
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.4.update.aql
index 8f21741..a25f41e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-btree-secondary-index-nullable/scan-insert-btree-secondary-index-nullable.4.update.aql
@@ -21,26 +21,26 @@
 
 insert into dataset CustomersMinitmp
 (
-	for $c in dataset('Customerstmp')
+    for $c in dataset('Customerstmp')
 
-	where $c.cid < 200	
-	return {
-	  "cid": $c.cid,
-  	  "name": $c.name,
-  	  "age": $c.age,
-  	  "address": $c.address,
-  	  "interests": $c.interests,
-  	  "children": $c.children
-	}	
+    where $c.cid < 200
+    return {
+      "cid": $c.cid,
+        "name": $c.name,
+        "age": $c.age,
+        "address": $c.address,
+        "interests": $c.interests,
+        "children": $c.children
+    }
 );
 
 
 insert into dataset CustomersMini
 (
-	for $c in dataset('CustomersMinitmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('CustomersMinitmp')
+    return {
+        "nested" : $c
+    }
 );
 
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-ngram-secondary-index-nullable/scan-insert-inverted-index-ngram-secondary-index-nullable.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-ngram-secondary-index-nullable/scan-insert-inverted-index-ngram-secondary-index-nullable.4.update.aql
index 52fa6a3..8e6a89a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-ngram-secondary-index-nullable/scan-insert-inverted-index-ngram-secondary-index-nullable.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-ngram-secondary-index-nullable/scan-insert-inverted-index-ngram-secondary-index-nullable.4.update.aql
@@ -32,12 +32,12 @@
 order by $o.id
 return { "nested" : {
 
-		"id": $o.id,
-		"dblpid": $o.dblpid,
-		"title": $o.title,
-		"authors": $o.authors,
+        "id": $o.id,
+        "dblpid": $o.dblpid,
+        "title": $o.title,
+        "authors": $o.authors,
 
-		"misc": $o.misc }
+        "misc": $o.misc }
 
-	}
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-ngram-secondary-index/scan-insert-inverted-index-ngram-secondary-index.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-ngram-secondary-index/scan-insert-inverted-index-ngram-secondary-index.4.update.aql
index acb4457..1cdb83a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-ngram-secondary-index/scan-insert-inverted-index-ngram-secondary-index.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-ngram-secondary-index/scan-insert-inverted-index-ngram-secondary-index.4.update.aql
@@ -32,12 +32,12 @@
 order by $o.id
 return { "nested" : {
 
-		"id": $o.id,
-		"dblpid": $o.dblpid,
-		"title": $o.title,
-		"authors": $o.authors,
+        "id": $o.id,
+        "dblpid": $o.dblpid,
+        "title": $o.title,
+        "authors": $o.authors,
 
-		"misc": $o.misc }
+        "misc": $o.misc }
 
-	}
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-word-secondary-index-nullable/scan-insert-inverted-index-word-secondary-index-nullable.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-word-secondary-index-nullable/scan-insert-inverted-index-word-secondary-index-nullable.4.update.aql
index a355b03..39be753 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-word-secondary-index-nullable/scan-insert-inverted-index-word-secondary-index-nullable.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-word-secondary-index-nullable/scan-insert-inverted-index-word-secondary-index-nullable.4.update.aql
@@ -31,12 +31,12 @@
 order by $o.id
 return { "nested" : {
 
-		"id": $o.id,
-		"dblpid": $o.dblpid,
-		"title": $o.title,
-		"authors": $o.authors,
+        "id": $o.id,
+        "dblpid": $o.dblpid,
+        "title": $o.title,
+        "authors": $o.authors,
 
-		"misc": $o.misc }
+        "misc": $o.misc }
 
-	}
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-word-secondary-index/scan-insert-inverted-index-word-secondary-index.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-word-secondary-index/scan-insert-inverted-index-word-secondary-index.4.update.aql
index 8670f9a..22b6d82 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-word-secondary-index/scan-insert-inverted-index-word-secondary-index.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-inverted-index-word-secondary-index/scan-insert-inverted-index-word-secondary-index.4.update.aql
@@ -31,12 +31,12 @@
 order by $o.id
 return { "nested" : {
 
-		"id": $o.id,
-		"dblpid": $o.dblpid,
-		"title": $o.title,
-		"authors": $o.authors,
+        "id": $o.id,
+        "dblpid": $o.dblpid,
+        "title": $o.title,
+        "authors": $o.authors,
 
-		"misc": $o.misc }
+        "misc": $o.misc }
 
-	}
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.4.update.aql
index 01dbad9..3711fb1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index-nullable/scan-insert-rtree-secondary-index-nullable.4.update.aql
@@ -21,11 +21,11 @@
 insert into dataset MyMiniData
 (
 
-	for $m in dataset('MyDatatmp')
-	return { "nested" : {
-		"id": $m.id,
-		"point": $m.point }
+    for $m in dataset('MyDatatmp')
+    return { "nested" : {
+        "id": $m.id,
+        "point": $m.point }
 
-	}
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.2.update.aql
index f6205ff..d7d9351 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.2.update.aql
@@ -29,17 +29,17 @@
 
 insert into dataset MyData
 (
-	for $c in dataset('MyDatatmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyDatatmp')
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset MyMiniData
 (
-	for $c in dataset('MyMiniDatatmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyMiniDatatmp')
+    return {
+        "nested" : $c
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql
index fb589bb..e8a4e89 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index-dml/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql
@@ -20,12 +20,12 @@
 
 insert into dataset MyMiniData
 (
-	for $m in dataset('MyData')
+    for $m in dataset('MyData')
 
-	return { "nested" : {
-		"id": $m.nested.id,
-		"point": $m.nested.point }
+    return { "nested" : {
+        "id": $m.nested.id,
+        "point": $m.nested.point }
 
-	}
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql
index 6152f5a..1ff699d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,23 +28,23 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
+}
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create type TweetMessageType as closed {
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql
index f75db06..7c2b960 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary btree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,23 +28,23 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
+}
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create type TweetMessageType as closed {
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/btree-primary-equi-join/btree-primary-equi-join.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/btree-primary-equi-join/btree-primary-equi-join.2.update.aql
index 2d5f6e0..33857b7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/btree-primary-equi-join/btree-primary-equi-join.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/btree-primary-equi-join/btree-primary-equi-join.2.update.aql
@@ -35,16 +35,16 @@
 
 insert into dataset Orders
 (
-	for $c in dataset('Orderstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Orderstmp')
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customerstmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
index 32c216a..e047b1f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
@@ -36,16 +36,16 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset CSX
 (
-	for $c in dataset('CSXtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('CSXtmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
index fc980cc..8229a18 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
@@ -35,16 +35,16 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customerstmp')
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset Customers2
 (
-	for $c in dataset('Customers2tmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customers2tmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
index ae746fd..5106d74 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
@@ -34,16 +34,16 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customerstmp')
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset Customers2
 (
-	for $c in dataset('Customers2tmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customers2tmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
index 24fb996..4b85ba8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
@@ -35,15 +35,15 @@
 
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset DBLPtmp
+    return {
+        "nested": $x
+    }
 );
 
 insert into dataset CSX(
-	for $x in dataset CSXtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset CSXtmp
+    return {
+        "nested": $x
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-jaccard/ngram-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-jaccard/ngram-jaccard.2.update.aql
index 40dc555..888543c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-jaccard/ngram-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/ngram-jaccard/ngram-jaccard.2.update.aql
@@ -34,15 +34,15 @@
 
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset DBLPtmp
+    return {
+        "nested": $x
+    }
 );
 
 insert into dataset CSX(
-	for $x in dataset CSXtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset CSXtmp
+    return {
+        "nested": $x
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
index aba44cd..3c87552 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
@@ -35,16 +35,16 @@
 
 insert into dataset MyData1
 (
-	for $c in dataset('MyData1tmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyData1tmp')
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset MyData2
 (
-	for $c in dataset('MyData2tmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyData2tmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
index 69887cb..f63066b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
@@ -35,15 +35,15 @@
 
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset DBLPtmp
+    return {
+        "nested": $x
+    }
 );
 
 insert into dataset CSX(
-	for $x in dataset CSXtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset CSXtmp
+    return {
+        "nested": $x
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/word-jaccard/word-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/word-jaccard/word-jaccard.2.update.aql
index 16f76d3..ae2fc5f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/word-jaccard/word-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-join/word-jaccard/word-jaccard.2.update.aql
@@ -34,15 +34,15 @@
 
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset DBLPtmp
+    return {
+        "nested": $x
+    }
 );
 
 insert into dataset CSX(
-	for $x in dataset CSXtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset CSXtmp
+    return {
+        "nested": $x
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql
index 44e0bc6..0cdc7dd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql
index 81075b7..a964528 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql
@@ -31,8 +31,8 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql
index 44e0bc6..0cdc7dd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql
index 81075b7..a964528 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql
@@ -31,8 +31,8 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.1.ddl.aql
index 9d5b9d3..714ad19 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.1.ddl.aql
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.2.update.aql
index 81075b7..a964528 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.2.update.aql
@@ -31,8 +31,8 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.3.query.aql
index bf65266..1b9e041 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx1/probe-pidx-with-join-invidx-sidx1.3.query.aql
@@ -32,7 +32,7 @@
     "tweet": {"id": $t1.nested.tweetid, "topics" : $t1.nested.referred-topics} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := similarity-jaccard-check($t1.nested.referred-topics, $t2.nested.referred-topics, 0.5f)
-		      where $sim[0] and
+              where $sim[0] and
                       $t2.nested.tweetid != $t1.nested.tweetid
                       order by $t2.nested.tweetid
                       return {"id": $t2.nested.tweetid, "topics" : $t2.nested.referred-topics}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql
index 9d5b9d3..714ad19 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql
index 81075b7..a964528 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql
@@ -31,8 +31,8 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
index 0217932..521fd98 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
@@ -32,7 +32,7 @@
     "tweet": {"id": $t1.nested.tweetid, "topics" : $t1.nested.message-text} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := edit-distance-check($t1.nested.message-text, $t2.nested.message-text, 7)
-		      where $sim[0] and
+              where $sim[0] and
                       $t2.nested.tweetid != $t1.nested.tweetid
                       order by $t2.nested.tweetid
                       return {"id": $t2.nested.tweetid, "topics" : $t2.nested.message-text}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql
index c7faa0d..af761a5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql
index 0223406..5edd0be 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql
@@ -31,8 +31,8 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql
index c7faa0d..af761a5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql
@@ -28,27 +28,27 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageNestedType as closed {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql
index 0223406..5edd0be 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql
@@ -31,8 +31,8 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
index 1c0bda3..9acdab8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree index is used in query plan
  *                 : define the BTree index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 5th Feb, 2013
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
index 683a097..92e4470 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree index is used in query plan
  *                 : define the BTree index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 5th Feb, 2013
@@ -35,13 +35,13 @@
 
 insert into dataset employee
 (
-	for $c in dataset('employeeTmp')
-	return {
-		"nested" : {
-	  "id": $c.id,
-  	  "fname": $c.fname,
-  	  "lname": $c.lname,
-  	  "age": $c.age,
-  	  "dept": $c.dept }
-	}	
+    for $c in dataset('employeeTmp')
+    return {
+        "nested" : {
+      "id": $c.id,
+        "fname": $c.fname,
+        "lname": $c.lname,
+        "age": $c.age,
+        "dept": $c.dept }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql
index f77ddcd..c46678f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree index is used in query plan
  *                 : define the BTree index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 5th Feb, 2013
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql
index 029665f..9e564fd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql
@@ -34,13 +34,13 @@
 
 insert into dataset employee
 (
-	for $c in dataset('employeeTmp')
-	return {
-		"nested" : {
-	  "id": $c.id,
-  	  "fname": $c.fname,
-  	  "lname": $c.lname,
-  	  "age": $c.age,
-  	  "dept": $c.dept }
-	}	
+    for $c in dataset('employeeTmp')
+    return {
+        "nested" : {
+      "id": $c.id,
+        "fname": $c.fname,
+        "lname": $c.lname,
+        "age": $c.age,
+        "dept": $c.dept }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql
index 870d66b..fd13049 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql
@@ -32,9 +32,9 @@
 
 insert into dataset Orders
 (
-	for $c in dataset('Orderstmp')
-	return {
-		"nested" : {
+    for $c in dataset('Orderstmp')
+    return {
+        "nested" : {
   "o_orderkey": $c.o_orderkey,
   "o_custkey": $c.o_custkey,
   "o_orderstatus": $c.o_orderstatus,
@@ -45,5 +45,5 @@
   "o_shippriority": $c.o_shippriority,
   "o_comment": $c.o_comment
 }
-	}	
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/cust-index-age-nullable/cust-index-age-nullable.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/cust-index-age-nullable/cust-index-age-nullable.2.update.aql
index 18fa90a..7a715e2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/cust-index-age-nullable/cust-index-age-nullable.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/cust-index-age-nullable/cust-index-age-nullable.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customerstmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql
index 0702ddf..18b4bbb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql
index 0619e49..463aa61 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql
@@ -23,8 +23,8 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLP (
-	for $x in dataset test.DBLPtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset test.DBLPtmp
+    return {
+        "nested": $x
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql
index 0702ddf..18b4bbb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql
index 0619e49..463aa61 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql
@@ -23,8 +23,8 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLP (
-	for $x in dataset test.DBLPtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset test.DBLPtmp
+    return {
+        "nested": $x
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql
index 0702ddf..18b4bbb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql
index 0702ddf..18b4bbb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-edit-distance-panic/inverted-index-olist-edit-distance-panic.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-edit-distance-panic/inverted-index-olist-edit-distance-panic.2.update.aql
index f0cc156..a2e50d6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-edit-distance-panic/inverted-index-olist-edit-distance-panic.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-edit-distance-panic/inverted-index-olist-edit-distance-panic.2.update.aql
@@ -25,8 +25,8 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customerstmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-edit-distance/inverted-index-olist-edit-distance.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-edit-distance/inverted-index-olist-edit-distance.2.update.aql
index f0cc156..a2e50d6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-edit-distance/inverted-index-olist-edit-distance.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-edit-distance/inverted-index-olist-edit-distance.2.update.aql
@@ -25,8 +25,8 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customerstmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-jaccard/inverted-index-olist-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-jaccard/inverted-index-olist-jaccard.2.update.aql
index f0cc156..a2e50d6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-jaccard/inverted-index-olist-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-olist-jaccard/inverted-index-olist-jaccard.2.update.aql
@@ -25,8 +25,8 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customerstmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ulist-jaccard/inverted-index-ulist-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ulist-jaccard/inverted-index-ulist-jaccard.2.update.aql
index b54308d..664e6e3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ulist-jaccard/inverted-index-ulist-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-ulist-jaccard/inverted-index-ulist-jaccard.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customerstmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql
index bfe2cfb..ecd5dd5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql
@@ -25,8 +25,8 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql
index bfe2cfb..ecd5dd5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql
@@ -25,8 +25,8 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-conjunctive-open/orders-index-custkey-conjunctive-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-conjunctive-open/orders-index-custkey-conjunctive-open.2.update.aql
index 6d5ccc6..bda3125 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-conjunctive-open/orders-index-custkey-conjunctive-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-conjunctive-open/orders-index-custkey-conjunctive-open.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset Orders
 (
-	for $c in dataset('Orderstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Orderstmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql
index 6d5ccc6..bda3125 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset Orders
 (
-	for $c in dataset('Orderstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Orderstmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-open/orders-index-custkey-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-open/orders-index-custkey-open.2.update.aql
index 6d5ccc6..bda3125 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-open/orders-index-custkey-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey-open/orders-index-custkey-open.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset Orders
 (
-	for $c in dataset('Orderstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Orderstmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql
index 6d5ccc6..bda3125 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset Orders
 (
-	for $c in dataset('Orderstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Orderstmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/range-search-open/range-search-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/range-search-open/range-search-open.2.update.aql
index b0cfbe6..1987e0e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/range-search-open/range-search-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/range-search-open/range-search-open.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset LineItem
 (
-	for $c in dataset('LineItemtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('LineItemtmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/range-search/range-search.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/range-search/range-search.2.update.aql
index b0cfbe6..1987e0e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/range-search/range-search.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/range-search/range-search.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset LineItem
 (
-	for $c in dataset('LineItemtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('LineItemtmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index-nullable/rtree-secondary-index-nullable.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index-nullable/rtree-secondary-index-nullable.2.update.aql
index eb97eda..1ee469e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index-nullable/rtree-secondary-index-nullable.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index-nullable/rtree-secondary-index-nullable.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset MyData
 (
-	for $c in dataset('MyDatatmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyDatatmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index-open/rtree-secondary-index-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index-open/rtree-secondary-index-open.2.update.aql
index 7a2c717..d968738 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index-open/rtree-secondary-index-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index-open/rtree-secondary-index-open.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset MyData
 (
-	for $c in dataset('MyDatatmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyDatatmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql
index 7a2c717..d968738 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-index/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset MyData
 (
-	for $c in dataset('MyDatatmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyDatatmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql
index afd7077..c62b90d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,19 +28,19 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
+}
 
 create type TweetMessageNestedType as open {
         user: TwitterUserType,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string
+    message-text: string
 }
 
 create type TweetMessageType as closed {
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql
index 49704a2..887f564 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary btree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,20 +28,20 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
+}
 
 create type TweetMessageNestedType as open {
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string
+    message-text: string
 }
 
 create type TweetMessageType as closed {
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.1.ddl.aql
index c998d61..e729f74 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.1.ddl.aql
@@ -18,9 +18,9 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
@@ -30,52 +30,52 @@
 use dataverse test;
 
 create type S as closed{
-	id: int64,
-	Species: string
+    id: int64,
+    Species: string
 }
 
 create type GS as closed{
-	id: int64,
-	Genus: string,
-	lower: S
+    id: int64,
+    Genus: string,
+    lower: S
 }
 
 create type FGS as open{
-	id: int64,
-	Family: string
+    id: int64,
+    Family: string
 }
 
 create type OFGS as closed{
-	id: int64,
-	Order: string,
-	lower: FGS
+    id: int64,
+    Order: string,
+    lower: FGS
 }
 
 create type COFGS as closed{
-	id: int64,
-	Class: string,
-	lower: OFGS
+    id: int64,
+    Class: string,
+    lower: OFGS
 }
 
 create type PCOFGS as closed{
-	id: int64,
-	Phylum: string,
-	lower: COFGS
+    id: int64,
+    Phylum: string,
+    lower: COFGS
 }
 
 create type KPCOFGS as open{
-	id: int64,
-	Kingdom: string
+    id: int64,
+    Kingdom: string
 }
 
 create type Classification as closed{
-	id: int64,
-	fullClassification:KPCOFGS
+    id: int64,
+    fullClassification:KPCOFGS
 }
 
 create type Animal as closed{
-	id: int64,
-	class:Classification
+    id: int64,
+    class:Classification
 }
 
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.2.update.aql
index 08db698..e7424a4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.2.update.aql
@@ -18,97 +18,97 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
 use dataverse test;
 
 insert into dataset Ss(
-	{"id":1,"Species":"Gulo"}
+    {"id":1,"Species":"Gulo"}
 );
 insert into dataset Ss(
-	{"id":2,"Species":"Johnstoni"}
+    {"id":2,"Species":"Johnstoni"}
 );
 insert into dataset GSs(
-	for $S in dataset Ss
-	where $S.Species = "Gulo"
-	return {"id":1,"Genus":"Gulo","lower":$S}
+    for $S in dataset Ss
+    where $S.Species = "Gulo"
+    return {"id":1,"Genus":"Gulo","lower":$S}
 );
 insert into dataset GSs(
-	for $S in dataset Ss
-	where $S.Species = "Johnstoni"
-	return {"id":2,"Genus":"Okapia","lower":$S}
+    for $S in dataset Ss
+    where $S.Species = "Johnstoni"
+    return {"id":2,"Genus":"Okapia","lower":$S}
 );
 insert into dataset FGSs(
-	for $S in dataset GSs
-	where $S.lower.Species = "Gulo"
-	return {"id":1,"Family":"Mustelinae","lower":$S}
+    for $S in dataset GSs
+    where $S.lower.Species = "Gulo"
+    return {"id":1,"Family":"Mustelinae","lower":$S}
 );
 insert into dataset FGSs(
-	for $S in dataset GSs
-	where $S.lower.Species = "Johnstoni"
-	return {"id":2,"Family":"Giraffidae","lower":$S}
+    for $S in dataset GSs
+    where $S.lower.Species = "Johnstoni"
+    return {"id":2,"Family":"Giraffidae","lower":$S}
 );
 insert into dataset OFGSs(
-	for $S in dataset FGSs
-	where $S.lower.lower.Species = "Gulo"
-	return {"id":1,"Order":"Carnivora","lower":$S}
+    for $S in dataset FGSs
+    where $S.lower.lower.Species = "Gulo"
+    return {"id":1,"Order":"Carnivora","lower":$S}
 );
 insert into dataset OFGSs(
-	for $S in dataset FGSs
-	where $S.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Order":"Artiodactyla","lower":$S}
+    for $S in dataset FGSs
+    where $S.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Order":"Artiodactyla","lower":$S}
 );
 insert into dataset COFGSs(
-	for $S in dataset OFGSs
-	where $S.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Class":"Mammalia","lower":$S}
+    for $S in dataset OFGSs
+    where $S.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Class":"Mammalia","lower":$S}
 );
 insert into dataset COFGSs(
-	for $S in dataset OFGSs
-	where $S.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Class":"Mammalia","lower":$S}
+    for $S in dataset OFGSs
+    where $S.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Class":"Mammalia","lower":$S}
 );
 insert into dataset PCOFGSs(
-	for $S in dataset COFGSs
-	where $S.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Phylum":"Chordata","lower":$S}
+    for $S in dataset COFGSs
+    where $S.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Phylum":"Chordata","lower":$S}
 );
 insert into dataset PCOFGSs(
-	for $S in dataset COFGSs
-	where $S.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Phylum":"Chordata","lower":$S}
+    for $S in dataset COFGSs
+    where $S.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Phylum":"Chordata","lower":$S}
 );
 insert into dataset KPCOFGSs(
-	for $S in dataset PCOFGSs
-	where $S.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Kingdom":"Animalia","lower":$S}
+    for $S in dataset PCOFGSs
+    where $S.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Kingdom":"Animalia","lower":$S}
 );
 insert into dataset KPCOFGSs(
-	for $S in dataset PCOFGSs
-	where $S.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Kingdom":"Animalia","lower":$S}
+    for $S in dataset PCOFGSs
+    where $S.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Kingdom":"Animalia","lower":$S}
 );
 insert into dataset Classifications(
-	for $S in dataset KPCOFGSs
-	where $S.lower.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"fullClassification":$S}
+    for $S in dataset KPCOFGSs
+    where $S.lower.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"fullClassification":$S}
 );
 insert into dataset Classifications(
-	for $S in dataset KPCOFGSs
-	where $S.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"fullClassification":$S}
+    for $S in dataset KPCOFGSs
+    where $S.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"fullClassification":$S}
 );
 insert into dataset Animals(
-	for $S in dataset Classifications
-	where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"class":$S}
+    for $S in dataset Classifications
+    where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"class":$S}
 );
 insert into dataset Animals(
-	for $S in dataset Classifications
-	where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"class":$S}
+    for $S in dataset Classifications
+    where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"class":$S}
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.3.query.aql
index 66573b7..921d116 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-closed/bottom-closed-top-closed.3.query.aql
@@ -18,9 +18,9 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.1.ddl.aql
index 4e77cfa..dbc09c9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.1.ddl.aql
@@ -18,9 +18,9 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
@@ -30,51 +30,51 @@
 use dataverse test;
 
 create type S as closed{
-	id: int64,
-	Species: string
+    id: int64,
+    Species: string
 }
 
 create type GS as closed{
-	id: int64,
-	Genus: string,
-	lower: S
+    id: int64,
+    Genus: string,
+    lower: S
 }
 
 create type FGS as open{
-	id: int64,
-	Family: string
+    id: int64,
+    Family: string
 }
 
 create type OFGS as closed{
-	id: int64,
-	Order: string,
-	lower: FGS
+    id: int64,
+    Order: string,
+    lower: FGS
 }
 
 create type COFGS as closed{
-	id: int64,
-	Class: string,
-	lower: OFGS
+    id: int64,
+    Class: string,
+    lower: OFGS
 }
 
 create type PCOFGS as closed{
-	id: int64,
-	Phylum: string,
-	lower: COFGS
+    id: int64,
+    Phylum: string,
+    lower: COFGS
 }
 
 create type KPCOFGS as open{
-	id: int64,
-	Kingdom: string
+    id: int64,
+    Kingdom: string
 }
 
 create type Classification as closed{
-	id: int64,
-	fullClassification:KPCOFGS
+    id: int64,
+    fullClassification:KPCOFGS
 }
 
 create type Animal as open{
-	id: int64
+    id: int64
 }
 
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.2.update.aql
index 08db698..e7424a4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.2.update.aql
@@ -18,97 +18,97 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
 use dataverse test;
 
 insert into dataset Ss(
-	{"id":1,"Species":"Gulo"}
+    {"id":1,"Species":"Gulo"}
 );
 insert into dataset Ss(
-	{"id":2,"Species":"Johnstoni"}
+    {"id":2,"Species":"Johnstoni"}
 );
 insert into dataset GSs(
-	for $S in dataset Ss
-	where $S.Species = "Gulo"
-	return {"id":1,"Genus":"Gulo","lower":$S}
+    for $S in dataset Ss
+    where $S.Species = "Gulo"
+    return {"id":1,"Genus":"Gulo","lower":$S}
 );
 insert into dataset GSs(
-	for $S in dataset Ss
-	where $S.Species = "Johnstoni"
-	return {"id":2,"Genus":"Okapia","lower":$S}
+    for $S in dataset Ss
+    where $S.Species = "Johnstoni"
+    return {"id":2,"Genus":"Okapia","lower":$S}
 );
 insert into dataset FGSs(
-	for $S in dataset GSs
-	where $S.lower.Species = "Gulo"
-	return {"id":1,"Family":"Mustelinae","lower":$S}
+    for $S in dataset GSs
+    where $S.lower.Species = "Gulo"
+    return {"id":1,"Family":"Mustelinae","lower":$S}
 );
 insert into dataset FGSs(
-	for $S in dataset GSs
-	where $S.lower.Species = "Johnstoni"
-	return {"id":2,"Family":"Giraffidae","lower":$S}
+    for $S in dataset GSs
+    where $S.lower.Species = "Johnstoni"
+    return {"id":2,"Family":"Giraffidae","lower":$S}
 );
 insert into dataset OFGSs(
-	for $S in dataset FGSs
-	where $S.lower.lower.Species = "Gulo"
-	return {"id":1,"Order":"Carnivora","lower":$S}
+    for $S in dataset FGSs
+    where $S.lower.lower.Species = "Gulo"
+    return {"id":1,"Order":"Carnivora","lower":$S}
 );
 insert into dataset OFGSs(
-	for $S in dataset FGSs
-	where $S.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Order":"Artiodactyla","lower":$S}
+    for $S in dataset FGSs
+    where $S.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Order":"Artiodactyla","lower":$S}
 );
 insert into dataset COFGSs(
-	for $S in dataset OFGSs
-	where $S.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Class":"Mammalia","lower":$S}
+    for $S in dataset OFGSs
+    where $S.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Class":"Mammalia","lower":$S}
 );
 insert into dataset COFGSs(
-	for $S in dataset OFGSs
-	where $S.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Class":"Mammalia","lower":$S}
+    for $S in dataset OFGSs
+    where $S.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Class":"Mammalia","lower":$S}
 );
 insert into dataset PCOFGSs(
-	for $S in dataset COFGSs
-	where $S.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Phylum":"Chordata","lower":$S}
+    for $S in dataset COFGSs
+    where $S.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Phylum":"Chordata","lower":$S}
 );
 insert into dataset PCOFGSs(
-	for $S in dataset COFGSs
-	where $S.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Phylum":"Chordata","lower":$S}
+    for $S in dataset COFGSs
+    where $S.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Phylum":"Chordata","lower":$S}
 );
 insert into dataset KPCOFGSs(
-	for $S in dataset PCOFGSs
-	where $S.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Kingdom":"Animalia","lower":$S}
+    for $S in dataset PCOFGSs
+    where $S.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Kingdom":"Animalia","lower":$S}
 );
 insert into dataset KPCOFGSs(
-	for $S in dataset PCOFGSs
-	where $S.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Kingdom":"Animalia","lower":$S}
+    for $S in dataset PCOFGSs
+    where $S.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Kingdom":"Animalia","lower":$S}
 );
 insert into dataset Classifications(
-	for $S in dataset KPCOFGSs
-	where $S.lower.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"fullClassification":$S}
+    for $S in dataset KPCOFGSs
+    where $S.lower.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"fullClassification":$S}
 );
 insert into dataset Classifications(
-	for $S in dataset KPCOFGSs
-	where $S.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"fullClassification":$S}
+    for $S in dataset KPCOFGSs
+    where $S.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"fullClassification":$S}
 );
 insert into dataset Animals(
-	for $S in dataset Classifications
-	where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"class":$S}
+    for $S in dataset Classifications
+    where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"class":$S}
 );
 insert into dataset Animals(
-	for $S in dataset Classifications
-	where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"class":$S}
+    for $S in dataset Classifications
+    where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"class":$S}
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.3.query.aql
index 66573b7..921d116 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-closed-top-open/bottom-closed-top-open.3.query.aql
@@ -18,9 +18,9 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.1.ddl.aql
index 4a27d50..2b373f5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.1.ddl.aql
@@ -18,9 +18,9 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
@@ -30,51 +30,51 @@
 use dataverse test;
 
 create type S as open{
-	id: int64
+    id: int64
 }
 
 create type GS as closed{
-	id: int64,
-	Genus: string,
-	lower: S
+    id: int64,
+    Genus: string,
+    lower: S
 }
 
 create type FGS as open{
-	id: int64,
-	Family: string
+    id: int64,
+    Family: string
 }
 
 create type OFGS as closed{
-	id: int64,
-	Order: string,
-	lower: FGS
+    id: int64,
+    Order: string,
+    lower: FGS
 }
 
 create type COFGS as closed{
-	id: int64,
-	Class: string,
-	lower: OFGS
+    id: int64,
+    Class: string,
+    lower: OFGS
 }
 
 create type PCOFGS as closed{
-	id: int64,
-	Phylum: string,
-	lower: COFGS
+    id: int64,
+    Phylum: string,
+    lower: COFGS
 }
 
 create type KPCOFGS as open{
-	id: int64,
-	Kingdom: string
+    id: int64,
+    Kingdom: string
 }
 
 create type Classification as closed{
-	id: int64,
-	fullClassification:KPCOFGS
+    id: int64,
+    fullClassification:KPCOFGS
 }
 
 create type Animal as closed{
-	id: int64,
-	class:Classification
+    id: int64,
+    class:Classification
 }
 
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.2.update.aql
index 08db698..e7424a4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.2.update.aql
@@ -18,97 +18,97 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
 use dataverse test;
 
 insert into dataset Ss(
-	{"id":1,"Species":"Gulo"}
+    {"id":1,"Species":"Gulo"}
 );
 insert into dataset Ss(
-	{"id":2,"Species":"Johnstoni"}
+    {"id":2,"Species":"Johnstoni"}
 );
 insert into dataset GSs(
-	for $S in dataset Ss
-	where $S.Species = "Gulo"
-	return {"id":1,"Genus":"Gulo","lower":$S}
+    for $S in dataset Ss
+    where $S.Species = "Gulo"
+    return {"id":1,"Genus":"Gulo","lower":$S}
 );
 insert into dataset GSs(
-	for $S in dataset Ss
-	where $S.Species = "Johnstoni"
-	return {"id":2,"Genus":"Okapia","lower":$S}
+    for $S in dataset Ss
+    where $S.Species = "Johnstoni"
+    return {"id":2,"Genus":"Okapia","lower":$S}
 );
 insert into dataset FGSs(
-	for $S in dataset GSs
-	where $S.lower.Species = "Gulo"
-	return {"id":1,"Family":"Mustelinae","lower":$S}
+    for $S in dataset GSs
+    where $S.lower.Species = "Gulo"
+    return {"id":1,"Family":"Mustelinae","lower":$S}
 );
 insert into dataset FGSs(
-	for $S in dataset GSs
-	where $S.lower.Species = "Johnstoni"
-	return {"id":2,"Family":"Giraffidae","lower":$S}
+    for $S in dataset GSs
+    where $S.lower.Species = "Johnstoni"
+    return {"id":2,"Family":"Giraffidae","lower":$S}
 );
 insert into dataset OFGSs(
-	for $S in dataset FGSs
-	where $S.lower.lower.Species = "Gulo"
-	return {"id":1,"Order":"Carnivora","lower":$S}
+    for $S in dataset FGSs
+    where $S.lower.lower.Species = "Gulo"
+    return {"id":1,"Order":"Carnivora","lower":$S}
 );
 insert into dataset OFGSs(
-	for $S in dataset FGSs
-	where $S.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Order":"Artiodactyla","lower":$S}
+    for $S in dataset FGSs
+    where $S.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Order":"Artiodactyla","lower":$S}
 );
 insert into dataset COFGSs(
-	for $S in dataset OFGSs
-	where $S.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Class":"Mammalia","lower":$S}
+    for $S in dataset OFGSs
+    where $S.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Class":"Mammalia","lower":$S}
 );
 insert into dataset COFGSs(
-	for $S in dataset OFGSs
-	where $S.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Class":"Mammalia","lower":$S}
+    for $S in dataset OFGSs
+    where $S.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Class":"Mammalia","lower":$S}
 );
 insert into dataset PCOFGSs(
-	for $S in dataset COFGSs
-	where $S.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Phylum":"Chordata","lower":$S}
+    for $S in dataset COFGSs
+    where $S.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Phylum":"Chordata","lower":$S}
 );
 insert into dataset PCOFGSs(
-	for $S in dataset COFGSs
-	where $S.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Phylum":"Chordata","lower":$S}
+    for $S in dataset COFGSs
+    where $S.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Phylum":"Chordata","lower":$S}
 );
 insert into dataset KPCOFGSs(
-	for $S in dataset PCOFGSs
-	where $S.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Kingdom":"Animalia","lower":$S}
+    for $S in dataset PCOFGSs
+    where $S.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Kingdom":"Animalia","lower":$S}
 );
 insert into dataset KPCOFGSs(
-	for $S in dataset PCOFGSs
-	where $S.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Kingdom":"Animalia","lower":$S}
+    for $S in dataset PCOFGSs
+    where $S.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Kingdom":"Animalia","lower":$S}
 );
 insert into dataset Classifications(
-	for $S in dataset KPCOFGSs
-	where $S.lower.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"fullClassification":$S}
+    for $S in dataset KPCOFGSs
+    where $S.lower.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"fullClassification":$S}
 );
 insert into dataset Classifications(
-	for $S in dataset KPCOFGSs
-	where $S.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"fullClassification":$S}
+    for $S in dataset KPCOFGSs
+    where $S.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"fullClassification":$S}
 );
 insert into dataset Animals(
-	for $S in dataset Classifications
-	where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"class":$S}
+    for $S in dataset Classifications
+    where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"class":$S}
 );
 insert into dataset Animals(
-	for $S in dataset Classifications
-	where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"class":$S}
+    for $S in dataset Classifications
+    where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"class":$S}
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.3.query.aql
index 66573b7..921d116 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-closed/bottom-open-top-closed.3.query.aql
@@ -18,9 +18,9 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.1.ddl.aql
index ebca85e..0c95714 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.1.ddl.aql
@@ -18,9 +18,9 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
@@ -30,50 +30,50 @@
 use dataverse test;
 
 create type S as open{
-	id: int64
+    id: int64
 }
 
 create type GS as closed{
-	id: int64,
-	Genus: string,
-	lower: S
+    id: int64,
+    Genus: string,
+    lower: S
 }
 
 create type FGS as open{
-	id: int64,
-	Family: string
+    id: int64,
+    Family: string
 }
 
 create type OFGS as closed{
-	id: int64,
-	Order: string,
-	lower: FGS
+    id: int64,
+    Order: string,
+    lower: FGS
 }
 
 create type COFGS as closed{
-	id: int64,
-	Class: string,
-	lower: OFGS
+    id: int64,
+    Class: string,
+    lower: OFGS
 }
 
 create type PCOFGS as closed{
-	id: int64,
-	Phylum: string,
-	lower: COFGS
+    id: int64,
+    Phylum: string,
+    lower: COFGS
 }
 
 create type KPCOFGS as open{
-	id: int64,
-	Kingdom: string
+    id: int64,
+    Kingdom: string
 }
 
 create type Classification as closed{
-	id: int64,
-	fullClassification:KPCOFGS
+    id: int64,
+    fullClassification:KPCOFGS
 }
 
 create type Animal as open{
-	id: int64
+    id: int64
 }
 
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.2.update.aql
index 08db698..e7424a4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.2.update.aql
@@ -18,97 +18,97 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
 use dataverse test;
 
 insert into dataset Ss(
-	{"id":1,"Species":"Gulo"}
+    {"id":1,"Species":"Gulo"}
 );
 insert into dataset Ss(
-	{"id":2,"Species":"Johnstoni"}
+    {"id":2,"Species":"Johnstoni"}
 );
 insert into dataset GSs(
-	for $S in dataset Ss
-	where $S.Species = "Gulo"
-	return {"id":1,"Genus":"Gulo","lower":$S}
+    for $S in dataset Ss
+    where $S.Species = "Gulo"
+    return {"id":1,"Genus":"Gulo","lower":$S}
 );
 insert into dataset GSs(
-	for $S in dataset Ss
-	where $S.Species = "Johnstoni"
-	return {"id":2,"Genus":"Okapia","lower":$S}
+    for $S in dataset Ss
+    where $S.Species = "Johnstoni"
+    return {"id":2,"Genus":"Okapia","lower":$S}
 );
 insert into dataset FGSs(
-	for $S in dataset GSs
-	where $S.lower.Species = "Gulo"
-	return {"id":1,"Family":"Mustelinae","lower":$S}
+    for $S in dataset GSs
+    where $S.lower.Species = "Gulo"
+    return {"id":1,"Family":"Mustelinae","lower":$S}
 );
 insert into dataset FGSs(
-	for $S in dataset GSs
-	where $S.lower.Species = "Johnstoni"
-	return {"id":2,"Family":"Giraffidae","lower":$S}
+    for $S in dataset GSs
+    where $S.lower.Species = "Johnstoni"
+    return {"id":2,"Family":"Giraffidae","lower":$S}
 );
 insert into dataset OFGSs(
-	for $S in dataset FGSs
-	where $S.lower.lower.Species = "Gulo"
-	return {"id":1,"Order":"Carnivora","lower":$S}
+    for $S in dataset FGSs
+    where $S.lower.lower.Species = "Gulo"
+    return {"id":1,"Order":"Carnivora","lower":$S}
 );
 insert into dataset OFGSs(
-	for $S in dataset FGSs
-	where $S.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Order":"Artiodactyla","lower":$S}
+    for $S in dataset FGSs
+    where $S.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Order":"Artiodactyla","lower":$S}
 );
 insert into dataset COFGSs(
-	for $S in dataset OFGSs
-	where $S.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Class":"Mammalia","lower":$S}
+    for $S in dataset OFGSs
+    where $S.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Class":"Mammalia","lower":$S}
 );
 insert into dataset COFGSs(
-	for $S in dataset OFGSs
-	where $S.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Class":"Mammalia","lower":$S}
+    for $S in dataset OFGSs
+    where $S.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Class":"Mammalia","lower":$S}
 );
 insert into dataset PCOFGSs(
-	for $S in dataset COFGSs
-	where $S.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Phylum":"Chordata","lower":$S}
+    for $S in dataset COFGSs
+    where $S.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Phylum":"Chordata","lower":$S}
 );
 insert into dataset PCOFGSs(
-	for $S in dataset COFGSs
-	where $S.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Phylum":"Chordata","lower":$S}
+    for $S in dataset COFGSs
+    where $S.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Phylum":"Chordata","lower":$S}
 );
 insert into dataset KPCOFGSs(
-	for $S in dataset PCOFGSs
-	where $S.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"Kingdom":"Animalia","lower":$S}
+    for $S in dataset PCOFGSs
+    where $S.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"Kingdom":"Animalia","lower":$S}
 );
 insert into dataset KPCOFGSs(
-	for $S in dataset PCOFGSs
-	where $S.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"Kingdom":"Animalia","lower":$S}
+    for $S in dataset PCOFGSs
+    where $S.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"Kingdom":"Animalia","lower":$S}
 );
 insert into dataset Classifications(
-	for $S in dataset KPCOFGSs
-	where $S.lower.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"fullClassification":$S}
+    for $S in dataset KPCOFGSs
+    where $S.lower.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"fullClassification":$S}
 );
 insert into dataset Classifications(
-	for $S in dataset KPCOFGSs
-	where $S.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"fullClassification":$S}
+    for $S in dataset KPCOFGSs
+    where $S.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"fullClassification":$S}
 );
 insert into dataset Animals(
-	for $S in dataset Classifications
-	where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Gulo"
-	return {"id":1,"class":$S}
+    for $S in dataset Classifications
+    where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Gulo"
+    return {"id":1,"class":$S}
 );
 insert into dataset Animals(
-	for $S in dataset Classifications
-	where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
-	return {"id":2,"class":$S}
+    for $S in dataset Classifications
+    where $S.fullClassification.lower.lower.lower.lower.lower.lower.Species = "Johnstoni"
+    return {"id":2,"class":$S}
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.3.query.aql
index 66573b7..921d116 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/highly-open-highly-nested/bottom-open-top-open/bottom-open-top-open.3.query.aql
@@ -18,9 +18,9 @@
  */
 /*
 * Description  : Create a highly nested datastructure that uses opened and closed datasets
-				at different levels. Use open-nested indexes at every level
-				to copy from one data set upwards
-				check the final result to see if copies were successful all the way up
+                at different levels. Use open-nested indexes at every level
+                to copy from one data set upwards
+                check the final result to see if copies were successful all the way up
 * Expected Res : Success
 * Date         : 20 Oct 2014
 */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
index f0afd00..ec6aaf8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
@@ -35,30 +35,30 @@
 
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-		where ($x.id<50)
-		return {
-			"nested" : $x
-		}
+    for $x in dataset DBLPtmp
+        where ($x.id<50)
+        return {
+            "nested" : $x
+        }
 );
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-		where ($x.id>=50)
-		return {
-					"nested" : {
-						"id": $x.id,
-						"dblpid": $x.dblpid,
-						"title": $x.title,
-						"misc": $x.misc
-					}
-				}
+    for $x in dataset DBLPtmp
+        where ($x.id>=50)
+        return {
+                    "nested" : {
+                        "id": $x.id,
+                        "dblpid": $x.dblpid,
+                        "title": $x.title,
+                        "misc": $x.misc
+                    }
+                }
 );
 
 insert into dataset CSX
 (
-	for $c in dataset('CSXtmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('CSXtmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
index 756de89..bfd8869 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
@@ -35,32 +35,32 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	where $c.cid < 500
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customerstmp')
+    where $c.cid < 500
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	where $c.cid >= 500
-	return {
-		"nested" : {
-			"cid": $c.cid,
-			"age": $c.age,
-			"address": $c.address,
-			"interests": $c.interests,
-			"children": $c.children
-		}
-	}	
+    for $c in dataset('Customerstmp')
+    where $c.cid >= 500
+    return {
+        "nested" : {
+            "cid": $c.cid,
+            "age": $c.age,
+            "address": $c.address,
+            "interests": $c.interests,
+            "children": $c.children
+        }
+    }
 );
 
 insert into dataset Customers2
 (
-	for $c in dataset('Customers2tmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customers2tmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
index 3cf549b..96fb873 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
@@ -34,32 +34,32 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	where $c.cid < 500
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customerstmp')
+    where $c.cid < 500
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	where $c.cid >= 500
-	return {
-		"nested" : {
-			"cid": $c.cid,
-			"age": $c.age,
-			"address": $c.address,
-			"interests": $c.interests,
-			"children": $c.children
-		}
-	}	
+    for $c in dataset('Customerstmp')
+    where $c.cid >= 500
+    return {
+        "nested" : {
+            "cid": $c.cid,
+            "age": $c.age,
+            "address": $c.address,
+            "interests": $c.interests,
+            "children": $c.children
+        }
+    }
 );
 
 insert into dataset Customers2
 (
-	for $c in dataset('Customers2tmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Customers2tmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
index a5cd372..0f785ab 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
@@ -35,29 +35,29 @@
 
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-		where ($x.id<50)
-		return {
-			"nested" : $x
-		}
+    for $x in dataset DBLPtmp
+        where ($x.id<50)
+        return {
+            "nested" : $x
+        }
 );
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-		where ($x.id>=50)
-		return {
-					"nested" : {
-						"id": $x.id,
-						"dblpid": $x.dblpid,
-						"authors": $x.title,
-						"misc": $x.misc
-					}
-				}
+    for $x in dataset DBLPtmp
+        where ($x.id>=50)
+        return {
+                    "nested" : {
+                        "id": $x.id,
+                        "dblpid": $x.dblpid,
+                        "authors": $x.title,
+                        "misc": $x.misc
+                    }
+                }
 );
 
 insert into dataset CSX(
-	for $x in dataset CSXtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset CSXtmp
+    return {
+        "nested": $x
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-jaccard/ngram-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-jaccard/ngram-jaccard.2.update.aql
index 219f80f..56cf466 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-jaccard/ngram-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/ngram-jaccard/ngram-jaccard.2.update.aql
@@ -34,29 +34,29 @@
 
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-		where ($x.id<50)
-		return {
-			"nested" : $x
-		}
+    for $x in dataset DBLPtmp
+        where ($x.id<50)
+        return {
+            "nested" : $x
+        }
 );
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-		where ($x.id>=50)
-		return {
-					"nested" : {
-						"id": $x.id,
-						"dblpid": $x.dblpid,
-						"authors": $x.title,
-						"misc": $x.misc
-					}
-				}
+    for $x in dataset DBLPtmp
+        where ($x.id>=50)
+        return {
+                    "nested" : {
+                        "id": $x.id,
+                        "dblpid": $x.dblpid,
+                        "authors": $x.title,
+                        "misc": $x.misc
+                    }
+                }
 );
 
 insert into dataset CSX(
-	for $x in dataset CSXtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset CSXtmp
+    return {
+        "nested": $x
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
index bdb0c54..16d3105 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description    : Joins two datasets on the intersection of their point attributes.
- *                  The dataset 'MyData1' has an open enforced RTree index, and we expect the 
+ *                  The dataset 'MyData1' has an open enforced RTree index, and we expect the
  *                  join to be transformed into an indexed nested-loop join.
  * Success        : Yes
  */
@@ -35,35 +35,35 @@
 
 insert into dataset MyData1
 (
-	for $c in dataset('MyData1tmp')
-	where $c.id < 10
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyData1tmp')
+    where $c.id < 10
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset MyData1
 (
-	for $c in dataset('MyData1tmp')
-	where $c.id >= 10
-	return {
-		"nested" : {
-			"id": $c.id,
-			"kwds": $c.kwds,
-			"line1": $c.line1,
-			"line2": $c.line2,
-			"poly1": $c.poly1,
-			"poly2": $c.poly2,
-			"rec": $c.rec,
-			"circle": $c.circle
-		}
-	}	
+    for $c in dataset('MyData1tmp')
+    where $c.id >= 10
+    return {
+        "nested" : {
+            "id": $c.id,
+            "kwds": $c.kwds,
+            "line1": $c.line1,
+            "line2": $c.line2,
+            "poly1": $c.poly1,
+            "poly2": $c.poly2,
+            "rec": $c.rec,
+            "circle": $c.circle
+        }
+    }
 );
 
 insert into dataset MyData2
 (
-	for $c in dataset('MyData2tmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyData2tmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
index f9c354d..f40ac5b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
@@ -35,29 +35,29 @@
 
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-		where ($x.id<50)
-		return {
-			"nested" : $x
-		}
+    for $x in dataset DBLPtmp
+        where ($x.id<50)
+        return {
+            "nested" : $x
+        }
 );
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-		where ($x.id>=50)
-		return {
-					"nested" : {
-						"id": $x.id,
-						"dblpid": $x.dblpid,
-						"authors": $x.title,
-						"misc": $x.misc
-					}
-				}
+    for $x in dataset DBLPtmp
+        where ($x.id>=50)
+        return {
+                    "nested" : {
+                        "id": $x.id,
+                        "dblpid": $x.dblpid,
+                        "authors": $x.title,
+                        "misc": $x.misc
+                    }
+                }
 );
 
 insert into dataset CSX(
-	for $x in dataset CSXtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset CSXtmp
+    return {
+        "nested": $x
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/word-jaccard/word-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/word-jaccard/word-jaccard.2.update.aql
index abeabfd..7a533a4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/word-jaccard/word-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-join/word-jaccard/word-jaccard.2.update.aql
@@ -34,29 +34,29 @@
 
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-		where ($x.id<50)
-		return {
-			"nested" : $x
-		}
+    for $x in dataset DBLPtmp
+        where ($x.id<50)
+        return {
+            "nested" : $x
+        }
 );
 
 insert into dataset DBLP(
-	for $x in dataset DBLPtmp
-		where ($x.id>=50)
-		return {
-					"nested" : {
-						"id": $x.id,
-						"dblpid": $x.dblpid,
-						"authors": $x.title,
-						"misc": $x.misc
-					}
-				}
+    for $x in dataset DBLPtmp
+        where ($x.id>=50)
+        return {
+                    "nested" : {
+                        "id": $x.id,
+                        "dblpid": $x.dblpid,
+                        "authors": $x.title,
+                        "misc": $x.misc
+                    }
+                }
 );
 
 insert into dataset CSX(
-	for $x in dataset CSXtmp
-	return {
-		"nested": $x
-	}
+    for $x in dataset CSXtmp
+    return {
+        "nested": $x
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql
index 0a98de5..b33de4d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql
@@ -28,26 +28,26 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64
+    message-text: string,
+    countA: int64
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql
index 6f9deaf..25e4432 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql
@@ -31,26 +31,26 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid < int64("125")
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid < int64("125")
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid >= int64("125")
-	return {
-		"nested" : {
-				"tweetid": $c.tweetid,
-				"user": $c.user,
-				"sender-location": $c.sender-location,
-				"send-time": $c.send-time,
-				"referred-topics": $c.referred-topics,
-				"message-text": $c.message-text,
-				"countA": $c.countA
-			}
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid >= int64("125")
+    return {
+        "nested" : {
+                "tweetid": $c.tweetid,
+                "user": $c.user,
+                "sender-location": $c.sender-location,
+                "send-time": $c.send-time,
+                "referred-topics": $c.referred-topics,
+                "message-text": $c.message-text,
+                "countA": $c.countA
+            }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.3.query.aql
index b73bd5d..72f4397 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.3.query.aql
@@ -32,8 +32,8 @@
 "tweetid1": $t1.nested.tweetid,
 "count1":$t1.nested.countA,
 "t2info": for $t2 in dataset('TweetMessages')
-			          where $t1.nested.countA /* +indexnl */= $t2.nested.countB
-			          order by $t2.nested.tweetid
-			          return {"tweetid2": $t2.nested.tweetid,
-			                  "count2":$t2.nested.countB}
+                      where $t1.nested.countA /* +indexnl */= $t2.nested.countB
+                      order by $t2.nested.tweetid
+                      return {"tweetid2": $t2.nested.tweetid,
+                              "count2":$t2.nested.countB}
 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql
index 0d3e91c..9b0f229 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql
@@ -28,26 +28,26 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64
+    message-text: string,
+    countA: int64
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql
index 6f9deaf..25e4432 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql
@@ -31,26 +31,26 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid < int64("125")
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid < int64("125")
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid >= int64("125")
-	return {
-		"nested" : {
-				"tweetid": $c.tweetid,
-				"user": $c.user,
-				"sender-location": $c.sender-location,
-				"send-time": $c.send-time,
-				"referred-topics": $c.referred-topics,
-				"message-text": $c.message-text,
-				"countA": $c.countA
-			}
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid >= int64("125")
+    return {
+        "nested" : {
+                "tweetid": $c.tweetid,
+                "user": $c.user,
+                "sender-location": $c.sender-location,
+                "send-time": $c.send-time,
+                "referred-topics": $c.referred-topics,
+                "message-text": $c.message-text,
+                "countA": $c.countA
+            }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql
index bff7103..aa89b93 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary btree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,26 +28,26 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
+}
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	countA: int64,
-	countB: int64
+    countA: int64,
+    countB: int64
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql
index d355283..8ead179 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql
@@ -31,26 +31,26 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid < int64("125")
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid < int64("125")
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid >= int64("125")
-	return {
-		"nested" : {
-				"tweetid": $c.tweetid,
-				"user": $c.user,
-				"sender-location": $c.sender-location,
-				"send-time": $c.send-time,
-				"referred-topics": $c.referred-topics,
-				"countA": $c.countA,
-				"countB": $c.countB
-			}
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid >= int64("125")
+    return {
+        "nested" : {
+                "tweetid": $c.tweetid,
+                "user": $c.user,
+                "sender-location": $c.sender-location,
+                "send-time": $c.send-time,
+                "referred-topics": $c.referred-topics,
+                "countA": $c.countA,
+                "countB": $c.countB
+            }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
index e56f515..b233806 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
@@ -32,7 +32,7 @@
     "tweet": {"id": $t1.tweetid, "topics" : $t1.message-text} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := edit-distance-check($t1.message-text, $t2.nested.message-text, 7)
-		      where $sim[0] and
+              where $sim[0] and
                       $t2.nested.tweetid != $t1.tweetid
                       order by $t2.nested.tweetid
                       return {"id": $t2.nested.tweetid, "topics" : $t2.nested.message-text}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql
index 4d34fb5..8399068 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql
@@ -28,26 +28,26 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql
index 6b7bf44..c73db9f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql
@@ -31,26 +31,26 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid < int64("125")
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid < int64("125")
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid >= int64("125")
-	return {
-		"nested" : {
-				"tweetid": $c.tweetid,
-				"user": $c.user,
-				"send-time": $c.send-time,
-				"referred-topics": $c.referred-topics,
-				"message-text": $c.message-text,
-				"countA": $c.countA,
-				"countB": $c.countB
-			}
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid >= int64("125")
+    return {
+        "nested" : {
+                "tweetid": $c.tweetid,
+                "user": $c.user,
+                "send-time": $c.send-time,
+                "referred-topics": $c.referred-topics,
+                "message-text": $c.message-text,
+                "countA": $c.countA,
+                "countB": $c.countB
+            }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql
index 4d34fb5..8399068 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql
@@ -28,26 +28,26 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageNestedType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create type TweetMessageType as closed {
-	nested: TweetMessageNestedType
+    nested: TweetMessageNestedType
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql
index 6b7bf44..c73db9f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql
@@ -31,26 +31,26 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid < int64("125")
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid < int64("125")
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid >= int64("125")
-	return {
-		"nested" : {
-				"tweetid": $c.tweetid,
-				"user": $c.user,
-				"send-time": $c.send-time,
-				"referred-topics": $c.referred-topics,
-				"message-text": $c.message-text,
-				"countA": $c.countA,
-				"countB": $c.countB
-			}
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid >= int64("125")
+    return {
+        "nested" : {
+                "tweetid": $c.tweetid,
+                "user": $c.user,
+                "send-time": $c.send-time,
+                "referred-topics": $c.referred-topics,
+                "message-text": $c.message-text,
+                "countA": $c.countA,
+                "countB": $c.countB
+            }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
index 30ddb91..d07f5b4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree index is used in query plan
  *                 : define the BTree index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 5th Feb, 2013
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
index 6b4077e..00dd5db 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree index is used in query plan
  *                 : define the BTree index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 5th Feb, 2013
@@ -35,26 +35,26 @@
 
 insert into dataset employee
 (
-	for $c in dataset('employeeTmp')
-	where $c.id <= 1000
-	return {
-		"nested" : {
-	  "id": $c.id,
-  	  "fname": $c.fname,
-  	  "lname": $c.lname,
-  	  "age": $c.age,
-  	  "dept": $c.dept }
-	}	
+    for $c in dataset('employeeTmp')
+    where $c.id <= 1000
+    return {
+        "nested" : {
+      "id": $c.id,
+        "fname": $c.fname,
+        "lname": $c.lname,
+        "age": $c.age,
+        "dept": $c.dept }
+    }
 );
 
 insert into dataset employee
 (
-	for $c in dataset('employeeTmp')
-	where $c.id > 1000
-	return {
-		"nested" : {
-	  "id": $c.id,
-  	  "age": $c.age,
-  	  "dept": $c.dept }
-	}	
+    for $c in dataset('employeeTmp')
+    where $c.id > 1000
+    return {
+        "nested" : {
+      "id": $c.id,
+        "age": $c.age,
+        "dept": $c.dept }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.ddl.aql
index cdec5ac..b4e1a6b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.ddl.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree index is used in query plan
  *                 : define the BTree index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 5th Feb, 2013
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql
index f77ddcd..c46678f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree index is used in query plan
  *                 : define the BTree index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 5th Feb, 2013
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql
index 029665f..9e564fd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql
@@ -34,13 +34,13 @@
 
 insert into dataset employee
 (
-	for $c in dataset('employeeTmp')
-	return {
-		"nested" : {
-	  "id": $c.id,
-  	  "fname": $c.fname,
-  	  "lname": $c.lname,
-  	  "age": $c.age,
-  	  "dept": $c.dept }
-	}	
+    for $c in dataset('employeeTmp')
+    return {
+        "nested" : {
+      "id": $c.id,
+        "fname": $c.fname,
+        "lname": $c.lname,
+        "age": $c.age,
+        "dept": $c.dept }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql
index 3aa3804..b0c9ece 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql
@@ -32,10 +32,10 @@
 
 insert into dataset Orders
 (
-	for $c in dataset('Orderstmp')
-	where $c.o_orderkey <= 4000
-	return {
-		"nested" : {
+    for $c in dataset('Orderstmp')
+    where $c.o_orderkey <= 4000
+    return {
+        "nested" : {
   "o_orderkey": $c.o_orderkey,
   "o_custkey": $c.o_custkey,
   "o_orderstatus": $c.o_orderstatus,
@@ -46,15 +46,15 @@
   "o_shippriority": $c.o_shippriority,
   "o_comment": $c.o_comment
 }
-	}	
+    }
 );
 
 insert into dataset Orders
 (
-	for $c in dataset('Orderstmp')
-	where $c.o_orderkey > 4000
-	return {
-		"nested" : {
+    for $c in dataset('Orderstmp')
+    where $c.o_orderkey > 4000
+    return {
+        "nested" : {
   "o_orderkey": $c.o_orderkey,
   "o_orderstatus": $c.o_orderstatus,
   "o_totalprice": $c.o_totalprice,
@@ -64,5 +64,5 @@
   "o_shippriority": $c.o_shippriority,
   "o_comment": $c.o_comment
 }
-	}	
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql
index c762398..5ae0852 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql
@@ -24,23 +24,23 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id <= 50
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id <= 50
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id > 50
-	return {
-		"nested" : {
-			"id": $c.id,
-			"dblpid": $c.dblpid,
-			"authors": $c.authors,
-			"misc": $c.misc
-		}
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id > 50
+    return {
+        "nested" : {
+            "id": $c.id,
+            "dblpid": $c.dblpid,
+            "authors": $c.authors,
+            "misc": $c.misc
+        }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql
index 953a027..5179cae 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql
@@ -23,22 +23,22 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLP (
-	for $x in dataset test.DBLPtmp
-	where $x.id <= 50
-	return {
-		"nested": $x
-	}
+    for $x in dataset test.DBLPtmp
+    where $x.id <= 50
+    return {
+        "nested": $x
+    }
 );
 
 insert into dataset test.DBLP (
-	for $c in dataset test.DBLPtmp
-	where $c.id > 50
-	return {
-		"nested":	{
-			"id": $c.id,
-			"dblpid": $c.dblpid,
-			"authors": $c.authors,
-			"misc": $c.misc
-		}
-	}
+    for $c in dataset test.DBLPtmp
+    where $c.id > 50
+    return {
+        "nested":    {
+            "id": $c.id,
+            "dblpid": $c.dblpid,
+            "authors": $c.authors,
+            "misc": $c.misc
+        }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql
index f02322e..31e220a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql
@@ -24,23 +24,23 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id <= 50
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id <= 50
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id > 50
-	return {
-		"nested" : {
-			"id": $c.id,
-			"dblpid": $c.dblpid,
-			"title": $c.title,
-			"misc": $c.misc
-		}
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id > 50
+    return {
+        "nested" : {
+            "id": $c.id,
+            "dblpid": $c.dblpid,
+            "title": $c.title,
+            "misc": $c.misc
+        }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql
index 953a027..5179cae 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql
@@ -23,22 +23,22 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLP (
-	for $x in dataset test.DBLPtmp
-	where $x.id <= 50
-	return {
-		"nested": $x
-	}
+    for $x in dataset test.DBLPtmp
+    where $x.id <= 50
+    return {
+        "nested": $x
+    }
 );
 
 insert into dataset test.DBLP (
-	for $c in dataset test.DBLPtmp
-	where $c.id > 50
-	return {
-		"nested":	{
-			"id": $c.id,
-			"dblpid": $c.dblpid,
-			"authors": $c.authors,
-			"misc": $c.misc
-		}
-	}
+    for $c in dataset test.DBLPtmp
+    where $c.id > 50
+    return {
+        "nested":    {
+            "id": $c.id,
+            "dblpid": $c.dblpid,
+            "authors": $c.authors,
+            "misc": $c.misc
+        }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql
index f02322e..31e220a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql
@@ -24,23 +24,23 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id <= 50
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id <= 50
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id > 50
-	return {
-		"nested" : {
-			"id": $c.id,
-			"dblpid": $c.dblpid,
-			"title": $c.title,
-			"misc": $c.misc
-		}
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id > 50
+    return {
+        "nested" : {
+            "id": $c.id,
+            "dblpid": $c.dblpid,
+            "title": $c.title,
+            "misc": $c.misc
+        }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql
index c762398..5ae0852 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql
@@ -24,23 +24,23 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id <= 50
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id <= 50
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id > 50
-	return {
-		"nested" : {
-			"id": $c.id,
-			"dblpid": $c.dblpid,
-			"authors": $c.authors,
-			"misc": $c.misc
-		}
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id > 50
+    return {
+        "nested" : {
+            "id": $c.id,
+            "dblpid": $c.dblpid,
+            "authors": $c.authors,
+            "misc": $c.misc
+        }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql
index 036e957..4038bf5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql
@@ -25,23 +25,23 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id <= 50
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id <= 50
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id > 50
-	return {
-		"nested" : {
-			"id": $c.id,
-			"dblpid": $c.dblpid,
-			"authors": $c.authors,
-			"misc": $c.misc
-		}
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id > 50
+    return {
+        "nested" : {
+            "id": $c.id,
+            "dblpid": $c.dblpid,
+            "authors": $c.authors,
+            "misc": $c.misc
+        }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql
index 036e957..4038bf5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql
@@ -25,23 +25,23 @@
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id <= 50
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id <= 50
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset DBLP
 (
-	for $c in dataset('DBLPtmp')
-	where $c.id > 50
-	return {
-		"nested" : {
-			"id": $c.id,
-			"dblpid": $c.dblpid,
-			"authors": $c.authors,
-			"misc": $c.misc
-		}
-	}	
+    for $c in dataset('DBLPtmp')
+    where $c.id > 50
+    return {
+        "nested" : {
+            "id": $c.id,
+            "dblpid": $c.dblpid,
+            "authors": $c.authors,
+            "misc": $c.misc
+        }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql
index 6d5ccc6..bda3125 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql
@@ -24,8 +24,8 @@
 
 insert into dataset Orders
 (
-	for $c in dataset('Orderstmp')
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Orderstmp')
+    return {
+        "nested" : $c
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql
index 3b6f0a3..c095344 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql
@@ -24,27 +24,27 @@
 
 insert into dataset Orders
 (
-	for $c in dataset('Orderstmp')
-	where $c.o_orderkey <= 3000
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('Orderstmp')
+    where $c.o_orderkey <= 3000
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset Orders
 (
-	for $c in dataset('Orderstmp')
-	where $c.o_orderkey > 3000
-	return {
-		"nested" : {
-			"o_orderkey": $c.o_orderkey,
-			"o_orderstatus": $c.o_orderstatus,
-			"o_totalprice": $c.o_totalprice,
-			"o_orderdate": $c.o_orderdate,
-			"o_orderpriority": $c.o_orderpriority,
-			"o_clerk": $c.o_clerk,
-			"o_shippriority": $c.o_shippriority,
-			"o_comment": $c.o_comment
-		}
-	}	
+    for $c in dataset('Orderstmp')
+    where $c.o_orderkey > 3000
+    return {
+        "nested" : {
+            "o_orderkey": $c.o_orderkey,
+            "o_orderstatus": $c.o_orderstatus,
+            "o_totalprice": $c.o_totalprice,
+            "o_orderdate": $c.o_orderdate,
+            "o_orderpriority": $c.o_orderpriority,
+            "o_clerk": $c.o_clerk,
+            "o_shippriority": $c.o_shippriority,
+            "o_comment": $c.o_comment
+        }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/range-search/range-search.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/range-search/range-search.2.update.aql
index 85f1f6d..61bd454 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/range-search/range-search.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/range-search/range-search.2.update.aql
@@ -24,34 +24,34 @@
 
 insert into dataset LineItem
 (
-	for $c in dataset('LineItemtmp')
-	where $c.l_orderkey < 3000
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('LineItemtmp')
+    where $c.l_orderkey < 3000
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset LineItem
 (
-	for $x in dataset('LineItemtmp')
-	where $x.l_orderkey >= 3000
-	return {
-		"nested" : {
-			"l_orderkey": $x.l_orderkey,
-			"l_partkey": $x.l_partkey,
-			"l_linenumber": $x.l_linenumber,
-			"l_quantity": $x.l_quantity,
-			"l_extendedprice": $x.l_extendedprice,
-			"l_discount": $x.l_discount,
-			"l_tax": $x.l_tax,
-			"l_returnflag": $x.l_returnflag,
-			"l_linestatus": $x.l_linestatus,
-			"l_shipdate": $x.l_shipdate,
-			"l_commitdate": $x.l_commitdate,
-			"l_receiptdate": $x.l_receiptdate,
-			"l_shipinstruct": $x.l_shipinstruct,
-			"l_shipmode": $x.l_shipmode,
-			"l_comment": $x.l_comment
-		}
-	}	
+    for $x in dataset('LineItemtmp')
+    where $x.l_orderkey >= 3000
+    return {
+        "nested" : {
+            "l_orderkey": $x.l_orderkey,
+            "l_partkey": $x.l_partkey,
+            "l_linenumber": $x.l_linenumber,
+            "l_quantity": $x.l_quantity,
+            "l_extendedprice": $x.l_extendedprice,
+            "l_discount": $x.l_discount,
+            "l_tax": $x.l_tax,
+            "l_returnflag": $x.l_returnflag,
+            "l_linestatus": $x.l_linestatus,
+            "l_shipdate": $x.l_shipdate,
+            "l_commitdate": $x.l_commitdate,
+            "l_receiptdate": $x.l_receiptdate,
+            "l_shipinstruct": $x.l_shipinstruct,
+            "l_shipmode": $x.l_shipmode,
+            "l_comment": $x.l_comment
+        }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql
index 43d28e5..6042913 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/nested-open-index/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql
@@ -24,27 +24,27 @@
 
 insert into dataset MyData
 (
-	for $c in dataset('MyDatatmp')
-	where $c.id < 15
-	return {
-		"nested" : $c
-	}	
+    for $c in dataset('MyDatatmp')
+    where $c.id < 15
+    return {
+        "nested" : $c
+    }
 );
 
 insert into dataset MyData
 (
-	for $c in dataset('MyDatatmp')
-	where $c.id >= 15
-	return {
-		"nested" : {
-			"id": $c.id,
-			"kwds": $c.kwds,
-			"line1": $c.line1,
-			"line2": $c.line2,
-			"poly1": $c.poly1,
-			"poly2": $c.poly2,
-			"rec": $c.rec,
-			"circle": $c.circle
-		}
-	}	
+    for $c in dataset('MyDatatmp')
+    where $c.id >= 15
+    return {
+        "nested" : {
+            "id": $c.id,
+            "kwds": $c.kwds,
+            "line1": $c.line1,
+            "line2": $c.line2,
+            "poly1": $c.poly1,
+            "poly2": $c.poly2,
+            "rec": $c.rec,
+            "circle": $c.circle
+        }
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.3.query.aql
index 56c3d27..0581f29 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/abs0/abs0.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("0")
 let $c7 := int64("0")
 return {"f0": abs($c0), "f1": abs($c1),"f2": abs($c2), "f3": abs($c3),
-	"f4": abs($c4),"f5": abs($c5) ,"f6": abs($c6), "f7": abs($c7)}
+    "f4": abs($c4),"f5": abs($c5) ,"f6": abs($c6), "f7": abs($c7)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.3.query.aql
index 367a4df..2cd19bd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/abs1/abs1.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("23")
 let $c7 := int64("27")
 return {"f0": abs($c0), "f1": abs($c1),"f2": abs($c2), "f3": abs($c3),
-	"f4": abs($c4),"f5": abs($c5) ,"f6": abs($c6), "f7": abs($c7)}
+    "f4": abs($c4),"f5": abs($c5) ,"f6": abs($c6), "f7": abs($c7)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.3.query.aql
index 1bc12ea..66b502e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling0/ceiling0.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("0")
 let $c7 := int64("0")
 return {"f0": ceiling($c0), "f1": ceiling($c1),"f2": ceiling($c2), "f3": ceiling($c3),
-	"f4": ceiling($c4),"f5": ceiling($c5) ,"f6": ceiling($c6), "f7": ceiling($c7)}
+    "f4": ceiling($c4),"f5": ceiling($c5) ,"f6": ceiling($c6), "f7": ceiling($c7)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.3.query.aql
index 4c13c5c..2b66b30 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/ceiling1/ceiling1.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("23")
 let $c7 := int64("27")
 return {"f0": ceiling($c0), "f1": ceiling($c1),"f2": ceiling($c2), "f3": ceiling($c3),
-	"f4": ceiling($c4),"f5": ceiling($c5) ,"f6": ceiling($c6), "f7": ceiling($c7)}
+    "f4": ceiling($c4),"f5": ceiling($c5) ,"f6": ceiling($c6), "f7": ceiling($c7)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.3.query.aql
index 1d1e638..0641383 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/floor0/floor0.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("0")
 let $c7 := int64("0")
 return {"f0": floor($c0), "f1": floor($c1),"f2": floor($c2), "f3": floor($c3),
-	"f4": floor($c4),"f5": floor($c5) ,"f6": floor($c6), "f7": floor($c7)}
+    "f4": floor($c4),"f5": floor($c5) ,"f6": floor($c6), "f7": floor($c7)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.3.query.aql
index 15a5462..4eaac90 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/floor1/floor1.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("23")
 let $c7 := int64("27")
 return {"f0": floor($c0), "f1": floor($c1),"f2": floor($c2), "f3": floor($c3),
-	"f4": floor($c4),"f5": floor($c5) ,"f6": floor($c6), "f7": floor($c7)}
+    "f4": floor($c4),"f5": floor($c5) ,"f6": floor($c6), "f7": floor($c7)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.3.query.aql
index 8ebdde3..75084f1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even0/round-half-to-even0.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("0")
 let $c7 := int64("0")
 return {"f0": round-half-to-even($c0), "f1": round-half-to-even($c1),"f2": round-half-to-even($c2), "f3": round-half-to-even($c3),
-	"f4": round-half-to-even($c4),"f5": round-half-to-even($c5) ,"f6": round-half-to-even($c6), "f7": round-half-to-even($c7)}
+    "f4": round-half-to-even($c4),"f5": round-half-to-even($c5) ,"f6": round-half-to-even($c6), "f7": round-half-to-even($c7)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.3.query.aql
index 3191293..fdec38e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even1/round-half-to-even1.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("23")
 let $c7 := int64("27")
 return {"f0": round-half-to-even($c0), "f1": round-half-to-even($c1),"f2": round-half-to-even($c2), "f3": round-half-to-even($c3),
-	"f4": round-half-to-even($c4),"f5": round-half-to-even($c5) ,"f6": round-half-to-even($c6), "f7": round-half-to-even($c7)}
+    "f4": round-half-to-even($c4),"f5": round-half-to-even($c5) ,"f6": round-half-to-even($c6), "f7": round-half-to-even($c7)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.3.query.aql
index b2a56bd..73f056a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even20/round-half-to-even20.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("0")
 let $c7 := int64("0")
 return {"f0": round-half-to-even($c0,2), "f1": round-half-to-even($c1,2),"f2": round-half-to-even($c2,2), "f3": round-half-to-even($c3,2),
-	"f4": round-half-to-even($c4,2),"f5": round-half-to-even($c5,2) ,"f6": round-half-to-even($c6,2), "f7": round-half-to-even($c7,2)}
+    "f4": round-half-to-even($c4,2),"f5": round-half-to-even($c5,2) ,"f6": round-half-to-even($c6,2), "f7": round-half-to-even($c7,2)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.3.query.aql
index 49d7251..04478fe 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round-half-to-even21/round-half-to-even21.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("23")
 let $c7 := int64("27")
 return {"f0": round-half-to-even($c0,2), "f1": round-half-to-even($c1,2),"f2": round-half-to-even($c2,2), "f3": round-half-to-even($c3,2),
-	"f4": round-half-to-even($c4,2),"f5": round-half-to-even($c5,2) ,"f6": round-half-to-even($c6,2), "f7": round-half-to-even($c7,2)}
+    "f4": round-half-to-even($c4,2),"f5": round-half-to-even($c5,2) ,"f6": round-half-to-even($c6,2), "f7": round-half-to-even($c7,2)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.3.query.aql
index d9ebf1b..b2cdd89 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round0/round0.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("0")
 let $c7 := int64("0")
 return {"f0": round($c0), "f1": round($c1),"f2": round($c2), "f3": round($c3),
-	"f4": round($c4),"f5": round($c5) ,"f6": round($c6), "f7": round($c7)}
+    "f4": round($c4),"f5": round($c5) ,"f6": round($c6), "f7": round($c7)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.3.query.aql
index 8e027ba..c1864b1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/round1/round1.3.query.aql
@@ -27,4 +27,4 @@
 let $c6 := int32("23")
 let $c7 := int64("27")
 return {"f0": round($c0), "f1": round($c1),"f2": round($c2), "f3": round($c3),
-	"f4": round($c4),"f5": round($c5) ,"f6": round($c6), "f7": round($c7)}
+    "f4": round($c4),"f5": round($c5) ,"f6": round($c6), "f7": round($c7)}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.1.ddl.aql
index 0aa3268..b7a2b85 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue134
- 				: https://code.google.com/p/asterixdb/issues/detail?id=134
+                 : https://code.google.com/p/asterixdb/issues/detail?id=134
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.2.update.aql
index 0aa3268..b7a2b85 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue134
- 				: https://code.google.com/p/asterixdb/issues/detail?id=134
+                 : https://code.google.com/p/asterixdb/issues/detail?id=134
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.3.query.aql
index 1ed1b9f..f3926f8a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue134/query-issue134.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue134
- 				: https://code.google.com/p/asterixdb/issues/detail?id=134
+                 : https://code.google.com/p/asterixdb/issues/detail?id=134
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.1.ddl.aql
index e8a5293..0b8f376 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.1.ddl.aql
@@ -18,8 +18,8 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue166
- 				: https://code.google.com/p/asterixdb/issues/detail?id=166
+                 : https://code.google.com/p/asterixdb/issues/detail?id=166
  * Expected Res : Success
  * Date         : 26th November 2012
  */
- 
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.2.update.aql
index e8a5293..0b8f376 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.2.update.aql
@@ -18,8 +18,8 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue166
- 				: https://code.google.com/p/asterixdb/issues/detail?id=166
+                 : https://code.google.com/p/asterixdb/issues/detail?id=166
  * Expected Res : Success
  * Date         : 26th November 2012
  */
- 
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.3.query.aql
index 8b0290a..fb11390 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue166/query-issue166.3.query.aql
@@ -18,10 +18,10 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue166
- 				: https://code.google.com/p/asterixdb/issues/detail?id=166
+                 : https://code.google.com/p/asterixdb/issues/detail?id=166
  * Expected Res : Success
  * Date         : 26th November 2012
  */
- 
+
 let $a := [[1,2,3],[4,5,6,7]]
 return $a[1]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue196/query-issue196.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue196/query-issue196.2.update.aql
index 99079e3..ffb0ec1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue196/query-issue196.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue196/query-issue196.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue196
- 				: https://code.google.com/p/asterixdb/issues/detail?id=196
+                 : https://code.google.com/p/asterixdb/issues/detail?id=196
  * Expected Res : Success
  * Date         : 5th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue196/query-issue196.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue196/query-issue196.3.query.aql
index 58980a9..ea4572e5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue196/query-issue196.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue196/query-issue196.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue196
- 				: https://code.google.com/p/asterixdb/issues/detail?id=196
+                 : https://code.google.com/p/asterixdb/issues/detail?id=196
  * Expected Res : Success
  * Date         : 5th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue208/query-issue208.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue208/query-issue208.2.update.aql
index d5656a5..5a5e797 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue208/query-issue208.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue208/query-issue208.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue208
- 				: https://code.google.com/p/asterixdb/issues/detail?id=208
+                 : https://code.google.com/p/asterixdb/issues/detail?id=208
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue208/query-issue208.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue208/query-issue208.3.query.aql
index 6bcef32..860e012 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue208/query-issue208.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue208/query-issue208.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue208
- 				: https://code.google.com/p/asterixdb/issues/detail?id=208
+                 : https://code.google.com/p/asterixdb/issues/detail?id=208
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue236/query-issue236.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue236/query-issue236.2.update.aql
index d0b756a..ba432ec 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue236/query-issue236.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue236/query-issue236.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue236
- 				: https://code.google.com/p/asterixdb/issues/detail?id=236
+                 : https://code.google.com/p/asterixdb/issues/detail?id=236
  * Expected Res : Success
  * Date         : 20 Dec. 2012
  */
@@ -27,15 +27,15 @@
 use dataverse SocialNetworkData;
 
 insert into dataset TweetMessages(
-{ 
-"tweetid": "1111387810", 
-"tweetid-copy": "1111387810", 
-"user": { "screen-name": "TonyNapier#786", "lang": "en", "friends_count": 4241366, 
-"statuses_count": 97, "name": "Tony Napier", "followers_count": 5984113 }, 
-"sender-location": point("29.24,78.35"), 
-"send-time": datetime("2011-11-24T14:24:51.000Z"), 
-"send-time-copy": datetime("2011-11-24T14:24:51.000Z"), 
-"referred-topics": {{ "sprint", "wireless" }}, 
-"message-text": " love sprint its wireless is mind-blowing:)" 
+{
+"tweetid": "1111387810",
+"tweetid-copy": "1111387810",
+"user": { "screen-name": "TonyNapier#786", "lang": "en", "friends_count": 4241366,
+"statuses_count": 97, "name": "Tony Napier", "followers_count": 5984113 },
+"sender-location": point("29.24,78.35"),
+"send-time": datetime("2011-11-24T14:24:51.000Z"),
+"send-time-copy": datetime("2011-11-24T14:24:51.000Z"),
+"referred-topics": {{ "sprint", "wireless" }},
+"message-text": " love sprint its wireless is mind-blowing:)"
 });
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue236/query-issue236.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue236/query-issue236.3.query.aql
index 80d4355..8b89b0c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue236/query-issue236.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue236/query-issue236.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue236
- 				: https://code.google.com/p/asterixdb/issues/detail?id=236
+                 : https://code.google.com/p/asterixdb/issues/detail?id=236
  * Expected Res : Success
  * Date         : 20 Dec. 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue258/query-issue258.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue258/query-issue258.2.update.aql
index 1fb7292..60242f1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue258/query-issue258.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue258/query-issue258.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue258
- 				: https://code.google.com/p/asterixdb/issues/detail?id=258
+                 : https://code.google.com/p/asterixdb/issues/detail?id=258
  * Expected Res : Success
  * Date         : 21 May 2013
  */
@@ -26,7 +26,7 @@
 use dataverse test;
 
 insert into dataset ds1(
-let $L:= 
+let $L:=
   for $x in dataset('ds2')
   where $x.id = 10
   return $x
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue258/query-issue258.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue258/query-issue258.3.query.aql
index a08cebd..aba7f15 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue258/query-issue258.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue258/query-issue258.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue258
- 				: https://code.google.com/p/asterixdb/issues/detail?id=258
+                 : https://code.google.com/p/asterixdb/issues/detail?id=258
  * Expected Res : Success
  * Date         : 21 May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.1.ddl.aql
index 1bb17b3..b371a74 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue29
- 				: https://code.google.com/p/asterixdb/issues/detail?id=29
+                 : https://code.google.com/p/asterixdb/issues/detail?id=29
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.2.update.aql
index 1bb17b3..b371a74 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue29
- 				: https://code.google.com/p/asterixdb/issues/detail?id=29
+                 : https://code.google.com/p/asterixdb/issues/detail?id=29
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.3.query.aql
index a4f88dc..0335dd9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue29/query-issue29.3.query.aql
@@ -18,12 +18,12 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue29
- 				: https://code.google.com/p/asterixdb/issues/detail?id=29
+                 : https://code.google.com/p/asterixdb/issues/detail?id=29
  * Expected Res : Success
  * Date         : 26th November 2012
  */
 
-let $tweets := 
+let $tweets :=
 {{
    {
       "tweetid": "1023",
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343-2/query-issue343-2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343-2/query-issue343-2.2.update.aql
index 1e294f5..6d64df4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343-2/query-issue343-2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343-2/query-issue343-2.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue343.  It is a more general case.
- 				: https://code.google.com/p/asterixdb/issues/detail?id=343
+                 : https://code.google.com/p/asterixdb/issues/detail?id=343
  * Expected Res : Success
  * Date         : 30th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343-2/query-issue343-2.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343-2/query-issue343-2.3.query.aql
index 6ef2ea1..779f4da 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343-2/query-issue343-2.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343-2/query-issue343-2.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue343.  It is a more general case.
- 				: https://code.google.com/p/asterixdb/issues/detail?id=343
+                 : https://code.google.com/p/asterixdb/issues/detail?id=343
  * Expected Res : Success
  * Date         : 30th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343/query-issue343.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343/query-issue343.2.update.aql
index 3b87458..e39b6e3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343/query-issue343.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343/query-issue343.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue343
- 				: https://code.google.com/p/asterixdb/issues/detail?id=343
+                 : https://code.google.com/p/asterixdb/issues/detail?id=343
  * Expected Res : Success
  * Date         : 30th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343/query-issue343.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343/query-issue343.3.query.aql
index fc20fdf..8ddfb9a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343/query-issue343.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue343/query-issue343.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue343
- 				: https://code.google.com/p/asterixdb/issues/detail?id=343
+                 : https://code.google.com/p/asterixdb/issues/detail?id=343
  * Expected Res : Success
  * Date         : 30th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.1.ddl.aql
index c833745..675039c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue350
- 				: https://code.google.com/p/asterixdb/issues/detail?id=350
+                 : https://code.google.com/p/asterixdb/issues/detail?id=350
  * Expected Res : Success
  * Date         : 28th April 2013
  */
@@ -32,4 +32,4 @@
 };
 
 create dataset TweetMessages(TweetMessageType)
-primary key tweetid; 
+primary key tweetid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.2.update.aql
index ed96520..4c0ba12 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue350
- 				: https://code.google.com/p/asterixdb/issues/detail?id=350
+                 : https://code.google.com/p/asterixdb/issues/detail?id=350
  * Expected Res : Success
  * Date         : 28th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.3.query.aql
index 9e63c94..111ed97 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350-2/query-issue350-2.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue350
- 				: https://code.google.com/p/asterixdb/issues/detail?id=350
+                 : https://code.google.com/p/asterixdb/issues/detail?id=350
  * Expected Res : Success
  * Date         : 28th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.1.ddl.aql
index c833745..675039c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue350
- 				: https://code.google.com/p/asterixdb/issues/detail?id=350
+                 : https://code.google.com/p/asterixdb/issues/detail?id=350
  * Expected Res : Success
  * Date         : 28th April 2013
  */
@@ -32,4 +32,4 @@
 };
 
 create dataset TweetMessages(TweetMessageType)
-primary key tweetid; 
+primary key tweetid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.2.update.aql
index ed96520..4c0ba12 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue350
- 				: https://code.google.com/p/asterixdb/issues/detail?id=350
+                 : https://code.google.com/p/asterixdb/issues/detail?id=350
  * Expected Res : Success
  * Date         : 28th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.3.query.aql
index fe3e633..6b62da2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue350/query-issue350.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue350
- 				: https://code.google.com/p/asterixdb/issues/detail?id=350
+                 : https://code.google.com/p/asterixdb/issues/detail?id=350
  * Expected Res : Success
  * Date         : 28th April 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue377/query-issue377.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue377/query-issue377.2.update.aql
index e644331..5e26cc3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue377/query-issue377.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue377/query-issue377.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue377
- 				: https://code.google.com/p/asterixdb/issues/detail?id=377
+                 : https://code.google.com/p/asterixdb/issues/detail?id=377
  * Expected Res : Success
  * Date         : 11th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue377/query-issue377.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue377/query-issue377.3.query.aql
index bcb952b..600576e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue377/query-issue377.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue377/query-issue377.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue377
- 				: https://code.google.com/p/asterixdb/issues/detail?id=377
+                 : https://code.google.com/p/asterixdb/issues/detail?id=377
  * Expected Res : Success
  * Date         : 11th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.1.ddl.aql
index f0c03f0..5a9965e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue410
- 				: https://code.google.com/p/asterixdb/issues/detail?id=410
+                 : https://code.google.com/p/asterixdb/issues/detail?id=410
  * Expected Res : Fail
  * Date         : 13th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.2.update.aql
index 83d0cb7..0ff9fc2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.2.update.aql
@@ -18,11 +18,11 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue410
- 				: https://code.google.com/p/asterixdb/issues/detail?id=410
+                 : https://code.google.com/p/asterixdb/issues/detail?id=410
  * Expected Res : Fail
  * Date         : 11th May 2013
  */
 
 use dataverse test;
 
-insert into dataset Employee({"id":float("59138237473282.3293"), "name": double("0.01")});	
+insert into dataset Employee({"id":float("59138237473282.3293"), "name": double("0.01")});
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.3.query.aql
index 31fbd45..231f168 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue410/query-issue410.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue410
- 				: https://code.google.com/p/asterixdb/issues/detail?id=410
+                 : https://code.google.com/p/asterixdb/issues/detail?id=410
  * Expected Res : Fail
  * Date         : 11th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.1.ddl.aql
index f149f64..f3aabb1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.1.ddl.aql
@@ -18,8 +18,8 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue423
- 				  (Specifically for NLJ case)
- 				: https://code.google.com/p/asterixdb/issues/detail?id=423
+                   (Specifically for NLJ case)
+                 : https://code.google.com/p/asterixdb/issues/detail?id=423
  * Expected Res : Success
  * Date         : 29th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.2.update.aql
index 51bc3f0..6219ec3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.2.update.aql
@@ -18,12 +18,12 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue423
- 				  (Specifically for NLJ case)
- 				: https://code.google.com/p/asterixdb/issues/detail?id=423
+                   (Specifically for NLJ case)
+                 : https://code.google.com/p/asterixdb/issues/detail?id=423
  * Expected Res : Success
  * Date         : 29th May 2013
  */
- 
+
 use dataverse test;
 
 insert into dataset t1({"id":123,"fname":"John","lname":"Doe"});
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.3.query.aql
index 0f4a959..a2065db 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423-2/query-issue423-2.3.query.aql
@@ -18,15 +18,15 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue423
- 				  (Specifically for NLJ case)
- 				: https://code.google.com/p/asterixdb/issues/detail?id=423
+                   (Specifically for NLJ case)
+                 : https://code.google.com/p/asterixdb/issues/detail?id=423
  * Expected Res : Success
  * Date         : 29th May 2013
  */
- 
+
 use dataverse test;
 
 for $l in dataset t1
 for $m in dataset t2
-	where $l.age>$m.age
+    where $l.age>$m.age
 return {"l":$l,"m":$m};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.1.ddl.aql
index 9cc76c8..7ec789a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.1.ddl.aql
@@ -18,12 +18,12 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue423
- 				  (Specifically for HHJ case)
- 				: https://code.google.com/p/asterixdb/issues/detail?id=423
+                   (Specifically for HHJ case)
+                 : https://code.google.com/p/asterixdb/issues/detail?id=423
  * Expected Res : Success
  * Date         : 29th May 2013
  */
- 
+
 drop dataverse test if exists;
 create dataverse test;
 use dataverse test;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.2.update.aql
index e322128..9b1bf1c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.2.update.aql
@@ -18,12 +18,12 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue423
- 				  (Specifically for HHJ case)
- 				: https://code.google.com/p/asterixdb/issues/detail?id=423
+                   (Specifically for HHJ case)
+                 : https://code.google.com/p/asterixdb/issues/detail?id=423
  * Expected Res : Success
  * Date         : 29th May 2013
  */
- 
+
 use dataverse test;
 
 insert into dataset t1({"id":123,"fname":"John","lname":"Doe"});
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.3.query.aql
index 77a245e..649959b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue423/query-issue423.3.query.aql
@@ -18,15 +18,15 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue423
- 				  (Specifically for HHJ case)
- 				: https://code.google.com/p/asterixdb/issues/detail?id=423
+                   (Specifically for HHJ case)
+                 : https://code.google.com/p/asterixdb/issues/detail?id=423
  * Expected Res : Success
  * Date         : 29th May 2013
  */
- 
+
 use dataverse test;
 
 for $l in dataset t1
 for $m in dataset t2
-	where $l.name=$m.name
+    where $l.name=$m.name
 return {"l":$l,"m":$m};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue442/query-issue442.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue442/query-issue442.3.query.aql
index 290f967..37efb6f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue442/query-issue442.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue442/query-issue442.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue442
- 				: https://code.google.com/p/asterixdb/issues/detail?id=442
+                 : https://code.google.com/p/asterixdb/issues/detail?id=442
  * Expected Res : Fail
  * Date         : 22th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453-2/query-issue453-2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453-2/query-issue453-2.2.update.aql
index e92e846..bf20588 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453-2/query-issue453-2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453-2/query-issue453-2.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue453
- 				: https://code.google.com/p/asterixdb/issues/detail?id=453
+                 : https://code.google.com/p/asterixdb/issues/detail?id=453
  * Expected Res : SUCCESS
  * Date         : 18th May 2013
  */
@@ -37,7 +37,7 @@
       return
           {
             "id" : $pos,
-            "int_m" : $arr[0], 
+            "int_m" : $arr[0],
             "int_o" : $arr[1],
             "string_m" : $arr[2],
             "string_o" : $arr[3]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453-2/query-issue453-2.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453-2/query-issue453-2.3.query.aql
index 98d30b9..ec888d6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453-2/query-issue453-2.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453-2/query-issue453-2.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue453
- 				: https://code.google.com/p/asterixdb/issues/detail?id=453
+                 : https://code.google.com/p/asterixdb/issues/detail?id=453
  * Expected Res : SUCCESS
  * Date         : 18th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453/query-issue453.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453/query-issue453.2.update.aql
index 3ac9531..bf56d0d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453/query-issue453.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453/query-issue453.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue453
- 				: https://code.google.com/p/asterixdb/issues/detail?id=453
+                 : https://code.google.com/p/asterixdb/issues/detail?id=453
  * Expected Res : SUCCESS
  * Date         : 18th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453/query-issue453.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453/query-issue453.3.query.aql
index 98d30b9..ec888d6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453/query-issue453.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue453/query-issue453.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue453
- 				: https://code.google.com/p/asterixdb/issues/detail?id=453
+                 : https://code.google.com/p/asterixdb/issues/detail?id=453
  * Expected Res : SUCCESS
  * Date         : 18th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.1.ddl.aql
index f0123f4..00b120a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.1.ddl.aql
@@ -18,11 +18,11 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue487
- 				: https://code.google.com/p/asterixdb/issues/detail?id=487
+                 : https://code.google.com/p/asterixdb/issues/detail?id=487
  * Expected Res : FAIL
  * Date         : 30th May 2013
  */
- 
+
 drop dataverse test if exists;
 create dataverse test;
 use dataverse test;
@@ -33,4 +33,4 @@
 }
 
 create dataset Employee(EmpType) primary key id;
- 
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.2.update.aql
index 1a685ad..54fd05c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.2.update.aql
@@ -18,11 +18,11 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue487
- 				: https://code.google.com/p/asterixdb/issues/detail?id=487
+                 : https://code.google.com/p/asterixdb/issues/detail?id=487
  * Expected Res : FAIL
  * Date         : 30th May 2013
  */
 
 use dataverse test;
- 
+
 insert into dataset Employee ({ "id":123});
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.3.query.aql
index d9effa4..861cedc 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue487/query-issue487.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue487
- 				: https://code.google.com/p/asterixdb/issues/detail?id=487
+                 : https://code.google.com/p/asterixdb/issues/detail?id=487
  * Expected Res : FAIL
  * Date         : 30th May 2013
  */
@@ -27,4 +27,4 @@
 
 for $l in dataset Employee
 return $l;
- 
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.1.ddl.aql
index f661ac7..2034bfa 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue55 query 1
- 				: https://code.google.com/p/asterixdb/issues/detail?id=55
+                 : https://code.google.com/p/asterixdb/issues/detail?id=55
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.2.update.aql
index f661ac7..2034bfa 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue55 query 1
- 				: https://code.google.com/p/asterixdb/issues/detail?id=55
+                 : https://code.google.com/p/asterixdb/issues/detail?id=55
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.3.query.aql
index 13c85b3..e3d0025 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55-1/query-issue55-1.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue55 query 1
- 				: https://code.google.com/p/asterixdb/issues/detail?id=55
+                 : https://code.google.com/p/asterixdb/issues/detail?id=55
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.1.ddl.aql
index 822f69a..b562bce 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue55 query 2
- 				: https://code.google.com/p/asterixdb/issues/detail?id=55
+                 : https://code.google.com/p/asterixdb/issues/detail?id=55
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.2.update.aql
index 822f69a..b562bce 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue55 query 2
- 				: https://code.google.com/p/asterixdb/issues/detail?id=55
+                 : https://code.google.com/p/asterixdb/issues/detail?id=55
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.3.query.aql
index 7374914..54fae72 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue55/query-issue55.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue55 query 2
- 				: https://code.google.com/p/asterixdb/issues/detail?id=55
+                 : https://code.google.com/p/asterixdb/issues/detail?id=55
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue656/query-issue656.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue656/query-issue656.1.ddl.aql
index 37bc56c..1e83b6a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue656/query-issue656.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue656/query-issue656.1.ddl.aql
@@ -27,7 +27,7 @@
 use dataverse test;
 
 create type bartype as open {
-	id: uuid
+    id: uuid
 };
 
 create dataset barset(bartype) primary key id autogenerated;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue656/query-issue656.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue656/query-issue656.2.update.aql
index cb8cb7b..4b564dc 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue656/query-issue656.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-closed/query-issue656/query-issue656.2.update.aql
@@ -22,11 +22,11 @@
  * Date            : 6 December 2013
  * Notes           : This test was written to verify the fix for issue656.
  */
-use dataverse test; 
- 
+use dataverse test;
+
 insert into dataset barset(
-	{
-	}
+    {
+    }
 );
 
- 
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql
index e5b50df..3122a8f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/external-indexing/leftouterjoin-rtree/leftouterjoin-rtree.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary rtree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,19 +28,19 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
+}
 
 create type TweetMessageType as open {
         user: TwitterUserType,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string
+    message-text: string
 }
 
 create external dataset TweetMessages(TweetMessageType) using hdfs(("hdfs"="hdfs://127.0.0.1:31888"),("path"="/asterix/tw_for_indexleftouterjoin.adm"),("input-format"="text-input-format"),("format"="adm"));
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql
index 3ba1fca..535ee52 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/external-indexing/leftouterjoin/leftouterjoin.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : Test that left-outer-join may use two available indexes, one for primary index in prob subtree and another for secondary btree index in index subtree.
- * Issue        : 730, 741                 
+ * Issue        : 730, 741
  * Expected Res : Success
  * Date         : 8th May 2014
  */
@@ -28,20 +28,20 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
-} 
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
+}
 
 create type TweetMessageType as open {
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string
+    message-text: string
 }
 
 create external dataset TweetMessages(TweetMessageType) using hdfs(("hdfs"="hdfs://127.0.0.1:31888"),("path"="/asterix/tw_for_indexleftouterjoin.adm"),("input-format"="text-input-format"),("format"="adm"));
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
index 58095c5..37f4f41 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/btree-secondary-equi-join/btree-secondary-equi-join.2.update.aql
@@ -34,18 +34,18 @@
 (("path"="asterix_nc1://data/pub-small/csx-small-id.txt"),("format"="delimited-text"),("delimiter"=":"),("quote"="\u0000"));
 
 insert into dataset DBLPOpen(
-	for $x in dataset DBLP
-		where ($x.id<50)
-		return $x
+    for $x in dataset DBLP
+        where ($x.id<50)
+        return $x
 );
 
 insert into dataset DBLPOpen(
-	for $x in dataset DBLP
-		where ($x.id>=50)
-		return {
-					"id": $x.id,
-					"dblpid": $x.dblpid,
-					"title": $x.title,
-					"misc": $x.misc
-				}
-); 
+    for $x in dataset DBLP
+        where ($x.id>=50)
+        return {
+                    "id": $x.id,
+                    "dblpid": $x.dblpid,
+                    "title": $x.title,
+                    "misc": $x.misc
+                }
+);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
index 19f8542..13f0003 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-edit-distance-inline/ngram-edit-distance-inline.2.update.aql
@@ -35,20 +35,20 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	where $c.cid < 500
-	return  $c
+    for $c in dataset('Customerstmp')
+    where $c.cid < 500
+    return  $c
 );
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	where $c.cid >= 500
-	return {
-		"cid": $c.cid,
-		"age": $c.age,
-		"address": $c.address,
-		"interests": $c.interests,
-		"children": $c.children
-	}	
+    for $c in dataset('Customerstmp')
+    where $c.cid >= 500
+    return {
+        "cid": $c.cid,
+        "age": $c.age,
+        "address": $c.address,
+        "interests": $c.interests,
+        "children": $c.children
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
index 94e41d5..3e35e4c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-edit-distance/ngram-edit-distance.2.update.aql
@@ -34,20 +34,20 @@
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	where $c.cid < 500
-	return  $c
+    for $c in dataset('Customerstmp')
+    where $c.cid < 500
+    return  $c
 );
 
 insert into dataset Customers
 (
-	for $c in dataset('Customerstmp')
-	where $c.cid >= 500
-	return {
-		"cid": $c.cid,
-		"age": $c.age,
-		"address": $c.address,
-		"interests": $c.interests,
-		"children": $c.children
-	}	
+    for $c in dataset('Customerstmp')
+    where $c.cid >= 500
+    return {
+        "cid": $c.cid,
+        "age": $c.age,
+        "address": $c.address,
+        "interests": $c.interests,
+        "children": $c.children
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
index 3ff3629..cdaacd7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-jaccard-inline/ngram-jaccard-inline.2.update.aql
@@ -30,20 +30,20 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"),("quote"="\u0000")) pre-sorted;
 
 insert into dataset DBLPOpen(
-	for $x in dataset DBLP
-		where ($x.id<50)
-		return $x
+    for $x in dataset DBLP
+        where ($x.id<50)
+        return $x
 );
 
 insert into dataset DBLPOpen(
-	for $x in dataset DBLP
-		where ($x.id>=50)
-		return {
-					"id": $x.id,
-					"dblpid": $x.dblpid,
-					"authors": $x.title,
-					"misc": $x.misc
-				}
+    for $x in dataset DBLP
+        where ($x.id>=50)
+        return {
+                    "id": $x.id,
+                    "dblpid": $x.dblpid,
+                    "authors": $x.title,
+                    "misc": $x.misc
+                }
 );
 
 load dataset CSX
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-jaccard/ngram-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-jaccard/ngram-jaccard.2.update.aql
index 770ac9e..2ed0540 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-jaccard/ngram-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/ngram-jaccard/ngram-jaccard.2.update.aql
@@ -29,20 +29,20 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"),("quote"="\u0000")) pre-sorted;
 
 insert into dataset DBLPOpen(
-	for $x in dataset DBLP
-		where ($x.id<50)
-		return $x
+    for $x in dataset DBLP
+        where ($x.id<50)
+        return $x
 );
 
 insert into dataset DBLPOpen(
-	for $x in dataset DBLP
-		where ($x.id>=50)
-		return {
-					"id": $x.id,
-					"dblpid": $x.dblpid,
-					"authors": $x.title,
-					"misc": $x.misc
-				}
+    for $x in dataset DBLP
+        where ($x.id>=50)
+        return {
+                    "id": $x.id,
+                    "dblpid": $x.dblpid,
+                    "authors": $x.title,
+                    "misc": $x.misc
+                }
 );
 
 load dataset CSX
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
index 80901f9..41d2d86 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/rtree-spatial-intersect-point/rtree-spatial-intersect-point.2.update.aql
@@ -35,23 +35,23 @@
 
 insert into dataset MyData1
 (
-	for $c in dataset('MyData1tmp')
-	where $c.id < 10
-	return $c
+    for $c in dataset('MyData1tmp')
+    where $c.id < 10
+    return $c
 );
 
 insert into dataset MyData1
 (
-	for $c in dataset('MyData1tmp')
-	where $c.id >= 10
-	return {
-		"id": $c.id,
-		"kwds": $c.kwds,
-		"line1": $c.line1,
-		"line2": $c.line2,
-		"poly1": $c.poly1,
-		"poly2": $c.poly2,
-		"rec": $c.rec,
-		"circle": $c.circle
-	}	
+    for $c in dataset('MyData1tmp')
+    where $c.id >= 10
+    return {
+        "id": $c.id,
+        "kwds": $c.kwds,
+        "line1": $c.line1,
+        "line2": $c.line2,
+        "poly1": $c.poly1,
+        "poly2": $c.poly2,
+        "rec": $c.rec,
+        "circle": $c.circle
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
index b5e0fce..d85202b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/word-jaccard-inline/word-jaccard-inline.2.update.aql
@@ -30,20 +30,20 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"),("quote"="\u0000")) pre-sorted;
 
 insert into dataset DBLPOpen(
-	for $x in dataset DBLP
-		where ($x.id<50)
-		return $x
+    for $x in dataset DBLP
+        where ($x.id<50)
+        return $x
 );
 
 insert into dataset DBLPOpen(
-	for $x in dataset DBLP
-		where ($x.id>=50)
-		return {
-					"id": $x.id,
-					"dblpid": $x.dblpid,
-					"authors": $x.title,
-					"misc": $x.misc
-				}
+    for $x in dataset DBLP
+        where ($x.id>=50)
+        return {
+                    "id": $x.id,
+                    "dblpid": $x.dblpid,
+                    "authors": $x.title,
+                    "misc": $x.misc
+                }
 );
 
 load dataset CSX
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/word-jaccard/word-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/word-jaccard/word-jaccard.2.update.aql
index 73870f2..8112acf 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/word-jaccard/word-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-join/word-jaccard/word-jaccard.2.update.aql
@@ -29,20 +29,20 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":"),("quote"="\u0000")) pre-sorted;
 
 insert into dataset DBLPOpen(
-	for $x in dataset DBLP
-		where ($x.id<50)
-		return $x
+    for $x in dataset DBLP
+        where ($x.id<50)
+        return $x
 );
 
 insert into dataset DBLPOpen(
-	for $x in dataset DBLP
-		where ($x.id>=50)
-		return {
-					"id": $x.id,
-					"dblpid": $x.dblpid,
-					"authors": $x.title,
-					"misc": $x.misc
-				}
+    for $x in dataset DBLP
+        where ($x.id>=50)
+        return {
+                    "id": $x.id,
+                    "dblpid": $x.dblpid,
+                    "authors": $x.title,
+                    "misc": $x.misc
+                }
 );
 
 load dataset CSX
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql
index 8ea0248..8d42545 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.1.ddl.aql
@@ -28,22 +28,22 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64
+    message-text: string,
+    countA: int64
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql
index 24e877b..b3110fe 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx1/probe-pidx-with-join-btree-sidx1.2.update.aql
@@ -32,22 +32,22 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid < int64("125")
-	return $c
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid < int64("125")
+    return $c
 );
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid >= int64("125")
-	return {
-		"tweetid": $c.tweetid,
-		"user": $c.user,
-		"sender-location": $c.sender-location,
-		"send-time": $c.send-time,
-		"referred-topics": $c.referred-topics,
-		"message-text": $c.message-text,
-		"countA": $c.countA
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid >= int64("125")
+    return {
+        "tweetid": $c.tweetid,
+        "user": $c.user,
+        "sender-location": $c.sender-location,
+        "send-time": $c.send-time,
+        "referred-topics": $c.referred-topics,
+        "message-text": $c.message-text,
+        "countA": $c.countA
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql
index 8ea0248..8d42545 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.1.ddl.aql
@@ -28,22 +28,22 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64
+    message-text: string,
+    countA: int64
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql
index 5e291f2..198b44f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-btree-sidx2/probe-pidx-with-join-btree-sidx2.2.update.aql
@@ -31,22 +31,22 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid < int64("125")
-	return $c
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid < int64("125")
+    return $c
 );
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid >= int64("125")
-	return {
-		"tweetid": $c.tweetid,
-		"user": $c.user,
-		"sender-location": $c.sender-location,
-		"send-time": $c.send-time,
-		"referred-topics": $c.referred-topics,
-		"message-text": $c.message-text,
-		"countA": $c.countA
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid >= int64("125")
+    return {
+        "tweetid": $c.tweetid,
+        "user": $c.user,
+        "sender-location": $c.sender-location,
+        "send-time": $c.send-time,
+        "referred-topics": $c.referred-topics,
+        "message-text": $c.message-text,
+        "countA": $c.countA
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql
index 076db0d..e68d4d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.1.ddl.aql
@@ -28,22 +28,22 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
         sender-location: point,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	countA: int64,
-	countB: int64
+    countA: int64,
+    countB: int64
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql
index fb21128..2e720eb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.2.update.aql
@@ -31,22 +31,22 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid < int64("125")
-	return $c
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid < int64("125")
+    return $c
 );
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid >= int64("125")
-	return {
-		"tweetid": $c.tweetid,
-		"user": $c.user,
-		"sender-location": $c.sender-location,
-		"send-time": $c.send-time,
-		"referred-topics": $c.referred-topics,
-		"countA": $c.countA,
-		"countB": $c.countB
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid >= int64("125")
+    return {
+        "tweetid": $c.tweetid,
+        "user": $c.user,
+        "sender-location": $c.sender-location,
+        "send-time": $c.send-time,
+        "referred-topics": $c.referred-topics,
+        "countA": $c.countA,
+        "countB": $c.countB
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
index 984d14b..ce5ab94 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-invidx-sidx2/probe-pidx-with-join-invidx-sidx2.3.query.aql
@@ -32,7 +32,7 @@
     "tweet": {"id": $t1.tweetid, "topics" : $t1.message-text} ,
     "similar-tweets": for $t2 in dataset('TweetMessages')
                       let $sim := edit-distance-check($t1.message-text, $t2.message-text, 7)
-		      where $sim[0] and
+              where $sim[0] and
                       $t2.tweetid != $t1.tweetid
                       order by $t2.tweetid
                       return {"id": $t2.tweetid, "topics" : $t2.message-text}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql
index e38a4da..8ea607d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.1.ddl.aql
@@ -28,22 +28,22 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql
index 407df8d..18f5eee 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx1/probe-pidx-with-join-rtree-sidx1.2.update.aql
@@ -31,22 +31,22 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid < int64("125")
-	return $c
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid < int64("125")
+    return $c
 );
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid >= int64("125")
-	return {
-		"tweetid": $c.tweetid,
-		"user": $c.user,
-		"send-time": $c.send-time,
-		"referred-topics": $c.referred-topics,
-		"message-text": $c.message-text,
-		"countA": $c.countA,
-		"countB": $c.countB
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid >= int64("125")
+    return {
+        "tweetid": $c.tweetid,
+        "user": $c.user,
+        "send-time": $c.send-time,
+        "referred-topics": $c.referred-topics,
+        "message-text": $c.message-text,
+        "countA": $c.countA,
+        "countB": $c.countB
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql
index e38a4da..8ea607d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.1.ddl.aql
@@ -28,22 +28,22 @@
 use dataverse test;
 
 create type TwitterUserType as closed {
-	screen-name: string,
-	lang: string,
-	friends-count: int64,
-	statuses-count: int64,
-	name: string,
-	followers-count: int64
+    screen-name: string,
+    lang: string,
+    friends-count: int64,
+    statuses-count: int64,
+    name: string,
+    followers-count: int64
 }
 
 create type TweetMessageType as open {
-	tweetid: int64,
+    tweetid: int64,
         user: TwitterUserType,
-	send-time: datetime,
+    send-time: datetime,
         referred-topics: {{ string }},
-	message-text: string,
-	countA: int64,
-	countB: int64
+    message-text: string,
+    countA: int64,
+    countB: int64
 }
 
 create dataset TweetMessages(TweetMessageType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql
index 407df8d..18f5eee 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-leftouterjoin/probe-pidx-with-join-rtree-sidx2/probe-pidx-with-join-rtree-sidx2.2.update.aql
@@ -31,22 +31,22 @@
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid < int64("125")
-	return $c
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid < int64("125")
+    return $c
 );
 
 insert into dataset TweetMessages
 (
-	for $c in dataset('TweetMessagesTmp')
-	where $c.tweetid >= int64("125")
-	return {
-		"tweetid": $c.tweetid,
-		"user": $c.user,
-		"send-time": $c.send-time,
-		"referred-topics": $c.referred-topics,
-		"message-text": $c.message-text,
-		"countA": $c.countA,
-		"countB": $c.countB
-	}	
+    for $c in dataset('TweetMessagesTmp')
+    where $c.tweetid >= int64("125")
+    return {
+        "tweetid": $c.tweetid,
+        "user": $c.user,
+        "send-time": $c.send-time,
+        "referred-topics": $c.referred-topics,
+        "message-text": $c.message-text,
+        "countA": $c.countA,
+        "countB": $c.countB
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
index c60a6735..96c1bfe 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.1.ddl.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree enforced open index is used in query plan
  *                 : define the BTree enforced open index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 27th March, 2014
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
index 9ee6ace..2330b61 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.2.update.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree enforced open index is used in query plan
  *                 : define the BTree enforced open index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 27th March, 2014
@@ -33,17 +33,17 @@
 (("path"="asterix_nc1://data/names.adm"),("format"="delimited-text"),("delimiter"="|"));
 
 insert into dataset employeeOpen (
-	for $x in dataset employee
-	where $x.id <= 1000
-	return $x
+    for $x in dataset employee
+    where $x.id <= 1000
+    return $x
 );
 
 insert into dataset employeeOpen (
-	for $x in dataset employee
-	where $x.id > 1000
-	return {
-	  "id": $x.id,
-  	  "age": $x.age,
-  	  "dept": $x.dept
-	}
+    for $x in dataset employee
+    where $x.id > 1000
+    return {
+      "id": $x.id,
+        "age": $x.age,
+        "dept": $x.dept
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.ddl.aql
index c9026b3..55c8cd7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.3.ddl.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree enforced open index is used in query plan
  *                 : define the BTree enforced open index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 27th March, 2014
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql
index d5d3eb2..ac09b33 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key-mixed-intervals/btree-index-composite-key-mixed-intervals.4.query.aql
@@ -20,7 +20,7 @@
  * Description     : Test that BTree enforced open index is used in query plan
  *                 : define the BTree enforced open index on a composite key (fname,lanme)
  *                 : predicate => where $l.fname > "Julio" and $l.lname > "Mattocks" and
- *					 $l.fname <= "Micco" and $l.lname < "Vangieson"
+ *                     $l.fname <= "Micco" and $l.lname < "Vangieson"
  * Expected Result : Success
  * Issue           : Issue 174
  * Date            : 27th March, 2014
@@ -32,9 +32,9 @@
 where $l.fname > "Julio" and $l.lname > "Mattocks" and $l.fname <= "Micco" and $l.lname < "Vangieson"
 order by $l.id
 return {
-	"id": $l.id,
-	"fname": $l.fname,
-	"lname": $l.lname,
-	"age": $l.age,
-	"dept": $l.dept
+    "id": $l.id,
+    "fname": $l.fname,
+    "lname": $l.lname,
+    "age": $l.age,
+    "dept": $l.dept
 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql
index 3107409..ff70569 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key/btree-index-composite-key.2.update.aql
@@ -32,6 +32,6 @@
 (("path"="asterix_nc1://data/names.adm"),("format"="delimited-text"),("delimiter"="|"));
 
 insert into dataset employeeOpen (
-	for $x in dataset employee
-		return $x
+    for $x in dataset employee
+        return $x
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key/btree-index-composite-key.4.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key/btree-index-composite-key.4.query.aql
index df62c10..bc26752 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key/btree-index-composite-key.4.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-composite-key/btree-index-composite-key.4.query.aql
@@ -30,9 +30,9 @@
 for $l in dataset('employeeOpen')
 where $l.fname="Julio" and $l.lname="Isa"
 return {
-	"id": $l.id,
-	"fname": $l.fname,
-	"lname": $l.lname,
-	"age": $l.age,
-	"dept": $l.dept
+    "id": $l.id,
+    "fname": $l.fname,
+    "lname": $l.lname,
+    "age": $l.age,
+    "dept": $l.dept
 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql
index d3351644..29be306 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/btree-index-rewrite-multiple/btree-index-rewrite-multiple.2.update.aql
@@ -31,22 +31,22 @@
 (("path"="asterix_nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
 insert into dataset OrdersOpen (
-	for $x in dataset Orders
-	where $x.o_orderkey <= 4000
-	return $x
+    for $x in dataset Orders
+    where $x.o_orderkey <= 4000
+    return $x
 );
 
 insert into dataset OrdersOpen (
-	for $x in dataset Orders
-	where $x.o_orderkey > 4000
-	return {
-	  "o_orderkey": $x.o_orderkey,
-	  "o_orderstatus": $x.o_orderstatus,
-	  "o_totalprice": $x.o_totalprice,
-	  "o_orderdate": $x.o_orderdate,
-	  "o_orderpriority": $x.o_orderpriority,
-	  "o_clerk": $x.o_clerk,
-	  "o_shippriority": $x.o_shippriority,
-	  "o_comment": $x.o_comment
-	}
+    for $x in dataset Orders
+    where $x.o_orderkey > 4000
+    return {
+      "o_orderkey": $x.o_orderkey,
+      "o_orderstatus": $x.o_orderstatus,
+      "o_totalprice": $x.o_totalprice,
+      "o_orderdate": $x.o_orderdate,
+      "o_orderpriority": $x.o_orderpriority,
+      "o_clerk": $x.o_clerk,
+      "o_shippriority": $x.o_shippriority,
+      "o_comment": $x.o_comment
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql
index c5c6f3f..dfca57c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-contains/inverted-index-ngram-contains.2.update.aql
@@ -23,18 +23,18 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLPOpen (
-	for $x in dataset test.DBLP
-	where $x.id <= 50
-	return $x
+    for $x in dataset test.DBLP
+    where $x.id <= 50
+    return $x
 );
 
 insert into dataset test.DBLPOpen (
-	for $c in dataset test.DBLP
-	where $c.id > 50
-	return {
-		"id": $c.id,
-		"dblpid": $c.dblpid,
-		"authors": $c.authors,
-		"misc": $c.misc
-	}
+    for $c in dataset test.DBLP
+    where $c.id > 50
+    return {
+        "id": $c.id,
+        "dblpid": $c.dblpid,
+        "authors": $c.authors,
+        "misc": $c.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql
index 68120b1..b67ffe2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-contains/inverted-index-ngram-edit-distance-contains.2.update.aql
@@ -23,18 +23,18 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLP (
-	for $x in dataset test.DBLPtmp
-	where $x.id <= 50
-	return $x
+    for $x in dataset test.DBLPtmp
+    where $x.id <= 50
+    return $x
 );
 
 insert into dataset test.DBLP (
-	for $c in dataset test.DBLPtmp
-	where $c.id > 50
-	return {
-		"id": $c.id,
-		"dblpid": $c.dblpid,
-		"authors": $c.authors,
-		"misc": $c.misc
-	}
+    for $c in dataset test.DBLPtmp
+    where $c.id > 50
+    return {
+        "id": $c.id,
+        "dblpid": $c.dblpid,
+        "authors": $c.authors,
+        "misc": $c.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql
index 7dee823..782a181 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-panic/inverted-index-ngram-edit-distance-panic.2.update.aql
@@ -23,18 +23,18 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLPOpen (
-	for $x in dataset test.DBLP
-	where $x.id <= 50
-	return $x
+    for $x in dataset test.DBLP
+    where $x.id <= 50
+    return $x
 );
 
 insert into dataset test.DBLPOpen (
-	for $c in dataset test.DBLP
-	where $c.id > 50
-	return {
-		"id": $c.id,
-		"dblpid": $c.dblpid,
-		"title": $c.title,
-		"misc": $c.misc
-	}
+    for $c in dataset test.DBLP
+    where $c.id > 50
+    return {
+        "id": $c.id,
+        "dblpid": $c.dblpid,
+        "title": $c.title,
+        "misc": $c.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql
index 68120b1..b67ffe2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.aql
@@ -23,18 +23,18 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLP (
-	for $x in dataset test.DBLPtmp
-	where $x.id <= 50
-	return $x
+    for $x in dataset test.DBLPtmp
+    where $x.id <= 50
+    return $x
 );
 
 insert into dataset test.DBLP (
-	for $c in dataset test.DBLPtmp
-	where $c.id > 50
-	return {
-		"id": $c.id,
-		"dblpid": $c.dblpid,
-		"authors": $c.authors,
-		"misc": $c.misc
-	}
+    for $c in dataset test.DBLPtmp
+    where $c.id > 50
+    return {
+        "id": $c.id,
+        "dblpid": $c.dblpid,
+        "authors": $c.authors,
+        "misc": $c.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql
index 7dee823..782a181 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-edit-distance/inverted-index-ngram-edit-distance.2.update.aql
@@ -23,18 +23,18 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLPOpen (
-	for $x in dataset test.DBLP
-	where $x.id <= 50
-	return $x
+    for $x in dataset test.DBLP
+    where $x.id <= 50
+    return $x
 );
 
 insert into dataset test.DBLPOpen (
-	for $c in dataset test.DBLP
-	where $c.id > 50
-	return {
-		"id": $c.id,
-		"dblpid": $c.dblpid,
-		"title": $c.title,
-		"misc": $c.misc
-	}
+    for $c in dataset test.DBLP
+    where $c.id > 50
+    return {
+        "id": $c.id,
+        "dblpid": $c.dblpid,
+        "title": $c.title,
+        "misc": $c.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql
index c5c6f3f..dfca57c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-ngram-jaccard/inverted-index-ngram-jaccard.2.update.aql
@@ -23,18 +23,18 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLPOpen (
-	for $x in dataset test.DBLP
-	where $x.id <= 50
-	return $x
+    for $x in dataset test.DBLP
+    where $x.id <= 50
+    return $x
 );
 
 insert into dataset test.DBLPOpen (
-	for $c in dataset test.DBLP
-	where $c.id > 50
-	return {
-		"id": $c.id,
-		"dblpid": $c.dblpid,
-		"authors": $c.authors,
-		"misc": $c.misc
-	}
+    for $c in dataset test.DBLP
+    where $c.id > 50
+    return {
+        "id": $c.id,
+        "dblpid": $c.dblpid,
+        "authors": $c.authors,
+        "misc": $c.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql
index c5c6f3f..dfca57c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-word-contains/inverted-index-word-contains.2.update.aql
@@ -23,18 +23,18 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLPOpen (
-	for $x in dataset test.DBLP
-	where $x.id <= 50
-	return $x
+    for $x in dataset test.DBLP
+    where $x.id <= 50
+    return $x
 );
 
 insert into dataset test.DBLPOpen (
-	for $c in dataset test.DBLP
-	where $c.id > 50
-	return {
-		"id": $c.id,
-		"dblpid": $c.dblpid,
-		"authors": $c.authors,
-		"misc": $c.misc
-	}
+    for $c in dataset test.DBLP
+    where $c.id > 50
+    return {
+        "id": $c.id,
+        "dblpid": $c.dblpid,
+        "authors": $c.authors,
+        "misc": $c.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql
index c5c6f3f..dfca57c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/inverted-index-word-jaccard/inverted-index-word-jaccard.2.update.aql
@@ -23,18 +23,18 @@
 (("path"="asterix_nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;
 
 insert into dataset test.DBLPOpen (
-	for $x in dataset test.DBLP
-	where $x.id <= 50
-	return $x
+    for $x in dataset test.DBLP
+    where $x.id <= 50
+    return $x
 );
 
 insert into dataset test.DBLPOpen (
-	for $c in dataset test.DBLP
-	where $c.id > 50
-	return {
-		"id": $c.id,
-		"dblpid": $c.dblpid,
-		"authors": $c.authors,
-		"misc": $c.misc
-	}
+    for $c in dataset test.DBLP
+    where $c.id > 50
+    return {
+        "id": $c.id,
+        "dblpid": $c.dblpid,
+        "authors": $c.authors,
+        "misc": $c.misc
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql
index 513e63c..c8a33cb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/orders-index-custkey-conjunctive/orders-index-custkey-conjunctive.2.update.aql
@@ -23,6 +23,6 @@
 (("path"="asterix_nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
 insert into dataset OrdersOpen (
-	for $x in dataset Orders
-		return $x
+    for $x in dataset Orders
+        return $x
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql
index 513e63c..c8a33cb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/orders-index-custkey/orders-index-custkey.2.update.aql
@@ -23,6 +23,6 @@
 (("path"="asterix_nc1://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
 insert into dataset OrdersOpen (
-	for $x in dataset Orders
-		return $x
+    for $x in dataset Orders
+        return $x
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/range-search/range-search.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/range-search/range-search.2.update.aql
index 2950a00..1c6a88d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/range-search/range-search.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/range-search/range-search.2.update.aql
@@ -23,29 +23,29 @@
 (("path"="asterix_nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
 
 insert into dataset test.LineItemOpen (
-	for $x in dataset test.LineItem
-	where $x.l_orderkey < 3000
-	return $x
+    for $x in dataset test.LineItem
+    where $x.l_orderkey < 3000
+    return $x
 );
 
 insert into dataset test.LineItemOpen (
-	for $x in dataset test.LineItem
-	where $x.l_orderkey >= 3000
-	return {
-		"l_orderkey": $x.l_orderkey,
-		"l_partkey": $x.l_partkey,
-		"l_linenumber": $x.l_linenumber,
-		"l_quantity": $x.l_quantity,
-		"l_extendedprice": $x.l_extendedprice,
-		"l_discount": $x.l_discount,
-		"l_tax": $x.l_tax,
-		"l_returnflag": $x.l_returnflag,
-		"l_linestatus": $x.l_linestatus,
-		"l_shipdate": $x.l_shipdate,
-		"l_commitdate": $x.l_commitdate,
-		"l_receiptdate": $x.l_receiptdate,
-		"l_shipinstruct": $x.l_shipinstruct,
-		"l_shipmode": $x.l_shipmode,
-		"l_comment": $x.l_comment
-	}
+    for $x in dataset test.LineItem
+    where $x.l_orderkey >= 3000
+    return {
+        "l_orderkey": $x.l_orderkey,
+        "l_partkey": $x.l_partkey,
+        "l_linenumber": $x.l_linenumber,
+        "l_quantity": $x.l_quantity,
+        "l_extendedprice": $x.l_extendedprice,
+        "l_discount": $x.l_discount,
+        "l_tax": $x.l_tax,
+        "l_returnflag": $x.l_returnflag,
+        "l_linestatus": $x.l_linestatus,
+        "l_shipdate": $x.l_shipdate,
+        "l_commitdate": $x.l_commitdate,
+        "l_receiptdate": $x.l_receiptdate,
+        "l_shipinstruct": $x.l_shipinstruct,
+        "l_shipmode": $x.l_shipmode,
+        "l_comment": $x.l_comment
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql
index fdaa66b..ae69bfd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/index-selection/rtree-secondary-index/rtree-secondary-index.2.update.aql
@@ -24,23 +24,23 @@
 
 insert into dataset MyDataOpen
 (
-	for $c in dataset('MyData')
-	where $c.id < 15
-	return $c
+    for $c in dataset('MyData')
+    where $c.id < 15
+    return $c
 );
 
 insert into dataset MyDataOpen
 (
-	for $c in dataset('MyData')
-	where $c.id >= 15
-	return {
-		"id": $c.id,
-		"kwds": $c.kwds,
-		"line1": $c.line1,
-		"line2": $c.line2,
-		"poly1": $c.poly1,
-		"poly2": $c.poly2,
-		"rec": $c.rec,
-		"circle": $c.circle
-	}	
+    for $c in dataset('MyData')
+    where $c.id >= 15
+    return {
+        "id": $c.id,
+        "kwds": $c.kwds,
+        "line1": $c.line1,
+        "line2": $c.line2,
+        "poly1": $c.poly1,
+        "poly2": $c.poly2,
+        "rec": $c.rec,
+        "circle": $c.circle
+    }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.1.ddl.aql
index 4b0f87a..9ecc1f4e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/records/access-nested-fields/access-nested-fields.1.ddl.aql
@@ -27,50 +27,50 @@
 use dataverse test;
 
 create type S as open{
-	id: int64
+    id: int64
 }
 
 create type GS as closed{
-	id: int64,
-	Genus: string,
-	lower: S
+    id: int64,
+    Genus: string,
+    lower: S
 }
 
 create type FGS as open{
-	id: int64,
-	Family: string
+    id: int64,
+    Family: string
 }
 
 create type OFGS as closed{
-	id: int64,
-	Order: string,
-	lower: FGS
+    id: int64,
+    Order: string,
+    lower: FGS
 }
 
 create type COFGS as closed{
-	id: int64,
-	Class: string,
-	lower: OFGS
+    id: int64,
+    Class: string,
+    lower: OFGS
 }
 
 create type PCOFGS as closed{
-	id: int64,
-	Phylum: string,
-	lower: COFGS
+    id: int64,
+    Phylum: string,
+    lower: COFGS
 }
 
 create type KPCOFGS as open{
-	id: int64,
-	Kingdom: string
+    id: int64,
+    Kingdom: string
 }
 
 create type Classification as closed{
-	id: int64,
-	fullClassification:KPCOFGS
+    id: int64,
+    fullClassification:KPCOFGS
 }
 
 create type Animal as open{
-	id: int64
+    id: int64
 }
 
 create dataset Animals(Animal)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax.aql
index 846df9f..db8b9c7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax.aql
@@ -19,7 +19,7 @@
 /*
  * Description    : Tests syntax error for the changed dataset access syntax
  * Expected Result: Syntax Error from parser
- * Date: 			March 6th 2013
+ * Date:             March 6th 2013
  */
 drop dataverse test if exists;
 create dataverse test;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.1.ddl.aql
index 919898c..f11802d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.1.ddl.aql
@@ -19,7 +19,7 @@
 /*
  * Description    : Tests syntax error for the changed dataset access syntax
  * Expected Result: Syntax Error from parser
- * Date: 			March 6th 2013
+ * Date:             March 6th 2013
  */
 drop dataverse test if exists;
 create dataverse test;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.2.update.aql
index ffeaa64..0fcc38f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.2.update.aql
@@ -19,7 +19,7 @@
 /*
  * Description    : Tests syntax error for the changed dataset access syntax
  * Expected Result: Syntax Error from parser
- * Date: 			March 6th 2013
+ * Date:             March 6th 2013
  */
 use dataverse test;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.3.query.aql
index 9d9d583..8d19e98 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/invalid-scan-syntax/invalid-scan-syntax.3.query.aql
@@ -19,7 +19,7 @@
 /*
  * Description    : Tests syntax error for the changed dataset access syntax
  * Expected Result: Syntax Error from parser
- * Date: 			March 6th 2013
+ * Date:             March 6th 2013
  */
 use dataverse test;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.1.ddl.aql
index e28f370..379af7a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/spatial_types_02/spatial_types_02.1.ddl.aql
@@ -30,9 +30,9 @@
   circle: circle
 }
 
-create dataset Spatial2(SpatialType) 
-	primary key id;
+create dataset Spatial2(SpatialType)
+    primary key id;
 
-load dataset Spatial2 
+load dataset Spatial2
 using localfs
 (("path"="asterix_nc1://data/nontagged/spatialData.txt"),("format"="delimited-text"),("delimiter"="|")) pre-sorted;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.1.ddl.aql
index fe2fcc6..141a5a8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/scan/temp_types_02/temp_types_02.1.ddl.aql
@@ -29,6 +29,6 @@
   duration: duration
 }
 
-create dataset Temp2(TempType) 
-	primary key id;
+create dataset Temp2(TempType)
+    primary key id;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings_issue628/similarity-jaccard-check_strings_issue628.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings_issue628/similarity-jaccard-check_strings_issue628.3.query.aql
index 71e8a5f..a1a77ac 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings_issue628/similarity-jaccard-check_strings_issue628.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/similarity/similarity-jaccard-check_strings_issue628/similarity-jaccard-check_strings_issue628.3.query.aql
@@ -19,7 +19,7 @@
 use dataverse test;
 set import-private-functions 'true';
 
-let $v1 := [ "query", "processing", "in", "multidatabase", "systems" ] 
+let $v1 := [ "query", "processing", "in", "multidatabase", "systems" ]
 let $v2 := [ "query", "processing", "in", "object", "oriented", "database", "systems" ]
 let $v3 := [ "dynamic", "query", "optimization", "and", "query", "processing", "in", "multidatabase", "systems", "1" ]
 let $v4 := [ "transaction", "management", "in", "multidatabase", "systems" ]
@@ -28,9 +28,9 @@
 
 let $results :=
 [
-	similarity-jaccard-check($v1, $v2, 0.5f),
-	similarity-jaccard-check($v1, $v3, 0.5f),
-	similarity-jaccard-check($v4, $v5, 0.5f)
+    similarity-jaccard-check($v1, $v2, 0.5f),
+    similarity-jaccard-check($v1, $v3, 0.5f),
+    similarity-jaccard-check($v4, $v5, 0.5f)
 ]
 
 for $i in $results
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/spatial/cell-aggregation-with-filtering/cell-aggregation-with-filtering.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/spatial/cell-aggregation-with-filtering/cell-aggregation-with-filtering.3.query.aql
index fc8bd09..87073e9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/spatial/cell-aggregation-with-filtering/cell-aggregation-with-filtering.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/spatial/cell-aggregation-with-filtering/cell-aggregation-with-filtering.3.query.aql
@@ -21,10 +21,10 @@
 for $t in dataset('TwitterData')
 let $keyword := "Allergies"
 let $region := polygon("
-	33.80503407287759,-126.41235263538363 
-	44.9090773200516,-126.41235263538363 
-	44.9090773200516,-87.65258701038363 
-	33.80503407287759,-87.65258701038363")
+    33.80503407287759,-126.41235263538363
+    44.9090773200516,-126.41235263538363
+    44.9090773200516,-87.65258701038363
+    33.80503407287759,-87.65258701038363")
 
 where spatial-intersect($t.loc, $region)  and
 $t.time > datetime("2011-05-15T00:00:00Z") and $t.time < datetime("2011-05-16T23:59:59Z") and
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/insert-and-scan-dataset-with-index/insert-and-scan-dataset-with-index.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/insert-and-scan-dataset-with-index/insert-and-scan-dataset-with-index.2.update.aql
index f4778ec..5c9e569 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/insert-and-scan-dataset-with-index/insert-and-scan-dataset-with-index.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/insert-and-scan-dataset-with-index/insert-and-scan-dataset-with-index.2.update.aql
@@ -22,7 +22,7 @@
  * Expected Result : Success
  * Date            : March 28 2015
  */
- 
+
 use dataverse test;
 
 load dataset test.employee
@@ -33,10 +33,10 @@
 insert into dataset test.employee (
 for $x in dataset test.employee
 return {
-	"id": $x.id + 10000,
-	"fname": $x.fname,
-	"lname": $x.lname,
-	"age": $x.age,
-	"dept": $x.dept
+    "id": $x.id + 10000,
+    "fname": $x.fname,
+    "lname": $x.lname,
+    "age": $x.age,
+    "dept": $x.dept
 }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/insert-and-scan-dataset/insert-and-scan-dataset.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/insert-and-scan-dataset/insert-and-scan-dataset.2.update.aql
index 3e90473..c61edcb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/insert-and-scan-dataset/insert-and-scan-dataset.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/insert-and-scan-dataset/insert-and-scan-dataset.2.update.aql
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : insert-and-scan-dataset.aql
  * Description     : This test is intended to test inserting into a temporary dataset and scan it at the same time
  * where we insert a materializing to prevent the possibility of deadlatch.
  * Expected Result : Success
  * Date            : March 27 2015
  */
- 
+
 use dataverse test;
 
-load dataset myData 
+load dataset myData
 using localfs
 (("path"="asterix_nc1://data/odd-numbers.adm"),("format"="adm"))pre-sorted;
 
@@ -34,6 +34,6 @@
 insert into dataset myData (
 for $x in dataset myData
 return {
-	"id": $x.id + 1
+    "id": $x.id + 1
 }
 );
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-persistent-to-temp/scan-insert-persistent-to-temp.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-persistent-to-temp/scan-insert-persistent-to-temp.4.update.aql
index 4b5778f..913be14 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-persistent-to-temp/scan-insert-persistent-to-temp.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-persistent-to-temp/scan-insert-persistent-to-temp.4.update.aql
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description     : Port data from a temporary dataset into yet-another temporary dataset. 
+ * Description     : Port data from a temporary dataset into yet-another temporary dataset.
  *                   Both datasets have R-tree indexes.
  * Expected Result : Success
  * Date            : March 27 2015
@@ -27,10 +27,10 @@
 
 insert into dataset MyMiniData
 (
-	for $m in dataset('MyData')
-	return {
-		"id": $m.id,
-		"point": $m.point
-	}
+    for $m in dataset('MyData')
+    return {
+        "id": $m.id,
+        "point": $m.point
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql
index 4b5778f..913be14 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-rtree-secondary-index/scan-insert-rtree-secondary-index.4.update.aql
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description     : Port data from a temporary dataset into yet-another temporary dataset. 
+ * Description     : Port data from a temporary dataset into yet-another temporary dataset.
  *                   Both datasets have R-tree indexes.
  * Expected Result : Success
  * Date            : March 27 2015
@@ -27,10 +27,10 @@
 
 insert into dataset MyMiniData
 (
-	for $m in dataset('MyData')
-	return {
-		"id": $m.id,
-		"point": $m.point
-	}
+    for $m in dataset('MyData')
+    return {
+        "id": $m.id,
+        "point": $m.point
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-temp-to-persistent/scan-insert-temp-to-persistent.4.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-temp-to-persistent/scan-insert-temp-to-persistent.4.update.aql
index 4b5778f..913be14 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-temp-to-persistent/scan-insert-temp-to-persistent.4.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temp-dataset/scan-insert-temp-to-persistent/scan-insert-temp-to-persistent.4.update.aql
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description     : Port data from a temporary dataset into yet-another temporary dataset. 
+ * Description     : Port data from a temporary dataset into yet-another temporary dataset.
  *                   Both datasets have R-tree indexes.
  * Expected Result : Success
  * Date            : March 27 2015
@@ -27,10 +27,10 @@
 
 insert into dataset MyMiniData
 (
-	for $m in dataset('MyData')
-	return {
-		"id": $m.id,
-		"point": $m.point
-	}
+    for $m in dataset('MyData')
+    return {
+        "id": $m.id,
+        "point": $m.point
+    }
 );
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temporal/insert_from_ext_ds_2/insert_from_ext_ds_2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temporal/insert_from_ext_ds_2/insert_from_ext_ds_2.1.ddl.aql
index 69cb8b7..fc0ab08 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temporal/insert_from_ext_ds_2/insert_from_ext_ds_2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temporal/insert_from_ext_ds_2/insert_from_ext_ds_2.1.ddl.aql
@@ -21,7 +21,7 @@
  * Description: verify external data loading on temporal types
  * Expected result: success
  */
- 
+
 drop dataverse timeTest if exists;
 create dataverse timeTest;
 use dataverse timeTest;
@@ -33,9 +33,9 @@
     duration: duration,
     year-month-duration: year-month-duration,
     day-time-duration: day-time-duration,
-	date-interval: interval,
-	time-interval: interval,
-	datetime-interval: interval
+    date-interval: interval,
+    time-interval: interval,
+    datetime-interval: interval
 }
 
 create dataset timeData(timesType)
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q05_local_supplier_volume/q05_local_supplier_volume.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q05_local_supplier_volume/q05_local_supplier_volume.1.ddl.aql
index 67653e5..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q05_local_supplier_volume/q05_local_supplier_volume.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q05_local_supplier_volume/q05_local_supplier_volume.1.ddl.aql
@@ -20,51 +20,51 @@
 create dataverse tpch;
 
 use dataverse tpch;
-  
+
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q06_forecast_revenue_change/q06_forecast_revenue_change.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q06_forecast_revenue_change/q06_forecast_revenue_change.1.ddl.aql
index c45d0c1..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q06_forecast_revenue_change/q06_forecast_revenue_change.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q06_forecast_revenue_change/q06_forecast_revenue_change.1.ddl.aql
@@ -18,53 +18,53 @@
  */
 drop dataverse tpch if exists;
 create dataverse tpch;
-  
+
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q07_volume_shipping/q07_volume_shipping.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q07_volume_shipping/q07_volume_shipping.1.ddl.aql
index 7d52e05..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q07_volume_shipping/q07_volume_shipping.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q07_volume_shipping/q07_volume_shipping.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q08_national_market_share/q08_national_market_share.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q08_national_market_share/q08_national_market_share.1.ddl.aql
index 7d52e05..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q08_national_market_share/q08_national_market_share.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q08_national_market_share/q08_national_market_share.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q09_product_type_profit_nt/q09_product_type_profit_nt.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q09_product_type_profit_nt/q09_product_type_profit_nt.1.ddl.aql
index 7d52e05..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q09_product_type_profit_nt/q09_product_type_profit_nt.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q09_product_type_profit_nt/q09_product_type_profit_nt.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.1.ddl.aql
index 7d52e05..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item/q10_returned_item.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.1.ddl.aql
index a1f9d4f..7514229 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q10_returned_item_int64/q10_returned_item_int64.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int64, 
-  l_partkey: int64, 
-  l_suppkey: int64, 
-  l_linenumber: int64, 
-  l_quantity: int64, 
+  l_orderkey: int64,
+  l_partkey: int64,
+  l_suppkey: int64,
+  l_linenumber: int64,
+  l_quantity: int64,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int64, 
-  o_custkey: int64, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int64,
+  o_custkey: int64,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int64, 
+  o_clerk: string,
+  o_shippriority: int64,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int64, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int64, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int64,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int64,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int64, 
+  s_suppkey: int64,
   s_name: string,
   s_address: string,
   s_nationkey: int64,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int64, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int64,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int64, 
-  p_name: string, 
+  p_partkey: int64,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int64, 
+  ps_partkey: int64,
   ps_suppkey: int64,
   ps_availqty: int64,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.1.ddl.aql
index 7d52e05..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q12_shipping/q12_shipping.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.1.ddl.aql
index 7d52e05..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q14_promotion_effect/q14_promotion_effect.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.1.ddl.aql
index 7d52e05..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q17_small_quantity_order_revenue/q17_small_quantity_order_revenue.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.1.ddl.aql
index 7d52e05..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q19_discounted_revenue/q19_discounted_revenue.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.1.ddl.aql
index 7d52e05..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q20_potential_part_promotion/q20_potential_part_promotion.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.1.ddl.aql
index 7d52e05..68c64d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/q22_global_sales_opportunity/q22_global_sales_opportunity.1.ddl.aql
@@ -22,49 +22,49 @@
 use dataverse tpch;
 
 create type LineItemType as closed {
-  l_orderkey: int32, 
-  l_partkey: int32, 
-  l_suppkey: int32, 
-  l_linenumber: int32, 
-  l_quantity: int32, 
+  l_orderkey: int32,
+  l_partkey: int32,
+  l_suppkey: int32,
+  l_linenumber: int32,
+  l_quantity: int32,
   l_extendedprice: double,
-  l_discount: double, 
+  l_discount: double,
   l_tax: double,
-  l_returnflag: string, 
-  l_linestatus: string, 
+  l_returnflag: string,
+  l_linestatus: string,
   l_shipdate: string,
-  l_commitdate: string, 
-  l_receiptdate: string, 
-  l_shipinstruct: string, 
-  l_shipmode: string, 
+  l_commitdate: string,
+  l_receiptdate: string,
+  l_shipinstruct: string,
+  l_shipmode: string,
   l_comment: string
 }
 
 create type OrderType as closed {
-  o_orderkey: int32, 
-  o_custkey: int32, 
-  o_orderstatus: string, 
-  o_totalprice: double, 
-  o_orderdate: string, 
+  o_orderkey: int32,
+  o_custkey: int32,
+  o_orderstatus: string,
+  o_totalprice: double,
+  o_orderdate: string,
   o_orderpriority: string,
-  o_clerk: string, 
-  o_shippriority: int32, 
+  o_clerk: string,
+  o_shippriority: int32,
   o_comment: string
 }
 
 create type CustomerType as closed {
-  c_custkey: int32, 
-  c_name: string, 
-  c_address: string, 
-  c_nationkey: int32, 
-  c_phone: string, 
-  c_acctbal: double, 
+  c_custkey: int32,
+  c_name: string,
+  c_address: string,
+  c_nationkey: int32,
+  c_phone: string,
+  c_acctbal: double,
   c_mktsegment: string,
   c_comment: string
 }
 
 create type SupplierType as closed {
-  s_suppkey: int32, 
+  s_suppkey: int32,
   s_name: string,
   s_address: string,
   s_nationkey: int32,
@@ -81,14 +81,14 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32, 
-	r_name: string, 
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
-  p_partkey: int32, 
-  p_name: string, 
+  p_partkey: int32,
+  p_name: string,
   p_mfgr: string,
   p_brand: string,
   p_type: string,
@@ -99,11 +99,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create dataset LineItem(LineItemType)
@@ -112,14 +112,14 @@
   primary key o_orderkey;
 create dataset Supplier(SupplierType)
   primary key s_suppkey;
-create dataset Region(RegionType) 
+create dataset Region(RegionType)
   primary key r_regionkey;
-create dataset Nation(NationType) 
+create dataset Nation(NationType)
   primary key n_nationkey;
 create dataset Part(PartType)
   primary key p_partkey;
 create dataset Partsupp(PartSuppType)
-  primary key ps_partkey, ps_suppkey;  
-create dataset Customer(CustomerType) 
+  primary key ps_partkey, ps_suppkey;
+create dataset Customer(CustomerType)
   primary key c_custkey;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/query-issue638/query-issue638.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/query-issue638/query-issue638.1.ddl.aql
index 54f0a64..1ba5b3f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/query-issue638/query-issue638.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/query-issue638/query-issue638.1.ddl.aql
@@ -88,10 +88,10 @@
 }
 
 create type RegionType as closed {
-	r_regionkey: int32,
-	r_name: string,
-	r_comment: string
-} 
+    r_regionkey: int32,
+    r_name: string,
+    r_comment: string
+}
 
 create type PartType as closed {
   p_partkey: int32,
@@ -106,11 +106,11 @@
 }
 
 create type PartSuppType as closed {
-  ps_partkey: int32, 
+  ps_partkey: int32,
   ps_suppkey: int32,
   ps_availqty: int32,
   ps_supplycost: double,
-  ps_comment: string 
+  ps_comment: string
 }
 
 create external dataset LineItem(LineItemType)
@@ -125,11 +125,11 @@
 using localfs
 (("path"="asterix_nc1://data/tpch0.001/supplier.tbl"),("format"="delimited-text"),("delimiter"="|"));
 
-create external dataset Region(RegionType) 
+create external dataset Region(RegionType)
 using localfs
 (("path"="asterix_nc1://data/tpch0.001/region.tbl"),("format"="delimited-text"),("delimiter"="|"));
 
-create external dataset Nation(NationType) 
+create external dataset Nation(NationType)
 using localfs
 (("path"="asterix_nc1://data/tpch0.001/nation.tbl"),("format"="delimited-text"),("delimiter"="|"));
 
@@ -139,9 +139,9 @@
 
 create external dataset Partsupp(PartSuppType)
 using localfs
-(("path"="asterix_nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|")); 
+(("path"="asterix_nc1://data/tpch0.001/partsupp.tbl"),("format"="delimited-text"),("delimiter"="|"));
 
-create external dataset Customer(CustomerType) 
+create external dataset Customer(CustomerType)
 using localfs
 (("path"="asterix_nc1://data/tpch0.001/customer.tbl"),("format"="delimited-text"),("delimiter"="|"));
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/query-issue785/query-issue785.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/query-issue785/query-issue785.3.query.aql
index 4c0b827..d0d8b9e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/query-issue785/query-issue785.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/tpch/query-issue785/query-issue785.3.query.aql
@@ -33,7 +33,7 @@
   and  $customer.c_nationkey = $n.n_nationkey
   group by $orderdate := $order.o_orderdate, $nation_key := $n.n_nationkey with $order
   return {
-	"nation_key": $nation_key,
+    "nation_key": $nation_key,
     "order_date": $orderdate,
     "sum_price": sum(for $o in $order return $o.o_totalprice)
   }
@@ -47,7 +47,7 @@
                   order by $sum desc
                   limit 3
                   return{
-                  	"orderdate": $od,
-                  	"sum_price": $sum
+                      "orderdate": $od,
+                      "sum_price": $sum
                   }
 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.1.ddl.aql
index 776c381..7fbf189 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.1.ddl.aql
@@ -18,8 +18,8 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue172
- 				: https://code.google.com/p/asterixdb/issues/detail?id=172
+                 : https://code.google.com/p/asterixdb/issues/detail?id=172
  * Expected Res : Success
  * Date         : 19th May 2013
  */
- 
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.2.update.aql
index 897d4f7..7fbf189 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue172
- 				: https://code.google.com/p/asterixdb/issues/detail?id=172
+                 : https://code.google.com/p/asterixdb/issues/detail?id=172
  * Expected Res : Success
  * Date         : 19th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.3.query.aql
index dca494b..732d477 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue172/query-issue172.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue172
- 				: https://code.google.com/p/asterixdb/issues/detail?id=172
+                 : https://code.google.com/p/asterixdb/issues/detail?id=172
  * Expected Res : Success
  * Date         : 19th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.1.ddl.aql
index 9f3972c..29c52be 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.1.ddl.aql
@@ -18,8 +18,8 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue201
- 				: https://code.google.com/p/asterixdb/issues/detail?id=201
+                 : https://code.google.com/p/asterixdb/issues/detail?id=201
  * Expected Res : Success
  * Date         : 26th November 2012
  */
- 
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.2.update.aql
index 9b95549..29c52be 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue201
- 				: https://code.google.com/p/asterixdb/issues/detail?id=201
+                 : https://code.google.com/p/asterixdb/issues/detail?id=201
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.3.query.aql
index 0c12e3e..65c3521 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue201/query-issue201.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue201
- 				: https://code.google.com/p/asterixdb/issues/detail?id=201
+                 : https://code.google.com/p/asterixdb/issues/detail?id=201
  * Expected Res : Success
  * Date         : 26th November 2012
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.1.ddl.aql
index 136a4a8..f6e647c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.1.ddl.aql
@@ -18,11 +18,11 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue218
- 				: https://code.google.com/p/asterixdb/issues/detail?id=218
+                 : https://code.google.com/p/asterixdb/issues/detail?id=218
  * Expected Res : Success
  * Date         : 5th June 2013
  */
- 
+
 drop dataverse test if exists;
 create dataverse test;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.2.update.aql
index 5bd57e3..eba47de 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue218
- 				: https://code.google.com/p/asterixdb/issues/detail?id=218
+                 : https://code.google.com/p/asterixdb/issues/detail?id=218
  * Expected Res : Success
  * Date         : 5th June 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.3.query.aql
index a23e491..5dbb60d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218-2/query-issue218-2.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue218
- 				: https://code.google.com/p/asterixdb/issues/detail?id=218
+                 : https://code.google.com/p/asterixdb/issues/detail?id=218
  * Expected Res : Success
  * Date         : 5th June 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.1.ddl.aql
index 5bd57e3..eba47de 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.1.ddl.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue218
- 				: https://code.google.com/p/asterixdb/issues/detail?id=218
+                 : https://code.google.com/p/asterixdb/issues/detail?id=218
  * Expected Res : Success
  * Date         : 5th June 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.2.update.aql
index 5bd57e3..eba47de 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue218
- 				: https://code.google.com/p/asterixdb/issues/detail?id=218
+                 : https://code.google.com/p/asterixdb/issues/detail?id=218
  * Expected Res : Success
  * Date         : 5th June 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.3.query.aql
index af408ce..5fc5bcf 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue218/query-issue218.3.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue218
- 				: https://code.google.com/p/asterixdb/issues/detail?id=218
+                 : https://code.google.com/p/asterixdb/issues/detail?id=218
  * Expected Res : Success
  * Date         : 5th June 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue244/query-issue244.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue244/query-issue244.2.update.aql
index 2d20513..919a895 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue244/query-issue244.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue244/query-issue244.2.update.aql
@@ -18,13 +18,13 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue244
- 				: https://code.google.com/p/asterixdb/issues/detail?id=244
+                 : https://code.google.com/p/asterixdb/issues/detail?id=244
  * Expected Res : Success
  * Date         : 4th June 2013
  */
 
 use dataverse test;
- 
+
 insert into dataset t1({"id":21,"name":"John"});
 insert into dataset t1({"id":34,"name":"Bill"});
 insert into dataset t1({"id":41,"name":"Joy"});
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue244/query-issue244.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue244/query-issue244.3.query.aql
index 498f04b..631396d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue244/query-issue244.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue244/query-issue244.3.query.aql
@@ -18,13 +18,13 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue244
- 				: https://code.google.com/p/asterixdb/issues/detail?id=244
+                 : https://code.google.com/p/asterixdb/issues/detail?id=244
  * Expected Res : Success
  * Date         : 4th June 2013
  */
- 
+
 use dataverse test;
- 
+
 for $l in dataset('t2')
 order by $l.id
 return $l;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.1.ddl.aql
index 43820e2..a2049c1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.1.ddl.aql
@@ -18,11 +18,11 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue 455
- 				: https://code.google.com/p/asterixdb/issues/detail?id=455
+                 : https://code.google.com/p/asterixdb/issues/detail?id=455
  * Expected Res : Failure
  * Date         : 19th May November 2013
  */
- 
+
 
 drop dataverse test if exists;
 create dataverse test;
@@ -31,4 +31,4 @@
 create function printName()
 {
 "AsterixDB Shared nothing parallel BDMS"
-}
\ No newline at end of file
+}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.2.update.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.2.update.aql
index 85128b4..fa09c2f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.2.update.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.2.update.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue 455
- 				: https://code.google.com/p/asterixdb/issues/detail?id=455
+                 : https://code.google.com/p/asterixdb/issues/detail?id=455
  * Expected Res : Failure
  * Date         : 19th May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.3.query.aql
index 463e427..57dd5e0 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.3.query.aql
@@ -18,11 +18,11 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue 455
- 				: https://code.google.com/p/asterixdb/issues/detail?id=455
+                 : https://code.google.com/p/asterixdb/issues/detail?id=455
  * Expected Res : Failure
  * Date         : 19th May 2013
  */
 
 use dataverse test;
 
-printName();
\ No newline at end of file
+printName();
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.4.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.4.ddl.aql
index c7ddbf4..8cb4580 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.4.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.4.ddl.aql
@@ -18,9 +18,9 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue 455
- 				: https://code.google.com/p/asterixdb/issues/detail?id=455
+                 : https://code.google.com/p/asterixdb/issues/detail?id=455
  * Expected Res : Failure
  * Date         : 19th May 2013
  */
 
-drop function test.printName@0;
\ No newline at end of file
+drop function test.printName@0;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.5.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.5.query.aql
index 463e427..57dd5e0 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.5.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue455/query-issue455.5.query.aql
@@ -18,11 +18,11 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue 455
- 				: https://code.google.com/p/asterixdb/issues/detail?id=455
+                 : https://code.google.com/p/asterixdb/issues/detail?id=455
  * Expected Res : Failure
  * Date         : 19th May 2013
  */
 
 use dataverse test;
 
-printName();
\ No newline at end of file
+printName();
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.1.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.1.ddl.aql
index d423bed..460a81b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.1.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.1.ddl.aql
@@ -18,11 +18,11 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue 489
- 	          https://code.google.com/p/asterixdb/issues/detail?id=489
+               https://code.google.com/p/asterixdb/issues/detail?id=489
  * Expected Res : Success
  * Date         : 31st May 2013
  */
- 
+
 drop dataverse test if exists;
 create dataverse test;
 use dataverse test;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.2.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.2.query.aql
index 073fa1b..9348b4b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.2.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.2.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue 489
- 	          https://code.google.com/p/asterixdb/issues/detail?id=489
+               https://code.google.com/p/asterixdb/issues/detail?id=489
  * Expected Res : Success
  * Date         : 31st May 2013
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.3.ddl.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.3.ddl.aql
index ee2746a..ce4e8cd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.3.ddl.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.3.ddl.aql
@@ -18,11 +18,11 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue 489
- 	          https://code.google.com/p/asterixdb/issues/detail?id=489
+               https://code.google.com/p/asterixdb/issues/detail?id=489
  * Expected Res : Success
  * Date         : 31st May 2013
  */
- 
+
 drop dataverse test if exists;
 create dataverse test;
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.4.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.4.query.aql
index 073fa1b..9348b4b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.4.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/user-defined-functions/query-issue489/query-issue489.4.query.aql
@@ -18,7 +18,7 @@
  */
 /*
  * Description  : This test case is to verify the fix for issue 489
- 	          https://code.google.com/p/asterixdb/issues/detail?id=489
+               https://code.google.com/p/asterixdb/issues/detail?id=489
  * Expected Res : Success
  * Date         : 31st May 2013
  */
diff --git a/asterixdb/asterix-common/pom.xml b/asterixdb/asterix-common/pom.xml
index e0eab95..e6e48c2 100644
--- a/asterixdb/asterix-common/pom.xml
+++ b/asterixdb/asterix-common/pom.xml
@@ -12,7 +12,7 @@
  ! Unless required by applicable law or agreed to in writing,
  ! software distributed under the License is distributed on an
  ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ! KIND, either express or implied.	See the License for the
+ ! KIND, either express or implied.    See the License for the
  ! specific language governing permissions and limitations
  ! under the License.
  !-->
diff --git a/asterixdb/asterix-common/src/main/resources/schema/cluster.xsd b/asterixdb/asterix-common/src/main/resources/schema/cluster.xsd
index ae09b16..79c377a 100644
--- a/asterixdb/asterix-common/src/main/resources/schema/cluster.xsd
+++ b/asterixdb/asterix-common/src/main/resources/schema/cluster.xsd
@@ -20,35 +20,35 @@
  !-->
 
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-	xmlns:cl="cluster" targetNamespace="cluster" elementFormDefault="qualified">
+    xmlns:cl="cluster" targetNamespace="cluster" elementFormDefault="qualified">
 
-	<!-- definition of simple types -->
-	<xs:element name="instance_name" type="xs:string" />
-	<xs:element name="cluster_name" type="xs:string" />
-	<xs:element name="log_dir" type="xs:string" />
-	<xs:element name="txn_log_dir" type="xs:string" />
-	<xs:element name="id" type="xs:string" />
-	<xs:element name="client_ip" type="xs:string" />
-	<xs:element name="cluster_ip" type="xs:string" />
-	<xs:element name="key" type="xs:string" />
-	<xs:element name="value" type="xs:string" />
-	<xs:element name="dir" type="xs:string" />
-	<xs:element name="NFS" type="xs:boolean" />
-	<xs:element name="store" type="xs:string" />
-	<xs:element name="iodevices" type="xs:string" />
-	<xs:element name="java_home" type="xs:string" />
-	<xs:element name="username" type="xs:string" />
-	<xs:element name="web_port" type="xs:string" />
-	<xs:element name="client_port" type="xs:integer" />
-	<xs:element name="cluster_port" type="xs:integer" />
-	<xs:element name="http_port" type="xs:integer" />
-	<xs:element name="debug_port" type="xs:integer" />
-	<xs:element name="metadata_node" type="xs:string" />
-	<xs:element name="enabled" type="xs:boolean" />
-	<xs:element name="replication_port" type="xs:integer" />
-	<xs:element name="replication_factor" type="xs:integer" />
-	<xs:element name="auto_failover" type="xs:boolean" />
-	<xs:element name="replication_time_out" type="xs:integer" />
+    <!-- definition of simple types -->
+    <xs:element name="instance_name" type="xs:string" />
+    <xs:element name="cluster_name" type="xs:string" />
+    <xs:element name="log_dir" type="xs:string" />
+    <xs:element name="txn_log_dir" type="xs:string" />
+    <xs:element name="id" type="xs:string" />
+    <xs:element name="client_ip" type="xs:string" />
+    <xs:element name="cluster_ip" type="xs:string" />
+    <xs:element name="key" type="xs:string" />
+    <xs:element name="value" type="xs:string" />
+    <xs:element name="dir" type="xs:string" />
+    <xs:element name="NFS" type="xs:boolean" />
+    <xs:element name="store" type="xs:string" />
+    <xs:element name="iodevices" type="xs:string" />
+    <xs:element name="java_home" type="xs:string" />
+    <xs:element name="username" type="xs:string" />
+    <xs:element name="web_port" type="xs:string" />
+    <xs:element name="client_port" type="xs:integer" />
+    <xs:element name="cluster_port" type="xs:integer" />
+    <xs:element name="http_port" type="xs:integer" />
+    <xs:element name="debug_port" type="xs:integer" />
+    <xs:element name="metadata_node" type="xs:string" />
+    <xs:element name="enabled" type="xs:boolean" />
+    <xs:element name="replication_port" type="xs:integer" />
+    <xs:element name="replication_factor" type="xs:integer" />
+    <xs:element name="auto_failover" type="xs:boolean" />
+    <xs:element name="replication_time_out" type="xs:integer" />
     <xs:element name="heartbeat_period" type="xs:integer" />
     <xs:element name="max_heartbeat_lapse_periods" type="xs:integer" />
     <xs:element name="profile_dump_period" type="xs:integer" />
@@ -58,102 +58,102 @@
     <xs:element name="result_sweep_threshold" type="xs:long" />
     <xs:element name="cc_root" type="xs:string" />
 
-	<!-- definition of complex elements -->
-	<xs:element name="working_dir">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="cl:dir" />
-				<xs:element ref="cl:NFS" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <!-- definition of complex elements -->
+    <xs:element name="working_dir">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="cl:dir" />
+                <xs:element ref="cl:NFS" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-	<xs:element name="master_node">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="cl:id" />
-				<xs:element ref="cl:client_ip" />
-				<xs:element ref="cl:cluster_ip" />
-				<xs:element ref="cl:java_home" minOccurs="0" />
-				<xs:element ref="cl:log_dir" minOccurs="0" />
-				<xs:element ref="cl:client_port" />
-				<xs:element ref="cl:cluster_port" />
-				<xs:element ref="cl:http_port" />
-				<xs:element ref="cl:debug_port" minOccurs="0" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <xs:element name="master_node">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="cl:id" />
+                <xs:element ref="cl:client_ip" />
+                <xs:element ref="cl:cluster_ip" />
+                <xs:element ref="cl:java_home" minOccurs="0" />
+                <xs:element ref="cl:log_dir" minOccurs="0" />
+                <xs:element ref="cl:client_port" />
+                <xs:element ref="cl:cluster_port" />
+                <xs:element ref="cl:http_port" />
+                <xs:element ref="cl:debug_port" minOccurs="0" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-	<xs:element name="data_replication">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="cl:enabled" />
-				<xs:element ref="cl:replication_port" />
-				<xs:element ref="cl:replication_factor" />
-				<xs:element ref="cl:auto_failover" />
-				<xs:element ref="cl:replication_time_out" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <xs:element name="data_replication">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="cl:enabled" />
+                <xs:element ref="cl:replication_port" />
+                <xs:element ref="cl:replication_factor" />
+                <xs:element ref="cl:auto_failover" />
+                <xs:element ref="cl:replication_time_out" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-	<xs:element name="property">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="cl:key" />
-				<xs:element ref="cl:value" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <xs:element name="property">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="cl:key" />
+                <xs:element ref="cl:value" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-	<xs:element name="env">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="cl:property" minOccurs="0" maxOccurs="unbounded" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <xs:element name="env">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="cl:property" minOccurs="0" maxOccurs="unbounded" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-	<xs:element name="node">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="cl:id" />
-				<xs:element ref="cl:cluster_ip" />
-				<xs:element ref="cl:java_home" minOccurs="0" />
-				<xs:element ref="cl:log_dir" minOccurs="0" />
-				<xs:element ref="cl:txn_log_dir" minOccurs="0" />
-				<xs:element ref="cl:iodevices" minOccurs="0" />
-				<xs:element ref="cl:debug_port" minOccurs="0" />
-				<xs:element ref="cl:replication_port" minOccurs="0" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <xs:element name="node">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="cl:id" />
+                <xs:element ref="cl:cluster_ip" />
+                <xs:element ref="cl:java_home" minOccurs="0" />
+                <xs:element ref="cl:log_dir" minOccurs="0" />
+                <xs:element ref="cl:txn_log_dir" minOccurs="0" />
+                <xs:element ref="cl:iodevices" minOccurs="0" />
+                <xs:element ref="cl:debug_port" minOccurs="0" />
+                <xs:element ref="cl:replication_port" minOccurs="0" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-	<xs:element name="substitute_nodes">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="cl:node" maxOccurs="unbounded" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <xs:element name="substitute_nodes">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="cl:node" maxOccurs="unbounded" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-	<xs:element name="cluster">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="cl:instance_name" />
-				<xs:element ref="cl:cluster_name" />
-				<xs:element ref="cl:username" />
-				<xs:element ref="cl:env" minOccurs="0" />
-				<xs:element ref="cl:java_home" minOccurs="0" />
-				<xs:element ref="cl:log_dir" minOccurs="0" />
-				<xs:element ref="cl:txn_log_dir" minOccurs="0" />
-				<xs:element ref="cl:store" minOccurs="0" />
-				<xs:element ref="cl:iodevices" minOccurs="0" />
-				<xs:element ref="cl:working_dir" />
-				<xs:element ref="cl:metadata_node" />
-				<xs:element ref="cl:data_replication" minOccurs="0" />
-				<xs:element ref="cl:master_node" />
-				<xs:element ref="cl:node" maxOccurs="unbounded" />
-				<xs:element ref="cl:substitute_nodes" />
+    <xs:element name="cluster">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="cl:instance_name" />
+                <xs:element ref="cl:cluster_name" />
+                <xs:element ref="cl:username" />
+                <xs:element ref="cl:env" minOccurs="0" />
+                <xs:element ref="cl:java_home" minOccurs="0" />
+                <xs:element ref="cl:log_dir" minOccurs="0" />
+                <xs:element ref="cl:txn_log_dir" minOccurs="0" />
+                <xs:element ref="cl:store" minOccurs="0" />
+                <xs:element ref="cl:iodevices" minOccurs="0" />
+                <xs:element ref="cl:working_dir" />
+                <xs:element ref="cl:metadata_node" />
+                <xs:element ref="cl:data_replication" minOccurs="0" />
+                <xs:element ref="cl:master_node" />
+                <xs:element ref="cl:node" maxOccurs="unbounded" />
+                <xs:element ref="cl:substitute_nodes" />
                 <xs:element ref="cl:heartbeat_period" minOccurs="0" />
                 <xs:element ref="cl:max_heartbeat_lapse_periods" minOccurs="0" />
                 <xs:element ref="cl:profile_dump_period" minOccurs="0" />
@@ -162,8 +162,8 @@
                 <xs:element ref="cl:result_time_to_live" minOccurs="0" />
                 <xs:element ref="cl:result_sweep_threshold" minOccurs="0" />
                 <xs:element ref="cl:cc_root" minOccurs="0" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-</xs:schema>     
+</xs:schema>
diff --git a/asterixdb/asterix-common/src/main/resources/schema/yarn_cluster.xsd b/asterixdb/asterix-common/src/main/resources/schema/yarn_cluster.xsd
index 463997c..4292509 100644
--- a/asterixdb/asterix-common/src/main/resources/schema/yarn_cluster.xsd
+++ b/asterixdb/asterix-common/src/main/resources/schema/yarn_cluster.xsd
@@ -25,7 +25,7 @@
     targetNamespace="yarn_cluster"
     elementFormDefault="qualified">
 
-	<!-- definition of simple types -->
+    <!-- definition of simple types -->
     <xs:element
         name="instance_name"
         type="xs:string" />
@@ -92,7 +92,7 @@
     <xs:element name="result_sweep_threshold" type="xs:long" />
     <xs:element name="cc_root" type="xs:string" />
 
-	<!-- definition of complex elements -->
+    <!-- definition of complex elements -->
 
     <xs:element name="master_node">
         <xs:complexType>
@@ -208,4 +208,4 @@
         </xs:complexType>
     </xs:element>
 
-</xs:schema>     
+</xs:schema>
diff --git a/asterixdb/asterix-experiments/pom.xml b/asterixdb/asterix-experiments/pom.xml
index 708d6d4..8c74be6 100644
--- a/asterixdb/asterix-experiments/pom.xml
+++ b/asterixdb/asterix-experiments/pom.xml
@@ -3,9 +3,9 @@
  ! Licensed under the Apache License, Version 2.0 (the "License");
  ! you may not use this file except in compliance with the License.
  ! you may obtain a copy of the License from
- ! 
+ !
  !     http://www.apache.org/licenses/LICENSE-2.0
- ! 
+ !
  ! Unless required by applicable law or agreed to in writing, software
  ! distributed under the License is distributed on an "AS IS" BASIS,
  ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -150,7 +150,7 @@
       <artifactId>asterix-app</artifactId>
       <version>0.8.9-SNAPSHOT</version>
     </dependency>
-    <!-- 		<dependency>
+    <!--         <dependency>
           <groupId>net.schmizz</groupId>
           <artifactId>sshj</artifactId>
           <version>0.9.0</version>
diff --git a/asterixdb/asterix-external-data/src/main/resources/schema/library.xsd b/asterixdb/asterix-external-data/src/main/resources/schema/library.xsd
index 6ffd967f..75a0801 100644
--- a/asterixdb/asterix-external-data/src/main/resources/schema/library.xsd
+++ b/asterixdb/asterix-external-data/src/main/resources/schema/library.xsd
@@ -20,64 +20,64 @@
  !-->
 
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-	xmlns:lib="library" targetNamespace="library" elementFormDefault="qualified">
+    xmlns:lib="library" targetNamespace="library" elementFormDefault="qualified">
 
-	<!-- definition of simple types -->
-	<xs:element name="language" type="xs:string" />
-	<xs:element name="name" type="xs:string" />
-	<xs:element name="arguments" type="xs:string" />
-	<xs:element name="return_type" type="xs:string" />
-	<xs:element name="function_type" type="xs:string" />
-	<xs:element name="definition" type="xs:string" />
-	<xs:element name="factory_class" type="xs:string" />
+    <!-- definition of simple types -->
+    <xs:element name="language" type="xs:string" />
+    <xs:element name="name" type="xs:string" />
+    <xs:element name="arguments" type="xs:string" />
+    <xs:element name="return_type" type="xs:string" />
+    <xs:element name="function_type" type="xs:string" />
+    <xs:element name="definition" type="xs:string" />
+    <xs:element name="factory_class" type="xs:string" />
 
 
-	<!-- definition of complex elements -->
-	<xs:element name="libraryFunction">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="lib:name" />
-				<xs:element ref="lib:function_type" />
-				<xs:element ref="lib:arguments" />
-				<xs:element ref="lib:return_type" />
-				<xs:element ref="lib:definition" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <!-- definition of complex elements -->
+    <xs:element name="libraryFunction">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="lib:name" />
+                <xs:element ref="lib:function_type" />
+                <xs:element ref="lib:arguments" />
+                <xs:element ref="lib:return_type" />
+                <xs:element ref="lib:definition" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-	<xs:element name="libraryFunctions">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="lib:libraryFunction" maxOccurs="unbounded" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <xs:element name="libraryFunctions">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="lib:libraryFunction" maxOccurs="unbounded" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-	<xs:element name="libraryAdapter">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="lib:name" />
-				<xs:element ref="lib:factory_class" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <xs:element name="libraryAdapter">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="lib:name" />
+                <xs:element ref="lib:factory_class" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-	<xs:element name="libraryAdapters">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="lib:libraryAdapter" maxOccurs="unbounded" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <xs:element name="libraryAdapters">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="lib:libraryAdapter" maxOccurs="unbounded" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-	<xs:element name="externalLibrary">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="lib:language" />
-				<xs:element ref="lib:libraryFunctions" minOccurs="0" />
-				<xs:element ref="lib:libraryAdapters" minOccurs="0" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
+    <xs:element name="externalLibrary">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="lib:language" />
+                <xs:element ref="lib:libraryFunctions" minOccurs="0" />
+                <xs:element ref="lib:libraryAdapters" minOccurs="0" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-</xs:schema>     
+</xs:schema>
diff --git a/asterixdb/asterix-installer/src/main/resources/hadoop-0.20.2/bin/hadoop-config.sh b/asterixdb/asterix-installer/src/main/resources/hadoop-0.20.2/bin/hadoop-config.sh
index 56b019e0..bf0fe04 100644
--- a/asterixdb/asterix-installer/src/main/resources/hadoop-0.20.2/bin/hadoop-config.sh
+++ b/asterixdb/asterix-installer/src/main/resources/hadoop-0.20.2/bin/hadoop-config.sh
@@ -60,14 +60,14 @@
 if [ $# -gt 1 ]
 then
     if [ "--config" = "$1" ]
-	  then
-	      shift
-	      confdir=$1
-	      shift
-	      HADOOP_CONF_DIR=$confdir
+      then
+          shift
+          confdir=$1
+          shift
+          HADOOP_CONF_DIR=$confdir
     fi
 fi
- 
+
 # Allow alternate conf dir location.
 HADOOP_CONF_DIR="${HADOOP_CONF_DIR:-$HADOOP_HOME/conf}"
 
diff --git a/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/dataset_recovery/dataset_recovery.2.ddl.aql b/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/dataset_recovery/dataset_recovery.2.ddl.aql
index 958d328..499185e 100644
--- a/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/dataset_recovery/dataset_recovery.2.ddl.aql
+++ b/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/dataset_recovery/dataset_recovery.2.ddl.aql
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : dataverse_recovery
- * Description     :    
- * Expected Result : 
- * Date            : 
+ * Description     :
+ * Expected Result :
+ * Date            :
  */
 
 drop dataverse SampleDV if exists;
@@ -29,8 +29,8 @@
 use dataverse SampleDV;
 
 create type SampleType as open {
-	id: int32,
-	text: string
+    id: int32,
+    text: string
 }
 
 create dataset SampleDS(SampleType)
diff --git a/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/datatype_recovery/datatype_recovery.2.ddl.aql b/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/datatype_recovery/datatype_recovery.2.ddl.aql
index 3e76ae1..bd001d1 100644
--- a/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/datatype_recovery/datatype_recovery.2.ddl.aql
+++ b/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/datatype_recovery/datatype_recovery.2.ddl.aql
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : dataverse_recovery
- * Description     :    
- * Expected Result : 
- * Date            : 
+ * Description     :
+ * Expected Result :
+ * Date            :
  */
 
 drop dataverse SampleDV if exists;
@@ -29,6 +29,6 @@
 use dataverse SampleDV;
 
 create type SampleType as open {
-	id: int32,
-	text: string
+    id: int32,
+    text: string
 }
diff --git a/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/secondary_index_recovery/secondary_index_recovery.2.ddl.aql b/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/secondary_index_recovery/secondary_index_recovery.2.ddl.aql
index 95eecf4..20923cc 100644
--- a/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/secondary_index_recovery/secondary_index_recovery.2.ddl.aql
+++ b/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/secondary_index_recovery/secondary_index_recovery.2.ddl.aql
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : dataverse_recovery
- * Description     :    
- * Expected Result : 
- * Date            : 
+ * Description     :
+ * Expected Result :
+ * Date            :
  */
 
 drop dataverse SampleDV if exists;
@@ -29,8 +29,8 @@
 use dataverse SampleDV;
 
 create type SampleType as open {
-	id: int32,
-	text: string
+    id: int32,
+    text: string
 }
 
 create dataset SampleDS(SampleType)
diff --git a/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/temp_dataset_recovery/dataset_recovery.2.ddl.aql b/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/temp_dataset_recovery/dataset_recovery.2.ddl.aql
index 44864bf..fc78710 100644
--- a/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/temp_dataset_recovery/dataset_recovery.2.ddl.aql
+++ b/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/temp_dataset_recovery/dataset_recovery.2.ddl.aql
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : dataverse_recovery
- * Description     :    
- * Expected Result : 
- * Date            : 
+ * Description     :
+ * Expected Result :
+ * Date            :
  */
 
 drop dataverse SampleDV if exists;
@@ -29,8 +29,8 @@
 use dataverse SampleDV;
 
 create type SampleType as open {
-	id: int32,
-	text: string
+    id: int32,
+    text: string
 }
 
 create temporary dataset SampleDS(SampleType)
diff --git a/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/temp_secondary_index_recovery/secondary_index_recovery.2.ddl.aql b/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/temp_secondary_index_recovery/secondary_index_recovery.2.ddl.aql
index 0fae55c..3bcfdde 100644
--- a/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/temp_secondary_index_recovery/secondary_index_recovery.2.ddl.aql
+++ b/asterixdb/asterix-installer/src/test/resources/transactionts/queries/recovery_ddl/temp_secondary_index_recovery/secondary_index_recovery.2.ddl.aql
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/* 
+/*
  * Test case Name  : dataverse_recovery
- * Description     :    
- * Expected Result : 
- * Date            : 
+ * Description     :
+ * Expected Result :
+ * Date            :
  */
 
 drop dataverse SampleDV if exists;
@@ -29,8 +29,8 @@
 use dataverse SampleDV;
 
 create type SampleType as open {
-	id: int32,
-	text: string
+    id: int32,
+    text: string
 }
 
 create temporary dataset SampleDS(SampleType)
diff --git a/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj b/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
index 63b066e..b96fb26 100644
--- a/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
+++ b/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
@@ -684,7 +684,7 @@
   FunctionSignature appliedFunction = null;
   CreateFeedStatement cfs = null;
   Pair<Identifier,Identifier> sourceNameComponents = null;
-  
+
 }
 {
   (
@@ -696,7 +696,7 @@
       }
      |
      ("primary")? "feed" nameComponents = QualifiedName() ifNotExists = IfNotExists()
-      "using" adapterName = AdapterName() properties = Configuration() (appliedFunction = ApplyFunction())?  
+      "using" adapterName = AdapterName() properties = Configuration() (appliedFunction = ApplyFunction())?
        {
         cfs = new CreatePrimaryFeedStatement(nameComponents,
                                     adapterName, properties, appliedFunction, ifNotExists);
@@ -709,8 +709,8 @@
 
 CreateFeedPolicyStatement FeedPolicySpecification() throws ParseException:
 {
-  String policyName = null;  
-  String basePolicyName = null; 
+  String policyName = null;
+  String basePolicyName = null;
   String sourcePolicyFile = null;
   String definition = null;
   boolean ifNotExists = false;
@@ -720,18 +720,18 @@
 {
   (
     "ingestion" "policy"  policyName = Identifier() ifNotExists = IfNotExists()
-      <FROM> 
-      ("policy" basePolicyName = Identifier() properties = Configuration() ("definition" definition = StringLiteral())?  
+      <FROM>
+      ("policy" basePolicyName = Identifier() properties = Configuration() ("definition" definition = StringLiteral())?
       {
         cfps = new CreateFeedPolicyStatement(policyName,
                                    basePolicyName, properties, definition, ifNotExists);
       }
-     | "path" sourcePolicyFile = Identifier() ("definition" definition = StringLiteral())?  
+     | "path" sourcePolicyFile = Identifier() ("definition" definition = StringLiteral())?
        {
         cfps = new CreateFeedPolicyStatement(policyName, sourcePolicyFile, definition, ifNotExists);
        }
-     ) 
-       
+     )
+
   )
     {
       return cfps;
@@ -1322,11 +1322,11 @@
   boolean secondAfterDot = false;
 }
 {
-  first = Identifier() 
+  first = Identifier()
   {
     FunctionName result = new FunctionName();
     result.hint = getHint(token);
-  } 
+  }
   ( <DOT> second = Identifier()
     {
       secondAfterDot = true;
@@ -2468,8 +2468,8 @@
     createNewScope();
   }
 
-   (      (<SOME>  {  qc.setQuantifier(QuantifiedExpression.Quantifier.SOME);	})
-        | (<EVERY> {  qc.setQuantifier(QuantifiedExpression.Quantifier.EVERY);	}))
+   (      (<SOME>  {  qc.setQuantifier(QuantifiedExpression.Quantifier.SOME);    })
+        | (<EVERY> {  qc.setQuantifier(QuantifiedExpression.Quantifier.EVERY);    }))
     var = Variable() <IN> inExpr = Expression()
     {
       pair = new QuantifiedPair(var, inExpr);
diff --git a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
index df01fa0..05acb1d 100644
--- a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
+++ b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
@@ -696,7 +696,7 @@
   FunctionSignature appliedFunction = null;
   CreateFeedStatement cfs = null;
   Pair<Identifier,Identifier> sourceNameComponents = null;
-  
+
 }
 {
   (
@@ -708,7 +708,7 @@
       }
      |
      (<PRIMARY>)? <FEED> nameComponents = QualifiedName() ifNotExists = IfNotExists()
-      <USING> adapterName = AdapterName() properties = Configuration() (appliedFunction = ApplyFunction())?  
+      <USING> adapterName = AdapterName() properties = Configuration() (appliedFunction = ApplyFunction())?
        {
         cfs = new CreatePrimaryFeedStatement(nameComponents,
                                     adapterName, properties, appliedFunction, ifNotExists);
@@ -721,8 +721,8 @@
 
 CreateFeedPolicyStatement FeedPolicySpecification() throws ParseException:
 {
-  String policyName = null;  
-  String basePolicyName = null; 
+  String policyName = null;
+  String basePolicyName = null;
   String sourcePolicyFile = null;
   String definition = null;
   boolean ifNotExists = false;
@@ -1323,11 +1323,11 @@
   boolean secondAfterDot = false;
 }
 {
-  first = Identifier() 
+  first = Identifier()
   {
     FunctionName result = new FunctionName();
     result.hint = getHint(token);
-  } 
+  }
   ( <DOT> second = Identifier()
     {
       secondAfterDot = true;
@@ -2304,10 +2304,10 @@
   boolean distinct = false;
 }
 {
-  <SELECT> (<ALL>|<DISTINCT> {distinct = true; } )? 
+  <SELECT> (<ALL>|<DISTINCT> {distinct = true; } )?
   (
     selectRegular = SelectRegular()
-    | 
+    |
     selectElement = SelectElement()
   )
   {
@@ -2316,14 +2316,14 @@
 }
 
 SelectRegular SelectRegular() throws ParseException: {
-  List<Projection> projections = new ArrayList<Projection>(); 
+  List<Projection> projections = new ArrayList<Projection>();
 }
 {
    {
       Projection projection = null;
    }
-   projection = Projection() { projections.add(projection); } 
-   ( LOOKAHEAD(2) <COMMA> 
+   projection = Projection() { projections.add(projection); }
+   ( LOOKAHEAD(2) <COMMA>
       projection = Projection() {projections.add(projection);}
    )*
   {
@@ -2370,7 +2370,7 @@
   {
     FromTerm fromTerm = null;
   }
-    <FROM> fromTerm = FromTerm() { fromTerms.add(fromTerm); } 
+    <FROM> fromTerm = FromTerm() { fromTerms.add(fromTerm); }
     (LOOKAHEAD(2) <COMMA> fromTerm = FromTerm() { fromTerms.add(fromTerm); } )*
   {
     return new FromClause(fromTerms);
@@ -2380,7 +2380,7 @@
 FromTerm FromTerm() throws ParseException :
 {
   Expression leftExpr = null;
-  VariableExpr leftVar = null; 
+  VariableExpr leftVar = null;
   VariableExpr posVar = null;
   List<AbstractBinaryCorrelateClause> correlateClauses = new ArrayList<AbstractBinaryCorrelateClause>();
 }
@@ -2658,8 +2658,8 @@
     createNewScope();
   }
 
-   (      (<SOME>  {  qc.setQuantifier(QuantifiedExpression.Quantifier.SOME);	})
-        | (<EVERY> {  qc.setQuantifier(QuantifiedExpression.Quantifier.EVERY);	}))
+   (      (<SOME>  {  qc.setQuantifier(QuantifiedExpression.Quantifier.SOME);    })
+        | (<EVERY> {  qc.setQuantifier(QuantifiedExpression.Quantifier.EVERY);    }))
     var = Variable() <IN> inExpr = Expression()
     {
       pair = new QuantifiedPair(var, inExpr);
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APolygonConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APolygonConstructorDescriptor.java
index 0735e37..82e2157 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APolygonConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APolygonConstructorDescriptor.java
@@ -20,6 +20,7 @@
 
 import java.io.DataOutput;
 import java.io.IOException;
+import java.util.regex.Pattern;
 
 import org.apache.asterix.dataflow.data.nontagged.serde.APointSerializerDeserializer;
 import org.apache.asterix.om.functions.AsterixBuiltinFunctions;
@@ -40,6 +41,10 @@
 
 public class APolygonConstructorDescriptor extends AbstractScalarFunctionDynamicDescriptor {
     private static final long serialVersionUID = 1L;
+
+    private static final Pattern WS = Pattern.compile("\\s+");
+    private static final Pattern COMMA = Pattern.compile(",");
+
     public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
         @Override
         public IFunctionDescriptor createFunctionDescriptor() {
@@ -76,15 +81,16 @@
                             if (serString[offset] == ATypeTag.SERIALIZED_STRING_TYPE_TAG) {
                                 utf8Ptr.set(serString, offset + 1, len - 1);
                                 String s = utf8Ptr.toString();
-                                String[] points = s.split(" ");
+                                String[] points = WS.split(s.trim());
                                 if (points.length <= 2) {
                                     throw new AlgebricksException(errorMessage);
                                 }
                                 out.writeByte(ATypeTag.SERIALIZED_POLYGON_TYPE_TAG);
                                 out.writeShort(points.length);
                                 for (int i = 0; i < points.length; i++) {
-                                    APointSerializerDeserializer.serialize(Double.parseDouble(points[i].split(",")[0]),
-                                            Double.parseDouble(points[i].split(",")[1]), out);
+                                    final String[] point = COMMA.split(points[i]);
+                                    APointSerializerDeserializer.serialize(Double.parseDouble(point[0]),
+                                            Double.parseDouble(point[1]), out);
                                 }
                             } else {
                                 throw new AlgebricksException(errorMessage);
diff --git a/asterixdb/pom.xml b/asterixdb/pom.xml
index d18e023..a50b62b 100644
--- a/asterixdb/pom.xml
+++ b/asterixdb/pom.xml
@@ -238,6 +238,8 @@
               <module name="FileTabCharacter"/>
             </module>
           </checkstyleRules>
+          <includes>**/*.java,**/*.jj</includes>
+          <resourceIncludes>**/*.properties,**/*.xml,**/*.xsd,**/*.aql,**/*.sqlpp,**/*.sh</resourceIncludes>
           <sourceDirectories>${project.build.sourceDirectory},${project.build.testSourceDirectory}</sourceDirectories>
         </configuration>
       </plugin>
diff --git a/hyracks-fullstack/algebricks/algebricks-tests/src/main/scripts/run.sh b/hyracks-fullstack/algebricks/algebricks-tests/src/main/scripts/run.sh
index 5ef4152..e54cfa1 100644
--- a/hyracks-fullstack/algebricks/algebricks-tests/src/main/scripts/run.sh
+++ b/hyracks-fullstack/algebricks/algebricks-tests/src/main/scripts/run.sh
@@ -85,7 +85,7 @@
 # Try to find directory where this script is located
 COMMAND="${PWD}/$0"
 if [ ! -f "${COMMAND}" ]; then
-	COMMAND="$0"
+    COMMAND="$0"
 fi
 BASEDIR=`expr "${COMMAND}" : '\(.*\)/\.*'`
 
diff --git a/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/getip.sh b/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/getip.sh
index eb7a2b9..e91fe0a 100755
--- a/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/getip.sh
+++ b/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/getip.sh
@@ -24,17 +24,17 @@
 then
         #Get IP Address
         IPADDR=`/sbin/ifconfig eth0 | grep "inet " | awk '{print $2}' | cut -f 2 -d ':'`
-    	if [ "$IPADDR" = "" ]
+        if [ "$IPADDR" = "" ]
         then
-		IPADDR=`/sbin/ifconfig em1 | grep "inet " | awk '{print $2}' | cut -f 2 -d ':'`
-        fi 
-	if [ "$IPADDR" = "" ]
+        IPADDR=`/sbin/ifconfig em1 | grep "inet " | awk '{print $2}' | cut -f 2 -d ':'`
+        fi
+    if [ "$IPADDR" = "" ]
         then
-		IPADDR=`/sbin/ifconfig lo | grep "inet " | awk '{print $2}' | cut -f 2 -d ':'`
-        fi 
+        IPADDR=`/sbin/ifconfig lo | grep "inet " | awk '{print $2}' | cut -f 2 -d ':'`
+        fi
 else
         IPADDR=`/sbin/ifconfig en1 | grep "inet " | awk '{print $2}' | cut -f 2 -d ':'`
-	if [ "$IPADDR" = "" ]
+    if [ "$IPADDR" = "" ]
         then
                 IPADDR=`/sbin/ifconfig lo0 | grep "inet " | awk '{print $2}' | cut -f 2 -d ':'`
         fi
diff --git a/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/startDebugNc.sh b/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/startDebugNc.sh
index 889f0ea..4d2fc51 100755
--- a/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/startDebugNc.sh
+++ b/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/startDebugNc.sh
@@ -41,8 +41,8 @@
 io_dirs=$(echo $IO_DIRS2 | tr "," "\n")
 for io_dir in $io_dirs
 do
-	rm -rf $io_dir
-	mkdir $io_dir
+    rm -rf $io_dir
+    mkdir $io_dir
 done
 
 #Set JAVA_HOME
diff --git a/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/startnc.sh b/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/startnc.sh
index 3f3e438..d09b9c1 100755
--- a/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/startnc.sh
+++ b/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/startnc.sh
@@ -41,8 +41,8 @@
 io_dirs=$(echo $IO_DIRS | tr "," "\n")
 for io_dir in $io_dirs
 do
-	rm -rf $io_dir
-	mkdir $io_dir
+    rm -rf $io_dir
+    mkdir $io_dir
 done
 
 #Set JAVA_HOME
diff --git a/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/stopnc.sh b/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/stopnc.sh
index 6ecfec1..099275b 100755
--- a/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/stopnc.sh
+++ b/hyracks-fullstack/hyracks/hyracks-dist/src/main/resources/bin/stopnc.sh
@@ -38,7 +38,7 @@
 io_dirs=$(echo $IO_DIRS | tr "," "\n")
 for io_dir in $io_dirs
 do
-	rm -rf $io_dir/*
+    rm -rf $io_dir/*
 done
 
 #Clean up NC temp dir
diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
index aa91b83..c191ea5 100644
--- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
+++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
@@ -7,7 +7,7 @@
  ! "License"); you may not use this file except in compliance
  ! with the License.  You may obtain a copy of the License at
  !
- !	http://www.apache.org/licenses/LICENSE-2.0
+ !    http://www.apache.org/licenses/LICENSE-2.0
  !
  ! Unless required by applicable law or agreed to in writing,
  ! software distributed under the License is distributed on an
diff --git a/hyracks-fullstack/pom.xml b/hyracks-fullstack/pom.xml
index 32313fb..7fd34b5 100644
--- a/hyracks-fullstack/pom.xml
+++ b/hyracks-fullstack/pom.xml
@@ -303,6 +303,8 @@
               <module name="FileTabCharacter"/>
             </module>
           </checkstyleRules>
+          <includes>**/*.java,**/*.jj</includes>
+          <resourceIncludes>**/*.properties,**/*.xml,**/*.xsd,**/*.sh</resourceIncludes>
           <sourceDirectories>${project.build.sourceDirectory},${project.build.testSourceDirectory}</sourceDirectories>
         </configuration>
       </plugin>
