SQL++ parser:
1. refactored asterix-aql to become asterix-lang-common and asterix-lang-aql, where the former is the common part for different languages;
2. added asterix-lang-sqlpp on top of asterix-lang-common;
3. ported parser tests, optimizer tests and runtime tests in asterix-app to their sql++ version, and added parser tests for all the queries.

Change-Id: Ie5af4e3b692ca017ec047a1ba3b404a51beb3a2e
Reviewed-on: https://asterix-gerrit.ics.uci.edu/466
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <tillw@apache.org>
diff --git a/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml b/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml
new file mode 100644
index 0000000..bb7128a
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml
@@ -0,0 +1,6810 @@
+<!--
+ ! 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.
+ !-->
+<!DOCTYPE test-suite [
+
+<!ENTITY RecordsQueries SYSTEM "queries/records/RecordsQueries.xml">
+
+]>
+<test-suite
+        xmlns="urn:xml.testframework.asterix.apache.org"
+        ResultOffsetPath="results_parser_sqlpp"
+        QueryOffsetPath="queries_sqlpp"
+        QueryFileExtension=".sqlpp">
+    <test-group name="flwor">
+        <test-case FilePath="flwor">
+            <compilation-unit name="at00">
+                <output-dir compare="AST">at00</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="flwor">
+            <compilation-unit name="at01">
+                <output-dir compare="AST">at01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="flwor">
+            <compilation-unit name="at02">
+                <output-dir compare="AST">at02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="flwor">
+            <compilation-unit name="at03">
+                <output-dir compare="AST">at03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="flwor">
+            <compilation-unit name="at04">
+                <output-dir compare="AST">at04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="flwor">
+            <compilation-unit name="at05">
+                <output-dir compare="AST">at05</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="flwor">
+            <compilation-unit name="at06">
+                <output-dir compare="AST">at06</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="flwor">
+            <compilation-unit name="query-issue550">
+                <output-dir compare="AST">query-issue550</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <!-- 
+    <test-group name="union">
+        <test-case FilePath="union">
+            <compilation-unit name="union">
+                <output-dir compare="AST">union</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    -->
+    <test-case FilePath="flwor">
+        <compilation-unit name="let33">
+            <output-dir compare="AST">let33</output-dir>
+        </compilation-unit>
+    </test-case>
+    <test-group name="aggregate">
+        <test-case FilePath="aggregate">
+            <compilation-unit name="issue531_string_min_max">
+                <output-dir compare="AST">issue531_string_min_max</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="agg_null">
+                <output-dir compare="AST">agg_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="agg_null_rec">
+                <output-dir compare="AST">agg_null_rec</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="agg_null_rec_1">
+                <output-dir compare="AST">agg_null_rec_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="agg_number_rec">
+                <output-dir compare="AST">agg_number_rec</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_mixed">
+                <output-dir compare="AST">avg_mixed</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_mixed">
+                <output-dir compare="AST">sum_mixed</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="min_mixed">
+                <output-dir compare="AST">min_mixed</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="agg_number">
+                <output-dir compare="AST">agg_number</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="issue425_min_hetero_list_1">
+                <output-dir compare="AST">issue425_min_hetero_list_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="issue425_min_hetero_list">
+                <output-dir compare="AST">issue425_min_hetero_list</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="issue425_sum_hetero_list_1">
+                <output-dir compare="AST">issue425_sum_hetero_list_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="issue425_sum_hetero_list">
+                <output-dir compare="AST">issue425_sum_hetero_list</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="query-issue400">
+                <output-dir compare="AST">query-issue400</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="issue395">
+                <output-dir compare="AST">issue395</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="issue412_0">
+                <output-dir compare="AST">issue412_0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="issue412_1">
+                <output-dir compare="AST">issue412_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_double">
+                <output-dir compare="AST">avg_double</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_double_null">
+                <output-dir compare="AST">avg_double_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_empty_01">
+                <output-dir compare="AST">avg_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_empty_02">
+                <output-dir compare="AST">avg_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_float">
+                <output-dir compare="AST">avg_float</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_float_null">
+                <output-dir compare="AST">avg_float_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_int16">
+                <output-dir compare="AST">avg_int16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_int16_null">
+                <output-dir compare="AST">avg_int16_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_int32">
+                <output-dir compare="AST">avg_int32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_int32_null">
+                <output-dir compare="AST">avg_int32_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_int64">
+                <output-dir compare="AST">avg_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_int64_null">
+                <output-dir compare="AST">avg_int64_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_int8">
+                <output-dir compare="AST">avg_int8</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="avg_int8_null">
+                <output-dir compare="AST">avg_int8_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="count_01">
+                <output-dir compare="AST">count_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="count_empty_01">
+                <output-dir compare="AST">count_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="count_empty_02">
+                <output-dir compare="AST">count_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="count_null">
+                <output-dir compare="AST">count_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="aggregate">
+          <compilation-unit name="droptype">
+            <output-dir compare="AST">droptype</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!-- TODO(madhusudancs): These tests that test for local_<agg>/global_<agg> functions should be removed, but
+        before that we should modify the code to make sure those built-in functions are still defined but not exposed
+        by AQL, so leaving these test cases commented.
+        <test-case FilePath="aggregate">
+          <compilation-unit name="global-avg_01">
+            <output-dir compare="AST">global-avg_01</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="global-avg_null">
+            <output-dir compare="AST">global-avg_null</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_double">
+            <output-dir compare="AST">local-avg_double</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_double_null">
+            <output-dir compare="AST">local-avg_double_null</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_float">
+            <output-dir compare="AST">local-avg_float</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_float_null">
+            <output-dir compare="AST">local-avg_float_null</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_int16">
+            <output-dir compare="AST">local-avg_int16</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_int16_null">
+            <output-dir compare="AST">local-avg_int16_null</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_int32">
+            <output-dir compare="AST">local-avg_int32</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_int32_null">
+            <output-dir compare="AST">local-avg_int32_null</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_int64">
+            <output-dir compare="AST">local-avg_int64</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_int64_null">
+            <output-dir compare="AST">local-avg_int64_null</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_int8">
+            <output-dir compare="AST">local-avg_int8</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+          <compilation-unit name="local-avg_int8_null">
+            <output-dir compare="AST">local-avg_int8_null</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="aggregate">
+            <compilation-unit name="max_empty_01">
+                <output-dir compare="AST">max_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="max_empty_02">
+                <output-dir compare="AST">max_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="min_empty_01">
+                <output-dir compare="AST">min_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="min_empty_02">
+                <output-dir compare="AST">min_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_avg">
+                <output-dir compare="AST">scalar_avg</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_avg_empty">
+                <output-dir compare="AST">scalar_avg_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_avg_null">
+                <output-dir compare="AST">scalar_avg_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_count">
+                <output-dir compare="AST">scalar_count</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_count_empty">
+                <output-dir compare="AST">scalar_count_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_count_null">
+                <output-dir compare="AST">scalar_count_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_max">
+                <output-dir compare="AST">scalar_max</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_max_empty">
+                <output-dir compare="AST">scalar_max_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_max_null">
+                <output-dir compare="AST">scalar_max_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_min">
+                <output-dir compare="AST">scalar_min</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_min_empty">
+                <output-dir compare="AST">scalar_min_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_min_null">
+                <output-dir compare="AST">scalar_min_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_sum">
+                <output-dir compare="AST">scalar_sum</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_sum_empty">
+                <output-dir compare="AST">scalar_sum_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_sum_null">
+                <output-dir compare="AST">scalar_sum_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_double">
+                <output-dir compare="AST">sum_double</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_double_null">
+                <output-dir compare="AST">sum_double_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_empty_01">
+                <output-dir compare="AST">sum_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_empty_02">
+                <output-dir compare="AST">sum_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_float">
+                <output-dir compare="AST">sum_float</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_float_null">
+                <output-dir compare="AST">sum_float_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int16">
+                <output-dir compare="AST">sum_int16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int16_null">
+                <output-dir compare="AST">sum_int16_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int32">
+                <output-dir compare="AST">sum_int32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int32_null">
+                <output-dir compare="AST">sum_int32_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int64">
+                <output-dir compare="AST">sum_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int64_null">
+                <output-dir compare="AST">sum_int64_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int8">
+                <output-dir compare="AST">sum_int8</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int8_null">
+                <output-dir compare="AST">sum_int8_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_null-with-pred">
+                <output-dir compare="AST">sum_null-with-pred</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_numeric_null">
+                <output-dir compare="AST">sum_numeric_null</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="aggregate-sql">
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="issue531_string_min_max">
+                <output-dir compare="AST">issue531_string_min_max</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="agg_null">
+                <output-dir compare="AST">agg_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="agg_null_rec">
+                <output-dir compare="AST">agg_null_rec</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="agg_null_rec_1">
+                <output-dir compare="AST">agg_null_rec_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="agg_number_rec">
+                <output-dir compare="AST">agg_number_rec</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_mixed">
+                <output-dir compare="AST">avg_mixed</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_mixed">
+                <output-dir compare="AST">sum_mixed</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="min_mixed">
+                <output-dir compare="AST">min_mixed</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="agg_number">
+                <output-dir compare="AST">agg_number</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="issue425_min_hetero_list_1">
+                <output-dir compare="AST">issue425_min_hetero_list_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="issue425_min_hetero_list">
+                <output-dir compare="AST">issue425_min_hetero_list</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="issue425_sum_hetero_list_1">
+                <output-dir compare="AST">issue425_sum_hetero_list_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="issue425_sum_hetero_list">
+                <output-dir compare="AST">issue425_sum_hetero_list</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="query-issue400">
+                <output-dir compare="AST">query-issue400</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="issue395">
+                <output-dir compare="AST">issue395</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="issue412_0">
+                <output-dir compare="AST">issue412_0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="issue412_1">
+                <output-dir compare="AST">issue412_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_double">
+                <output-dir compare="AST">avg_double</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_double_null">
+                <output-dir compare="AST">avg_double_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_empty_01">
+                <output-dir compare="AST">avg_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_empty_02">
+                <output-dir compare="AST">avg_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_float">
+                <output-dir compare="AST">avg_float</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_float_null">
+                <output-dir compare="AST">avg_float_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_int16">
+                <output-dir compare="AST">avg_int16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_int16_null">
+                <output-dir compare="AST">avg_int16_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_int32">
+                <output-dir compare="AST">avg_int32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_int32_null">
+                <output-dir compare="AST">avg_int32_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_int64">
+                <output-dir compare="AST">avg_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_int64_null">
+                <output-dir compare="AST">avg_int64_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_int8">
+                <output-dir compare="AST">avg_int8</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="avg_int8_null">
+                <output-dir compare="AST">avg_int8_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="count_01">
+                <output-dir compare="AST">count_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="count_empty_01">
+                <output-dir compare="AST">count_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="count_empty_02">
+                <output-dir compare="AST">count_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="count_null">
+                <output-dir compare="AST">count_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="max_empty_01">
+                <output-dir compare="AST">max_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="max_empty_02">
+                <output-dir compare="AST">max_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="min_empty_01">
+                <output-dir compare="AST">min_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="min_empty_02">
+                <output-dir compare="AST">min_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_avg">
+                <output-dir compare="AST">scalar_avg</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_avg_empty">
+                <output-dir compare="AST">scalar_avg_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_avg_null">
+                <output-dir compare="AST">scalar_avg_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_count">
+                <output-dir compare="AST">scalar_count</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_count_empty">
+                <output-dir compare="AST">scalar_count_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_count_null">
+                <output-dir compare="AST">scalar_count_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_max">
+                <output-dir compare="AST">scalar_max</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_max_empty">
+                <output-dir compare="AST">scalar_max_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_max_null">
+                <output-dir compare="AST">scalar_max_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_min">
+                <output-dir compare="AST">scalar_min</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_min_empty">
+                <output-dir compare="AST">scalar_min_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_min_null">
+                <output-dir compare="AST">scalar_min_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_sum">
+                <output-dir compare="AST">scalar_sum</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_sum_empty">
+                <output-dir compare="AST">scalar_sum_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_sum_null">
+                <output-dir compare="AST">scalar_sum_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_double">
+                <output-dir compare="AST">sum_double</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_double_null">
+                <output-dir compare="AST">sum_double_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_empty_01">
+                <output-dir compare="AST">sum_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_empty_02">
+                <output-dir compare="AST">sum_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_float">
+                <output-dir compare="AST">sum_float</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_float_null">
+                <output-dir compare="AST">sum_float_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int16">
+                <output-dir compare="AST">sum_int16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int16_null">
+                <output-dir compare="AST">sum_int16_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int32">
+                <output-dir compare="AST">sum_int32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int32_null">
+                <output-dir compare="AST">sum_int32_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int64">
+                <output-dir compare="AST">sum_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int64_null">
+                <output-dir compare="AST">sum_int64_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int8">
+                <output-dir compare="AST">sum_int8</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int8_null">
+                <output-dir compare="AST">sum_int8_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_null-with-pred">
+                <output-dir compare="AST">sum_null-with-pred</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_numeric_null">
+                <output-dir compare="AST">sum_numeric_null</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="boolean">
+        <test-case FilePath="boolean">
+            <compilation-unit name="and_01">
+                <output-dir compare="AST">and_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="boolean">
+            <compilation-unit name="and_null">
+                <output-dir compare="AST">and_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="boolean">
+            <compilation-unit name="and_null_false">
+                <output-dir compare="AST">and_null_false</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="boolean">
+            <compilation-unit name="not_01">
+                <output-dir compare="AST">not_01</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="comparison">
+        <test-case FilePath="comparison">
+            <compilation-unit name="year_month_duration_order">
+                <output-dir compare="AST">year_month_duration_order</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="datetime_order">
+                <output-dir compare="AST">datetime_order</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="datetime_range">
+                <output-dir compare="AST">datetime_range</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="datetime_tzeq">
+                <output-dir compare="AST">datetime_tzeq</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="double">
+                <output-dir compare="AST">double</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="double_gte_01">
+                <output-dir compare="AST">double_gte_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="double_null">
+                <output-dir compare="AST">double_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="eq_01">
+                <output-dir compare="AST">eq_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="float">
+                <output-dir compare="AST">float</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="float_null">
+                <output-dir compare="AST">float_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="gt_01">
+                <output-dir compare="AST">gt_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="gte_01">
+                <output-dir compare="AST">gte_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="int16">
+                <output-dir compare="AST">int16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="int16_null">
+                <output-dir compare="AST">int16_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="int32">
+                <output-dir compare="AST">int32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="int32_null">
+                <output-dir compare="AST">int32_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="int64">
+                <output-dir compare="AST">int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="int64_null">
+                <output-dir compare="AST">int64_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="int8">
+                <output-dir compare="AST">int8</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="int8_null">
+                <output-dir compare="AST">int8_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="lt_01">
+                <output-dir compare="AST">lt_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="lte_01">
+                <output-dir compare="AST">lte_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="neq_01">
+                <output-dir compare="AST">neq_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="comparison">
+          <compilation-unit name="numeric-comparison_01">
+            <output-dir compare="AST">numeric-comparison_01</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="comparison">
+            <compilation-unit name="string">
+                <output-dir compare="AST">string</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="string_null">
+                <output-dir compare="AST">string_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_equality">
+                <output-dir compare="AST">issue363_equality</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_duration">
+                <output-dir compare="AST">issue363_inequality_duration</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_interval">
+                <output-dir compare="AST">issue363_inequality_interval</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_point">
+                <output-dir compare="AST">issue363_inequality_point</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_line">
+                <output-dir compare="AST">issue363_inequality_line</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_polygon">
+                <output-dir compare="AST">issue363_inequality_polygon</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_rectangle">
+                <output-dir compare="AST">issue363_inequality_rectangle</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_circle">
+                <output-dir compare="AST">issue363_inequality_circle</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="binary">
+                <output-dir compare="AST">binary</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="binary_null">
+                <output-dir compare="AST">binary_null</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="constructor">
+        <test-case FilePath="constructor">
+            <compilation-unit name="binary_01">
+                <output-dir compare="AST">binary_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="add-null">
+                <output-dir compare="AST">add-null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="boolean_01">
+                <output-dir compare="AST">boolean_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="circle_01">
+                <output-dir compare="AST">circle_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="date_01">
+                <output-dir compare="AST">date_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="datetime_01">
+                <output-dir compare="AST">datetime_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="double_01">
+                <output-dir compare="AST">double_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="duration_01">
+                <output-dir compare="AST">duration_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="duration_02">
+                <output-dir compare="AST">duration_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="float_01">
+                <output-dir compare="AST">float_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="int_01">
+                <output-dir compare="AST">int_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="interval">
+                <output-dir compare="AST">interval</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="line_01">
+                <output-dir compare="AST">line_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="rectangle_01">
+                <output-dir compare="AST">rectangle_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="point_01">
+                <output-dir compare="AST">point_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="polygon_01">
+                <output-dir compare="AST">polygon_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="primitive-01">
+                <output-dir compare="AST">primitive-01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="primitive-02">
+                <output-dir compare="AST">primitive-02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="primitive-03">
+                <output-dir compare="AST">primitive-03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="primitive-04">
+                <output-dir compare="AST">primitive-04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="string_01">
+                <output-dir compare="AST">string_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="time_01">
+                <output-dir compare="AST">time_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="uuid_01">
+                <output-dir compare="AST">uuid_01</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="custord">
+        <!--
+    <test-case FilePath="custord">
+      <compilation-unit name="co">
+        <output-dir compare="AST">co</output-dir>
+      </compilation-unit>
+    </test-case>
+    -->
+        <test-case FilePath="custord">
+            <compilation-unit name="customer_q_01">
+                <output-dir compare="AST">customer_q_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="customer_q_02">
+                <output-dir compare="AST">customer_q_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="customer_q_03">
+                <output-dir compare="AST">customer_q_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="customer_q_04">
+                <output-dir compare="AST">customer_q_04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="customer_q_05">
+                <output-dir compare="AST">customer_q_05</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="customer_q_06">
+                <output-dir compare="AST">customer_q_06</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="customer_q_07">
+                <output-dir compare="AST">customer_q_07</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="customer_q_08">
+                <output-dir compare="AST">customer_q_08</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="custord">
+          <compilation-unit name="denorm-cust-order_01">
+            <output-dir compare="AST">denorm-cust-order_01</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="custord">
+            <compilation-unit name="denorm-cust-order_02">
+                <output-dir compare="AST">denorm-cust-order_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="custord">
+          <compilation-unit name="denorm-cust-order_03">
+            <output-dir compare="AST">denorm-cust-order_03</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="custord">
+          <compilation-unit name="freq-clerk">
+            <output-dir compare="AST">freq-clerk</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="custord">
+            <compilation-unit name="join_q_01">
+                <output-dir compare="AST">join_q_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="join_q_02">
+                <output-dir compare="AST">join_q_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="join_q_03">
+                <output-dir compare="AST">join_q_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="join_q_04">
+                <output-dir compare="AST">join_q_04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="load-test">
+                <output-dir compare="AST">load-test</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="order_q_01">
+                <output-dir compare="AST">order_q_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="order_q_02">
+                <output-dir compare="AST">order_q_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="order_q_03">
+                <output-dir compare="AST">order_q_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="order_q_04">
+                <output-dir compare="AST">order_q_04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="order_q_05">
+                <output-dir compare="AST">order_q_05</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="custord">
+            <compilation-unit name="order_q_06">
+                <output-dir compare="AST">order_q_06</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="dapd">
+        <test-case FilePath="dapd">
+            <compilation-unit name="q1">
+                <output-dir compare="AST">q1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dapd">
+            <compilation-unit name="q2">
+                <output-dir compare="AST">q2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="dapd">
+          <compilation-unit name="q3">
+            <output-dir compare="AST">q3</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+    </test-group>
+    <test-group name="dml">
+        <test-case FilePath="dml">
+            <compilation-unit name="compact-dataset-and-its-indexes">
+                <output-dir compare="AST">compact-dataset-and-its-indexes</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="using-constant-merge-policy">
+                <output-dir compare="AST">using-constant-merge-policy</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="using-prefix-merge-policy">
+                <output-dir compare="AST">using-prefix-merge-policy</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="using-correlated-prefix-merge-policy">
+                <output-dir compare="AST">using-correlated-prefix-merge-policy</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="using-no-merge-policy">
+                <output-dir compare="AST">using-no-merge-policy</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="query-issue382">
+                <output-dir compare="AST">query-issue382</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="query-issue433">
+                <output-dir compare="AST">query-issue433</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="query-issue288">
+                <output-dir compare="AST">query-issue288</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="query-issue205">
+                <output-dir compare="AST">query-issue205</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="delete-from-loaded-dataset-with-index">
+                <output-dir compare="AST">delete-from-loaded-dataset-with-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="delete-from-loaded-dataset">
+                <output-dir compare="AST">delete-from-loaded-dataset</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="delete-syntax-change">
+                <output-dir compare="AST">delete-syntax-change</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="drop-empty-secondary-indexes">
+                <output-dir compare="AST">drop-empty-secondary-indexes</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="drop-index">
+                <output-dir compare="AST">drop-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="create-drop-cltype">
+                <output-dir compare="AST">create-drop-cltype</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="create-drop-opntype">
+                <output-dir compare="AST">create-drop-opntype</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="empty-load-with-index">
+                <output-dir compare="AST">empty-load-with-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-into-empty-dataset">
+                <output-dir compare="AST">insert-into-empty-dataset</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-into-empty-dataset-with-index">
+                <output-dir compare="AST">insert-into-empty-dataset-with-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-syntax">
+                <output-dir compare="AST">insert-syntax</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-and-scan-dataset">
+                <output-dir compare="AST">insert-and-scan-dataset</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-and-scan-dataset-with-index">
+                <output-dir compare="AST">insert-and-scan-dataset-with-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-and-scan-joined-datasets">
+                <output-dir compare="AST">insert-and-scan-joined-datasets</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-into-loaded-dataset-with-index_01">
+                <output-dir compare="AST">insert-into-loaded-dataset-with-index_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-into-loaded-dataset-with-index_02">
+                <output-dir compare="AST">insert-into-loaded-dataset-with-index_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-into-loaded-dataset_01">
+                <output-dir compare="AST">insert-into-loaded-dataset_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-into-loaded-dataset_02">
+                <output-dir compare="AST">insert-into-loaded-dataset_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-src-dst-01">
+                <output-dir compare="AST">insert-src-dst-01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert">
+                <output-dir compare="AST">insert</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-duplicated-keys">
+                <output-dir compare="AST">insert-duplicated-keys</output-dir>
+                <expected-error>org.apache.hyracks.storage.am.common.exceptions.TreeIndexDuplicateKeyException
+                </expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert_less_nc">
+                <output-dir compare="AST">insert_less_nc</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="dml">
+          <compilation-unit name="load-from-hdfs">
+            <output-dir compare="AST">load-from-hdfs</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-with-autogenerated-pk_adm_01">
+                <output-dir compare="AST">insert-with-autogenerated-pk_adm_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-with-autogenerated-pk_adm_02">
+                <output-dir compare="AST">insert-with-autogenerated-pk_adm_02</output-dir>
+                <expected-error>org.apache.asterix.runtime.operators.file.ADMDataParser.ParseException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert-with-autogenerated-pk_adm_03">
+                <output-dir compare="AST">insert-with-autogenerated-pk_adm_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-autogenerated-pk_txt_01">
+                <output-dir compare="AST">load-with-autogenerated-pk_txt_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-autogenerated-pk_adm_01">
+                <output-dir compare="AST">load-with-autogenerated-pk_adm_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-autogenerated-pk_adm_02">
+                <output-dir compare="AST">load-with-autogenerated-pk_adm_02</output-dir>
+                <expected-error>org.apache.asterix.runtime.operators.file.ADMDataParser.ParseException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-autogenerated-pk_adm_03">
+                <output-dir compare="AST">load-with-autogenerated-pk_adm_03</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-autogenerated-pk_adm_04">
+                <output-dir compare="AST">load-with-autogenerated-pk_adm_04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-autogenerated-pk_csv_01">
+                <output-dir compare="AST">load-with-autogenerated-pk_csv_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-autogenerated-pk_csv_02">
+                <output-dir compare="AST">load-with-autogenerated-pk_csv_02</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-index">
+                <output-dir compare="AST">load-with-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-ngram-index">
+                <output-dir compare="AST">load-with-ngram-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-rtree-index">
+                <output-dir compare="AST">load-with-rtree-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-word-index">
+                <output-dir compare="AST">load-with-word-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="opentype-c2o-recursive">
+                <output-dir compare="AST">opentype-c2o-recursive</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="opentype-c2o">
+                <output-dir compare="AST">opentype-c2o</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="opentype-closed-optional">
+                <output-dir compare="AST">opentype-closed-optional</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="opentype-insert">
+                <output-dir compare="AST">opentype-insert</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="opentype-insert2">
+                <output-dir compare="AST">opentype-insert2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="opentype-noexpand">
+                <output-dir compare="AST">opentype-noexpand</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="opentype-o2c-recursive">
+                <output-dir compare="AST">opentype-o2c-recursive</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="opentype-o2c">
+                <output-dir compare="AST">opentype-o2c</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="opentype-o2o">
+                <output-dir compare="AST">opentype-o2o</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-delete-btree-secondary-index-nullable">
+                <output-dir compare="AST">scan-delete-btree-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-delete-rtree-secondary-index-nullable">
+                <output-dir compare="AST">scan-delete-rtree-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-delete-rtree-secondary-index">
+                <output-dir compare="AST">scan-delete-rtree-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-insert-btree-secondary-index-nullable">
+                <output-dir compare="AST">scan-insert-btree-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-insert-rtree-secondary-index-nullable">
+                <output-dir compare="AST">scan-insert-rtree-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-insert-rtree-secondary-index">
+                <output-dir compare="AST">scan-insert-rtree-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-insert-inverted-index-ngram-secondary-index">
+                <output-dir compare="AST">scan-insert-inverted-index-ngram-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-insert-inverted-index-word-secondary-index">
+                <output-dir compare="AST">scan-insert-inverted-index-word-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-insert-inverted-index-ngram-secondary-index-nullable">
+                <output-dir compare="AST">scan-insert-inverted-index-ngram-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-insert-inverted-index-word-secondary-index-nullable">
+                <output-dir compare="AST">scan-insert-inverted-index-word-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-delete-inverted-index-ngram-secondary-index">
+                <output-dir compare="AST">scan-delete-inverted-index-ngram-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-delete-inverted-index-word-secondary-index">
+                <output-dir compare="AST">scan-delete-inverted-index-word-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-delete-inverted-index-ngram-secondary-index-nullable">
+                <output-dir compare="AST">scan-delete-inverted-index-ngram-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-delete-inverted-index-word-secondary-index-nullable">
+                <output-dir compare="AST">scan-delete-inverted-index-word-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-index-open">
+                <output-dir compare="AST">load-with-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-ngram-index-open">
+                <output-dir compare="AST">load-with-ngram-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-rtree-index-open">
+                <output-dir compare="AST">load-with-rtree-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="load-with-word-index-open">
+                <output-dir compare="AST">load-with-word-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-delete-btree-secondary-index-open">
+                <output-dir compare="AST">scan-delete-btree-secondary-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-delete-inverted-index-ngram-secondary-index-open">
+                <output-dir compare="AST">scan-delete-inverted-index-ngram-secondary-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-delete-inverted-index-word-secondary-index-open">
+                <output-dir compare="AST">scan-delete-inverted-index-word-secondary-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-delete-rtree-secondary-index-open">
+                <output-dir compare="AST">scan-delete-rtree-secondary-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-insert-btree-secondary-index-open">
+                <output-dir compare="AST">scan-insert-btree-secondary-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-insert-inverted-index-ngram-secondary-index-open">
+                <output-dir compare="AST">scan-insert-inverted-index-ngram-secondary-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-insert-inverted-index-word-secondary-index-open">
+                <output-dir compare="AST">scan-insert-inverted-index-word-secondary-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="scan-insert-rtree-secondary-index-open">
+                <output-dir compare="AST">scan-insert-rtree-secondary-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="delete-multi-statement">
+                <output-dir compare="AST">delete-multi-statement</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="employee">
+        <test-case FilePath="employee">
+            <compilation-unit name="q_01">
+                <output-dir compare="AST">q_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="employee">
+            <compilation-unit name="q_02">
+                <output-dir compare="AST">q_02</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="failure">
+        <!--
+        <test-case FilePath="failure">
+          <compilation-unit name="q1_pricing_summary_report_failure">
+            <output-dir compare="AST">q1_pricing_summary_report_failure</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+    </test-group>
+    <!--
+    <test-group name="flwor">
+      <test-case FilePath="flwor">
+        <compilation-unit name="for01">
+          <output-dir compare="AST">for01</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for02">
+          <output-dir compare="AST">for02</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for03">
+          <output-dir compare="AST">for03</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for04">
+          <output-dir compare="AST">for04</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for05">
+          <output-dir compare="AST">for05</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for06">
+          <output-dir compare="AST">for06</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for07">
+          <output-dir compare="AST">for07</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for08">
+          <output-dir compare="AST">for08</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for09">
+          <output-dir compare="AST">for09</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for10">
+          <output-dir compare="AST">for10</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for11">
+          <output-dir compare="AST">for11</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for12">
+          <output-dir compare="AST">for12</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for13">
+          <output-dir compare="AST">for13</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for14">
+          <output-dir compare="AST">for14</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for15">
+          <output-dir compare="AST">for15</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for16">
+          <output-dir compare="AST">for16</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for17">
+          <output-dir compare="AST">for17</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for18">
+          <output-dir compare="AST">for18</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="for19">
+          <output-dir compare="AST">for19</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="grpby01">
+          <output-dir compare="AST">grpby01</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="grpby02">
+          <output-dir compare="AST">grpby02</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let01">
+          <output-dir compare="AST">let01</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let02">
+          <output-dir compare="AST">let02</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let03">
+          <output-dir compare="AST">let03</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let04">
+          <output-dir compare="AST">let04</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let05">
+          <output-dir compare="AST">let05</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let06">
+          <output-dir compare="AST">let06</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let07">
+          <output-dir compare="AST">let07</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let08">
+          <output-dir compare="AST">let08</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let09">
+          <output-dir compare="AST">let09</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let10">
+          <output-dir compare="AST">let10</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let11">
+          <output-dir compare="AST">let11</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let12">
+          <output-dir compare="AST">let12</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let13">
+          <output-dir compare="AST">let13</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let14">
+          <output-dir compare="AST">let14</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let15">
+          <output-dir compare="AST">let15</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let16">
+          <output-dir compare="AST">let16</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let17">
+          <output-dir compare="AST">let17</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let18">
+          <output-dir compare="AST">let18</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let19">
+          <output-dir compare="AST">let19</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let20">
+          <output-dir compare="AST">let20</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let21">
+          <output-dir compare="AST">let21</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let22">
+          <output-dir compare="AST">let22</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let23">
+          <output-dir compare="AST">let23</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let24">
+          <output-dir compare="AST">let24</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let25">
+          <output-dir compare="AST">let25</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let26">
+          <output-dir compare="AST">let26</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let27">
+          <output-dir compare="AST">let27</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let28">
+          <output-dir compare="AST">let28</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let29">
+          <output-dir compare="AST">let29</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let30">
+          <output-dir compare="AST">let30</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let31">
+          <output-dir compare="AST">let31</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="let32">
+          <output-dir compare="AST">let32</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-01">
+          <output-dir compare="AST">order-by-01</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-02">
+          <output-dir compare="AST">order-by-02</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-03">
+          <output-dir compare="AST">order-by-03</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-04">
+          <output-dir compare="AST">order-by-04</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-05">
+          <output-dir compare="AST">order-by-05</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-06">
+          <output-dir compare="AST">order-by-06</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-07">
+          <output-dir compare="AST">order-by-07</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-08">
+          <output-dir compare="AST">order-by-08</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-09">
+          <output-dir compare="AST">order-by-09</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-10">
+          <output-dir compare="AST">order-by-10</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-11">
+          <output-dir compare="AST">order-by-11</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="order-by-12">
+          <output-dir compare="AST">order-by-12</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-01">
+          <output-dir compare="AST">ret-01</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-02">
+          <output-dir compare="AST">ret-02</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-03">
+          <output-dir compare="AST">ret-03</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-04">
+          <output-dir compare="AST">ret-04</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-05">
+          <output-dir compare="AST">ret-05</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-06">
+          <output-dir compare="AST">ret-06</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-07">
+          <output-dir compare="AST">ret-07</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-08">
+          <output-dir compare="AST">ret-08</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-09">
+          <output-dir compare="AST">ret-09</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-10">
+          <output-dir compare="AST">ret-10</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-11">
+          <output-dir compare="AST">ret-11</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-12">
+          <output-dir compare="AST">ret-12</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-13">
+          <output-dir compare="AST">ret-13</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-14">
+          <output-dir compare="AST">ret-14</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-15">
+          <output-dir compare="AST">ret-15</output-dir>
+        </compilation-unit>
+      </test-case>
+    </test-group>
+    <test-group name="writers">
+      <test-case FilePath="writers">
+        <compilation-unit name="print_01">
+          <output-dir compare="AST">print_01</output-dir>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-16">
+          <output-dir compare="AST">ret-16</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-17">
+          <output-dir compare="AST">ret-17</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-18">
+          <output-dir compare="AST">ret-18</output-dir>
+        </compilation-unit>
+      </test-case>
+      <test-case FilePath="flwor">
+        <compilation-unit name="ret-19">
+          <output-dir compare="AST">ret-19</output-dir>
+        </compilation-unit>
+      </test-case>
+    </test-group>
+    -->
+    <test-group name="fuzzyjoin">
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-1_1">
+                <output-dir compare="AST">dblp-1_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-1_2.1.1">
+                <output-dir compare="AST">dblp-1_2.1.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-1_2.1">
+                <output-dir compare="AST">dblp-1_2.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-1_2">
+                <output-dir compare="AST">dblp-1_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2.1_5.3.1">
+                <output-dir compare="AST">dblp-2.1_5.3.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_1">
+                <output-dir compare="AST">dblp-2_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_2">
+                <output-dir compare="AST">dblp-2_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2.2">
+                <output-dir compare="AST">dblp-2.2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_3">
+                <output-dir compare="AST">dblp-2_3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_4">
+                <output-dir compare="AST">dblp-2_4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_5.1">
+                <output-dir compare="AST">dblp-2_5.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_5.2">
+                <output-dir compare="AST">dblp-2_5.2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_5.3.1">
+                <output-dir compare="AST">dblp-2_5.3.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_5.3">
+                <output-dir compare="AST">dblp-2_5.3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_5">
+                <output-dir compare="AST">dblp-2_5</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-3_1.1">
+                <output-dir compare="AST">dblp-3_1.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-3_1.2">
+                <output-dir compare="AST">dblp-3_1.2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-3_1">
+                <output-dir compare="AST">dblp-3_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-aqlplus_1">
+                <output-dir compare="AST">dblp-aqlplus_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-aqlplus_2">
+                <output-dir compare="AST">dblp-aqlplus_2</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_1">
+                <output-dir compare="AST">dblp-csx-2_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_2">
+                <output-dir compare="AST">dblp-csx-2_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_3">
+                <output-dir compare="AST">dblp-csx-2_3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_4">
+                <output-dir compare="AST">dblp-csx-2_4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_5.1">
+                <output-dir compare="AST">dblp-csx-2_5.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_5.2">
+                <output-dir compare="AST">dblp-csx-2_5.2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_5.3.1">
+                <output-dir compare="AST">dblp-csx-2_5.3.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_5.3">
+                <output-dir compare="AST">dblp-csx-2_5.3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_5">
+                <output-dir compare="AST">dblp-csx-2_5</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_1">
+                <output-dir compare="AST">dblp-csx-3_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_2">
+                <output-dir compare="AST">dblp-csx-3_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_3">
+                <output-dir compare="AST">dblp-csx-3_3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_4">
+                <output-dir compare="AST">dblp-csx-3_4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.1">
+                <output-dir compare="AST">dblp-csx-3_5.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.2">
+                <output-dir compare="AST">dblp-csx-3_5.2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.3.1">
+                <output-dir compare="AST">dblp-csx-3_5.3.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.3">
+                <output-dir compare="AST">dblp-csx-3_5.3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.4.1">
+                <output-dir compare="AST">dblp-csx-3_5.4.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.4">
+                <output-dir compare="AST">dblp-csx-3_5.4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5">
+                <output-dir compare="AST">dblp-csx-3_5</output-dir>
+            </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-aqlplus_1">
+                <output-dir compare="AST">dblp-csx-aqlplus_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-aqlplus_2">
+                <output-dir compare="AST">dblp-csx-aqlplus_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-aqlplus_3">
+                <output-dir compare="AST">dblp-csx-aqlplus_3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-dblp-aqlplus_1">
+                <output-dir compare="AST">dblp-csx-dblp-aqlplus_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-lookup_1">
+                <output-dir compare="AST">dblp-lookup_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="fuzzyjoin">
+          <compilation-unit name="dblp-splits-3_1">
+            <output-dir compare="AST">dblp-splits-3_1</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="opentype">
+                <output-dir compare="AST">opentype</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <!-- <test-group name="graph">
+        <test-case FilePath="graph">
+            <compilation-unit name="pregel-q01">
+                <output-dir compare="AST">pregel-q01</output-dir>
+            </compilation-unit>
+            <test-case FilePath="graph">
+            <compilation-unit name="pregel-q02">
+                <output-dir compare="AST">pregel-q02</output-dir>
+            </compilation-unit>
+            <test-case FilePath="graph">
+            <compilation-unit name="pregel-q03">
+                <output-dir compare="AST">pregel-q03</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group> -->
+    <test-group name="index-join">
+        <test-case FilePath="index-join">
+            <compilation-unit name="btree-index-nested-loop-join">
+                <output-dir compare="AST">btree-index-nested-loop-join</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-join">
+            <compilation-unit name="btree-primary-equi-join">
+                <output-dir compare="AST">btree-primary-equi-join</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-join">
+            <compilation-unit name="btree-secondary-equi-join_01">
+                <output-dir compare="AST">btree-secondary-equi-join_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-join">
+            <compilation-unit name="btree-secondary-equi-join_02">
+                <output-dir compare="AST">btree-secondary-equi-join_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-join">
+            <compilation-unit name="btree-secondary-equi-join_03">
+                <output-dir compare="AST">btree-secondary-equi-join_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-join">
+            <compilation-unit name="rtree-spatial-intersect-point">
+                <output-dir compare="AST">rtree-spatial-intersect-point</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="index-selection">
+        <test-case FilePath="index-selection">
+            <compilation-unit name="btree-index-composite-key">
+                <output-dir compare="AST">btree-index-composite-key</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="btree-index-composite-key-mixed-intervals">
+                <output-dir compare="AST">btree-index-composite-key-mixed-intervals</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="btree-index-rewrite-multiple">
+                <output-dir compare="AST">btree-index-rewrite-multiple</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="cust-index-age-nullable">
+                <output-dir compare="AST">cust-index-age-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-ngram-contains">
+                <output-dir compare="AST">inverted-index-ngram-contains</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-ngram-edit-distance-panic">
+                <output-dir compare="AST">inverted-index-ngram-edit-distance-panic</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-ngram-edit-distance">
+                <output-dir compare="AST">inverted-index-ngram-edit-distance</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-ngram-edit-distance-word-tokens">
+                <output-dir compare="AST">inverted-index-ngram-edit-distance-word-tokens</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-ngram-jaccard">
+                <output-dir compare="AST">inverted-index-ngram-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-ngram-edit-distance-contains">
+                <output-dir compare="AST">inverted-index-ngram-edit-distance-contains</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-olist-edit-distance-panic">
+                <output-dir compare="AST">inverted-index-olist-edit-distance-panic</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-olist-edit-distance">
+                <output-dir compare="AST">inverted-index-olist-edit-distance</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-olist-jaccard">
+                <output-dir compare="AST">inverted-index-olist-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-ulist-jaccard">
+                <output-dir compare="AST">inverted-index-ulist-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-word-contains">
+                <output-dir compare="AST">inverted-index-word-contains</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="inverted-index-word-jaccard">
+                <output-dir compare="AST">inverted-index-word-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="orders-index-custkey-conjunctive-open">
+                <output-dir compare="AST">orders-index-custkey-conjunctive-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="orders-index-custkey-conjunctive">
+                <output-dir compare="AST">orders-index-custkey-conjunctive</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="orders-index-custkey-open">
+                <output-dir compare="AST">orders-index-custkey-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="orders-index-custkey">
+                <output-dir compare="AST">orders-index-custkey</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="range-search-open">
+                <output-dir compare="AST">range-search-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="range-search">
+                <output-dir compare="AST">range-search</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="rtree-secondary-index-nullable">
+                <output-dir compare="AST">rtree-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="rtree-secondary-index-open">
+                <output-dir compare="AST">rtree-secondary-index-open</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="rtree-secondary-index">
+                <output-dir compare="AST">rtree-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="rtree-secondary-index-circular-query">
+                <output-dir compare="AST">rtree-secondary-index-circular-query</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="disjunctive-predicate-1">
+                <output-dir compare="AST">disjunctive-predicate-1</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="inverted-index-join">
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="ngram-edit-distance">
+                <output-dir compare="AST">ngram-edit-distance</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="ngram-edit-distance-inline">
+                <output-dir compare="AST">ngram-edit-distance-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="ngram-jaccard">
+                <output-dir compare="AST">ngram-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="ngram-jaccard-inline">
+                <output-dir compare="AST">ngram-jaccard-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="olist-edit-distance">
+                <output-dir compare="AST">olist-edit-distance</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="olist-edit-distance-inline">
+                <output-dir compare="AST">olist-edit-distance-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="olist-jaccard">
+                <output-dir compare="AST">olist-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="olist-jaccard-inline">
+                <output-dir compare="AST">olist-jaccard-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="ulist-jaccard">
+                <output-dir compare="AST">ulist-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="ulist-jaccard-inline">
+                <output-dir compare="AST">ulist-jaccard-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="word-jaccard">
+                <output-dir compare="AST">word-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="word-jaccard-inline">
+                <output-dir compare="AST">word-jaccard-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="inverted-index-join-noeqjoin">
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="ngram-edit-distance">
+                <output-dir compare="AST">ngram-edit-distance</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="ngram-edit-distance-inline">
+                <output-dir compare="AST">ngram-edit-distance-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="ngram-jaccard">
+                <output-dir compare="AST">ngram-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="ngram-jaccard-inline">
+                <output-dir compare="AST">ngram-jaccard-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="olist-edit-distance">
+                <output-dir compare="AST">olist-edit-distance</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="olist-edit-distance-inline">
+                <output-dir compare="AST">olist-edit-distance-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="olist-jaccard">
+                <output-dir compare="AST">olist-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="olist-jaccard-inline">
+                <output-dir compare="AST">olist-jaccard-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="ulist-jaccard">
+                <output-dir compare="AST">ulist-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="ulist-jaccard-inline">
+                <output-dir compare="AST">ulist-jaccard-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="word-jaccard">
+                <output-dir compare="AST">word-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="inverted-index-join-noeqjoin">
+            <compilation-unit name="word-jaccard-inline">
+                <output-dir compare="AST">word-jaccard-inline</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="list">
+        <test-case FilePath="list">
+            <compilation-unit name="any-collection-member_01">
+                <output-dir compare="AST">any-collection-member_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="get-item_01">
+                <output-dir compare="AST">get-item_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="get-item_02">
+                <output-dir compare="AST">get-item_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="len_01">
+                <output-dir compare="AST">len_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="len_null_01">
+                <output-dir compare="AST">len_null_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="listify_01">
+                <output-dir compare="AST">listify_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="listify_02">
+                <output-dir compare="AST">listify_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="listify_03">
+                <output-dir compare="AST">listify_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="ordered-list-constructor_01">
+                <output-dir compare="AST">ordered-list-constructor_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="ordered-list-constructor_02">
+                <output-dir compare="AST">ordered-list-constructor_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="ordered-list-constructor_03">
+                <output-dir compare="AST">ordered-list-constructor_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="scan-collection_01">
+                <output-dir compare="AST">scan-collection_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--         <test-case FilePath="list">
+                    <compilation-unit name="union_01">
+                        <output-dir compare="AST">union_01</output-dir>
+                    </compilation-unit>
+                </test-case>
+                <test-case FilePath="list">
+                    <compilation-unit name="union_02">
+                        <output-dir compare="AST">union_02</output-dir>
+                    </compilation-unit>
+                </test-case>
+         -->
+        <test-case FilePath="list">
+            <compilation-unit name="unordered-list-constructor_01">
+                <output-dir compare="AST">unordered-list-constructor_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="unordered-list-constructor_02">
+                <output-dir compare="AST">unordered-list-constructor_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="unordered-list-constructor_03">
+                <output-dir compare="AST">unordered-list-constructor_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="list">
+            <compilation-unit name="query-issue428">
+                <output-dir compare="AST">query-issue428</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="misc">
+        <test-case FilePath="misc">
+            <compilation-unit name="partition-by-nonexistent-field">
+                <output-dir compare="AST">partition-by-nonexistent-field</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="misc">
+            <compilation-unit name="float_01">
+                <output-dir compare="AST">float_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="misc">
+            <compilation-unit name="flushtest">
+                <output-dir compare="AST">flushtest</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="misc">
+            <compilation-unit name="groupby-orderby-count">
+                <output-dir compare="AST">groupby-orderby-count</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="misc">
+            <compilation-unit name="ifthenelse_01">
+                <output-dir compare="AST">ifthenelse_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="misc">
+            <compilation-unit name="is-null_01">
+                <output-dir compare="AST">is-null_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="misc">
+            <compilation-unit name="nested-loop-join_01">
+                <output-dir compare="AST">nested-loop-join_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="misc">
+            <compilation-unit name="query_issue267">
+                <output-dir compare="AST">query_issue267</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="misc">
+            <compilation-unit name="stable_sort">
+                <output-dir compare="AST">stable_sort</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+         <test-case FilePath="misc">
+           <compilation-unit name="range_01">
+             <output-dir compare="AST">range_01</output-dir>
+           </compilation-unit>
+         </test-case>
+        -->
+        <!--
+          <test-case FilePath="misc">
+            <compilation-unit name="tid_01">
+              <output-dir compare="AST">tid_01</output-dir>
+            </compilation-unit>
+          </test-case>
+         -->
+        <test-case FilePath="misc">
+            <compilation-unit name="year_01">
+                <output-dir compare="AST">year_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="misc">
+            <compilation-unit name="string_eq_01">
+                <output-dir compare="AST">string_eq_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="misc">
+            <compilation-unit name="prefix-search">
+                <output-dir compare="AST">prefix-search</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="open-index-enforced">
+        <test-group FilePath="open-index-enforced/error-checking">
+            <test-case FilePath="open-index-enforced/error-checking">
+                <compilation-unit name="enforced-field-name-collision">
+                    <output-dir compare="AST">enforced-field-name-collision</output-dir>
+                    <expected-error>org.apache.hyracks.algebricks.common.exceptions.AlgebricksException
+                    </expected-error>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/error-checking">
+                <compilation-unit name="enforced-field-type-collision">
+                    <output-dir compare="AST">enforced-field-type-collision</output-dir>
+                    <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/error-checking">
+                <compilation-unit name="missing-enforce-statement">
+                    <output-dir compare="AST">missing-enforce-statement</output-dir>
+                    <expected-error>org.apache.hyracks.algebricks.common.exceptions.AlgebricksException
+                    </expected-error>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/error-checking">
+                <compilation-unit name="index-on-closed-type">
+                    <output-dir compare="AST">index-on-closed-type</output-dir>
+                    <expected-error>org.apache.hyracks.algebricks.common.exceptions.AlgebricksException
+                    </expected-error>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+        <test-group FilePath="open-index-enforced/index-join">
+            <test-case FilePath="open-index-enforced/index-join">
+                <compilation-unit name="btree-secondary-equi-join">
+                    <output-dir compare="AST">btree-secondary-equi-join</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-join">
+                <compilation-unit name="ngram-edit-distance">
+                    <output-dir compare="AST">ngram-edit-distance</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-join">
+                <compilation-unit name="ngram-edit-distance-inline">
+                    <output-dir compare="AST">ngram-edit-distance-inline</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-join">
+                <compilation-unit name="ngram-jaccard">
+                    <output-dir compare="AST">ngram-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-join">
+                <compilation-unit name="ngram-jaccard-inline">
+                    <output-dir compare="AST">ngram-jaccard-inline</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-join">
+                <compilation-unit name="rtree-spatial-intersect-point">
+                    <output-dir compare="AST">rtree-spatial-intersect-point</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-join">
+                <compilation-unit name="word-jaccard">
+                    <output-dir compare="AST">word-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-join">
+                <compilation-unit name="word-jaccard-inline">
+                    <output-dir compare="AST">word-jaccard-inline</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+        <test-group FilePath="open-index-enforced/index-leftouterjoin">
+            <test-case FilePath="open-index-enforced/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-btree-sidx1">
+                    <output-dir compare="AST">probe-pidx-with-join-btree-sidx1</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-btree-sidx2">
+                    <output-dir compare="AST">probe-pidx-with-join-btree-sidx2</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-invidx-sidx1">
+                    <output-dir compare="AST">probe-pidx-with-join-invidx-sidx1</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-invidx-sidx2">
+                    <output-dir compare="AST">probe-pidx-with-join-invidx-sidx2</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-rtree-sidx1">
+                    <output-dir compare="AST">probe-pidx-with-join-rtree-sidx1</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-rtree-sidx2">
+                    <output-dir compare="AST">probe-pidx-with-join-rtree-sidx2</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+        <test-group FilePath="open-index-enforced/index-selection">
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="btree-index-composite-key">
+                    <output-dir compare="AST">btree-index-composite-key</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="btree-index-composite-key-mixed-intervals">
+                    <output-dir compare="AST">btree-index-composite-key-mixed-intervals</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="btree-index-rewrite-multiple">
+                    <output-dir compare="AST">btree-index-rewrite-multiple</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="inverted-index-ngram-contains">
+                    <output-dir compare="AST">inverted-index-ngram-contains</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance-contains">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance-contains</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance-panic">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance-panic</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance-word-tokens">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance-word-tokens</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="inverted-index-ngram-jaccard">
+                    <output-dir compare="AST">inverted-index-ngram-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="inverted-index-word-contains">
+                    <output-dir compare="AST">inverted-index-word-contains</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="inverted-index-word-jaccard">
+                    <output-dir compare="AST">inverted-index-word-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="orders-index-custkey">
+                    <output-dir compare="AST">orders-index-custkey</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="orders-index-custkey-conjunctive">
+                    <output-dir compare="AST">orders-index-custkey-conjunctive</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="range-search">
+                    <output-dir compare="AST">range-search</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/index-selection">
+                <compilation-unit name="rtree-secondary-index">
+                    <output-dir compare="AST">rtree-secondary-index</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+        <test-group name="open-index-enforced/external-indexing">
+            <test-case FilePath="open-index-enforced/external-indexing">
+                <compilation-unit name="adm-format">
+                    <output-dir compare="AST">adm-format</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/external-indexing">
+                <compilation-unit name="rtree-index">
+                    <output-dir compare="AST">rtree-index</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/external-indexing">
+                <compilation-unit name="leftouterjoin">
+                    <output-dir compare="AST">leftouterjoin</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="open-index-enforced/external-indexing">
+                <compilation-unit name="leftouterjoin-rtree">
+                    <output-dir compare="AST">leftouterjoin-rtree</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+    </test-group>
+    <test-group name="nested-open-index">
+        <test-group FilePath="nested-open-index/index-join">
+            <test-case FilePath="nested-open-index/index-join">
+                <compilation-unit name="btree-secondary-equi-join">
+                    <output-dir compare="AST">btree-secondary-equi-join</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-join">
+                <compilation-unit name="ngram-edit-distance">
+                    <output-dir compare="AST">ngram-edit-distance</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-join">
+                <compilation-unit name="ngram-edit-distance-inline">
+                    <output-dir compare="AST">ngram-edit-distance-inline</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-join">
+                <compilation-unit name="ngram-jaccard">
+                    <output-dir compare="AST">ngram-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-join">
+                <compilation-unit name="ngram-jaccard-inline">
+                    <output-dir compare="AST">ngram-jaccard-inline</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-join">
+                <compilation-unit name="rtree-spatial-intersect-point">
+                    <output-dir compare="AST">rtree-spatial-intersect-point</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-join">
+                <compilation-unit name="word-jaccard">
+                    <output-dir compare="AST">word-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-join">
+                <compilation-unit name="word-jaccard-inline">
+                    <output-dir compare="AST">word-jaccard-inline</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+        <test-group FilePath="nested-open-index/index-leftouterjoin">
+            <test-case FilePath="nested-open-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-btree-sidx1">
+                    <output-dir compare="AST">probe-pidx-with-join-btree-sidx1</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-btree-sidx2">
+                    <output-dir compare="AST">probe-pidx-with-join-btree-sidx2</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-invidx-sidx1">
+                    <output-dir compare="AST">probe-pidx-with-join-invidx-sidx1</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-invidx-sidx2">
+                    <output-dir compare="AST">probe-pidx-with-join-invidx-sidx2</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-rtree-sidx1">
+                    <output-dir compare="AST">probe-pidx-with-join-rtree-sidx1</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-rtree-sidx2">
+                    <output-dir compare="AST">probe-pidx-with-join-rtree-sidx2</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+        <test-group FilePath="nested-open-index/index-selection">
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="btree-index-composite-key">
+                    <output-dir compare="AST">btree-index-composite-key</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="btree-index-composite-key-mixed-intervals">
+                    <output-dir compare="AST">btree-index-composite-key-mixed-intervals</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="btree-index-rewrite-multiple">
+                    <output-dir compare="AST">btree-index-rewrite-multiple</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-contains">
+                    <output-dir compare="AST">inverted-index-ngram-contains</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance-contains">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance-contains</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance-panic">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance-panic</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance-work-tokens">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance-word-tokens</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-jaccard">
+                    <output-dir compare="AST">inverted-index-ngram-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="inverted-index-word-contains">
+                    <output-dir compare="AST">inverted-index-word-contains</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="inverted-index-word-jaccard">
+                    <output-dir compare="AST">inverted-index-word-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="orders-index-custkey">
+                    <output-dir compare="AST">orders-index-custkey</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="orders-index-custkey-conjunctive">
+                    <output-dir compare="AST">orders-index-custkey-conjunctive</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="range-search">
+                    <output-dir compare="AST">range-search</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/index-selection">
+                <compilation-unit name="rtree-secondary-index">
+                    <output-dir compare="AST">rtree-secondary-index</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+        <test-group name="nested-open-index/external-indexing">
+            <test-case FilePath="nested-open-index/external-indexing">
+                <compilation-unit name="adm-format">
+                    <output-dir compare="AST">adm-format</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/external-indexing">
+                <compilation-unit name="rtree-index">
+                    <output-dir compare="AST">rtree-index</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/external-indexing">
+                <compilation-unit name="leftouterjoin">
+                    <output-dir compare="AST">leftouterjoin</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/external-indexing">
+                <compilation-unit name="leftouterjoin-rtree">
+                    <output-dir compare="AST">leftouterjoin-rtree</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+        <test-group name="nested-open-index/highly-open-highly-nested">
+            <test-case FilePath="nested-open-index/highly-open-highly-nested">
+                <compilation-unit name="bottom-closed-top-closed">
+                    <output-dir compare="AST">bottom-closed-top-closed</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/highly-open-highly-nested">
+                <compilation-unit name="bottom-closed-top-open">
+                    <output-dir compare="AST">bottom-closed-top-open</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/highly-open-highly-nested">
+                <compilation-unit name="bottom-open-top-closed">
+                    <output-dir compare="AST">bottom-open-top-closed</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-open-index/highly-open-highly-nested">
+                <compilation-unit name="bottom-open-top-open">
+                    <output-dir compare="AST">bottom-open-top-open</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+    </test-group>
+    <test-group name="nested-index">
+        <test-group FilePath="nested-index/index-join">
+            <test-case FilePath="nested-index/index-join">
+                <compilation-unit name="btree-primary-equi-join">
+                    <output-dir compare="AST">btree-primary-equi-join</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-join">
+                <compilation-unit name="btree-secondary-equi-join">
+                    <output-dir compare="AST">btree-secondary-equi-join</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-join">
+                <compilation-unit name="ngram-edit-distance">
+                    <output-dir compare="AST">ngram-edit-distance</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-join">
+                <compilation-unit name="ngram-edit-distance-inline">
+                    <output-dir compare="AST">ngram-edit-distance-inline</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-join">
+                <compilation-unit name="ngram-jaccard">
+                    <output-dir compare="AST">ngram-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-join">
+                <compilation-unit name="ngram-jaccard-inline">
+                    <output-dir compare="AST">ngram-jaccard-inline</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-join">
+                <compilation-unit name="rtree-spatial-intersect-point">
+                    <output-dir compare="AST">rtree-spatial-intersect-point</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-join">
+                <compilation-unit name="word-jaccard">
+                    <output-dir compare="AST">word-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-join">
+                <compilation-unit name="word-jaccard-inline">
+                    <output-dir compare="AST">word-jaccard-inline</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+        <test-group FilePath="nested-index/index-leftouterjoin">
+            <test-case FilePath="nested-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-btree-sidx1">
+                    <output-dir compare="AST">probe-pidx-with-join-btree-sidx1</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-btree-sidx2">
+                    <output-dir compare="AST">probe-pidx-with-join-btree-sidx2</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-invidx-sidx1">
+                    <output-dir compare="AST">probe-pidx-with-join-invidx-sidx1</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-invidx-sidx2">
+                    <output-dir compare="AST">probe-pidx-with-join-invidx-sidx2</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-rtree-sidx1">
+                    <output-dir compare="AST">probe-pidx-with-join-rtree-sidx1</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-leftouterjoin">
+                <compilation-unit name="probe-pidx-with-join-rtree-sidx2">
+                    <output-dir compare="AST">probe-pidx-with-join-rtree-sidx2</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+        <test-group FilePath="nested-index/index-selection">
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="btree-index-composite-key">
+                    <output-dir compare="AST">btree-index-composite-key</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="btree-index-composite-key-mixed-intervals">
+                    <output-dir compare="AST">btree-index-composite-key-mixed-intervals</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="btree-index-rewrite-multiple">
+                    <output-dir compare="AST">btree-index-rewrite-multiple</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="cust-index-age-nullable">
+                    <output-dir compare="AST">cust-index-age-nullable</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-contains">
+                    <output-dir compare="AST">inverted-index-ngram-contains</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance-contains">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance-contains</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance-panic">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance-panic</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-edit-distance-word-tokens">
+                    <output-dir compare="AST">inverted-index-ngram-edit-distance-word-tokens</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-ngram-jaccard">
+                    <output-dir compare="AST">inverted-index-ngram-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-olist-edit-distance">
+                    <output-dir compare="AST">inverted-index-olist-edit-distance</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-olist-edit-distance-panic">
+                    <output-dir compare="AST">inverted-index-olist-edit-distance-panic</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-olist-jaccard">
+                    <output-dir compare="AST">inverted-index-olist-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-ulist-jaccard">
+                    <output-dir compare="AST">inverted-index-ulist-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-word-contains">
+                    <output-dir compare="AST">inverted-index-word-contains</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="inverted-index-word-jaccard">
+                    <output-dir compare="AST">inverted-index-word-jaccard</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="orders-index-custkey">
+                    <output-dir compare="AST">orders-index-custkey</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="orders-index-custkey-conjunctive">
+                    <output-dir compare="AST">orders-index-custkey-conjunctive</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="orders-index-custkey-conjunctive-open">
+                    <output-dir compare="AST">orders-index-custkey-conjunctive-open</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="orders-index-custkey-open">
+                    <output-dir compare="AST">orders-index-custkey-open</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="range-search">
+                    <output-dir compare="AST">range-search</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="range-search-open">
+                    <output-dir compare="AST">range-search-open</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="rtree-secondary-index">
+                    <output-dir compare="AST">rtree-secondary-index</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="rtree-secondary-index-nullable">
+                    <output-dir compare="AST">rtree-secondary-index-nullable</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/index-selection">
+                <compilation-unit name="rtree-secondary-index-open">
+                    <output-dir compare="AST">rtree-secondary-index-open</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+        <test-group name="nested-index/external-indexing">
+            <test-case FilePath="nested-index/external-indexing">
+                <compilation-unit name="adm-format">
+                    <output-dir compare="AST">adm-format</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/external-indexing">
+                <compilation-unit name="rtree-index">
+                    <output-dir compare="AST">rtree-index</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/external-indexing">
+                <compilation-unit name="leftouterjoin">
+                    <output-dir compare="AST">leftouterjoin</output-dir>
+                </compilation-unit>
+            </test-case>
+            <test-case FilePath="nested-index/external-indexing">
+                <compilation-unit name="leftouterjoin-rtree">
+                    <output-dir compare="AST">leftouterjoin-rtree</output-dir>
+                </compilation-unit>
+            </test-case>
+        </test-group>
+    </test-group>
+    <test-group name="nested-index-dml">
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="compact-dataset-and-its-indexes">
+                <output-dir compare="AST">compact-dataset-and-its-indexes</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="nested-uuid-load">
+                <output-dir compare="AST">nested-uuid-load</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="nested-uuid-insert">
+                <output-dir compare="AST">nested-uuid-insert</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="delete-from-loaded-dataset-with-index">
+                <output-dir compare="AST">delete-from-loaded-dataset-with-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="drop-index">
+                <output-dir compare="AST">drop-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="insert-into-empty-dataset-with-index">
+                <output-dir compare="AST">insert-into-empty-dataset-with-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="insert-into-loaded-dataset-with-index_01">
+                <output-dir compare="AST">insert-into-loaded-dataset-with-index_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="insert-into-loaded-dataset-with-index_02">
+                <output-dir compare="AST">insert-into-loaded-dataset-with-index_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="load-with-index">
+                <output-dir compare="AST">load-with-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="load-with-ngram-index">
+                <output-dir compare="AST">load-with-ngram-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="load-with-rtree-index">
+                <output-dir compare="AST">load-with-rtree-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="load-with-word-index">
+                <output-dir compare="AST">load-with-word-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-delete-btree-secondary-index-nullable">
+                <output-dir compare="AST">scan-delete-btree-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-delete-rtree-secondary-index-nullable">
+                <output-dir compare="AST">scan-delete-rtree-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-delete-rtree-secondary-index">
+                <output-dir compare="AST">scan-delete-rtree-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-insert-btree-secondary-index-nullable">
+                <output-dir compare="AST">scan-insert-btree-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-insert-rtree-secondary-index-nullable">
+                <output-dir compare="AST">scan-insert-rtree-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-insert-rtree-secondary-index">
+                <output-dir compare="AST">scan-insert-rtree-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-insert-inverted-index-ngram-secondary-index">
+                <output-dir compare="AST">scan-insert-inverted-index-ngram-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-insert-inverted-index-word-secondary-index">
+                <output-dir compare="AST">scan-insert-inverted-index-word-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-insert-inverted-index-ngram-secondary-index-nullable">
+                <output-dir compare="AST">scan-insert-inverted-index-ngram-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-insert-inverted-index-word-secondary-index-nullable">
+                <output-dir compare="AST">scan-insert-inverted-index-word-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-delete-inverted-index-ngram-secondary-index">
+                <output-dir compare="AST">scan-delete-inverted-index-ngram-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-delete-inverted-index-word-secondary-index">
+                <output-dir compare="AST">scan-delete-inverted-index-word-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-delete-inverted-index-ngram-secondary-index-nullable">
+                <output-dir compare="AST">scan-delete-inverted-index-ngram-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="nested-index-dml">
+            <compilation-unit name="scan-delete-inverted-index-word-secondary-index-nullable">
+                <output-dir compare="AST">scan-delete-inverted-index-word-secondary-index-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="nestrecords">
+        <test-case FilePath="nestrecords">
+            <compilation-unit name="nestrecord">
+                <output-dir compare="AST">nestrecord</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="numeric">
+        <test-case FilePath="numeric">
+            <compilation-unit name="caret0">
+                <output-dir compare="AST">caret0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="abs0">
+                <output-dir compare="AST">abs0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="abs1">
+                <output-dir compare="AST">abs1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="abs2">
+                <output-dir compare="AST">abs2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="abs3">
+                <output-dir compare="AST">abs3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="abs4">
+                <output-dir compare="AST">abs4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="add_double">
+                <output-dir compare="AST">add_double</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="add_float">
+                <output-dir compare="AST">add_float</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="add_int16">
+                <output-dir compare="AST">add_int16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="add_int32">
+                <output-dir compare="AST">add_int32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="add_int64">
+                <output-dir compare="AST">add_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="add_int8">
+                <output-dir compare="AST">add_int8</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="ceiling0">
+                <output-dir compare="AST">ceiling0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="ceiling1">
+                <output-dir compare="AST">ceiling1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="ceiling2">
+                <output-dir compare="AST">ceiling2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="ceiling3">
+                <output-dir compare="AST">ceiling3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="ceiling4">
+                <output-dir compare="AST">ceiling4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="divide_double">
+                <output-dir compare="AST">divide_double</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="divide_float">
+                <output-dir compare="AST">divide_float</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="divide_int16">
+                <output-dir compare="AST">divide_int16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="divide_int32">
+                <output-dir compare="AST">divide_int32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="divide_int64">
+                <output-dir compare="AST">divide_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="divide_int8">
+                <output-dir compare="AST">divide_int8</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="floor0">
+                <output-dir compare="AST">floor0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="floor1">
+                <output-dir compare="AST">floor1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="floor2">
+                <output-dir compare="AST">floor2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="floor3">
+                <output-dir compare="AST">floor3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="floor4">
+                <output-dir compare="AST">floor4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="multiply_double">
+                <output-dir compare="AST">multiply_double</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="multiply_float">
+                <output-dir compare="AST">multiply_float</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="multiply_int16">
+                <output-dir compare="AST">multiply_int16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="multiply_int32">
+                <output-dir compare="AST">multiply_int32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="multiply_int64">
+                <output-dir compare="AST">multiply_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="multiply_int8">
+                <output-dir compare="AST">multiply_int8</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round-half-to-even0">
+                <output-dir compare="AST">round-half-to-even0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round-half-to-even1">
+                <output-dir compare="AST">round-half-to-even1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round-half-to-even2">
+                <output-dir compare="AST">round-half-to-even2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round-half-to-even20">
+                <output-dir compare="AST">round-half-to-even20</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round-half-to-even21">
+                <output-dir compare="AST">round-half-to-even21</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round-half-to-even22">
+                <output-dir compare="AST">round-half-to-even22</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round-half-to-even23">
+                <output-dir compare="AST">round-half-to-even23</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round-half-to-even24">
+                <output-dir compare="AST">round-half-to-even24</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round-half-to-even3">
+                <output-dir compare="AST">round-half-to-even3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round-half-to-even4">
+                <output-dir compare="AST">round-half-to-even4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round-half-to-even5">
+                <output-dir compare="AST">round-half-to-even5</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round0">
+                <output-dir compare="AST">round0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round1">
+                <output-dir compare="AST">round1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round2">
+                <output-dir compare="AST">round2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round3">
+                <output-dir compare="AST">round3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="round4">
+                <output-dir compare="AST">round4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="subtract_double">
+                <output-dir compare="AST">subtract_double</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="subtract_float">
+                <output-dir compare="AST">subtract_float</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="subtract_int16">
+                <output-dir compare="AST">subtract_int16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="subtract_int32">
+                <output-dir compare="AST">subtract_int32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="subtract_int64">
+                <output-dir compare="AST">subtract_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="subtract_int8">
+                <output-dir compare="AST">subtract_int8</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="unary-minus_double_02">
+                <output-dir compare="AST">unary-minus_double_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="unary-minus_float_02">
+                <output-dir compare="AST">unary-minus_float_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="unary-minus_int_02">
+                <output-dir compare="AST">unary-minus_int_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="unary-minus_null">
+                <output-dir compare="AST">unary-minus_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="numeric">
+            <compilation-unit name="query-issue355">
+                <output-dir compare="AST">query-issue355</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="open-closed">
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="c2c-w-optional">
+            <output-dir compare="AST">c2c-w-optional</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="c2c-wo-optional">
+            <output-dir compare="AST">c2c-wo-optional</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="c2c">
+            <output-dir compare="AST">c2c</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="open-closed">
+            <compilation-unit name="heterog-list-ordered01">
+                <output-dir compare="AST">heterog-list-ordered01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="heterog-list01">
+                <output-dir compare="AST">heterog-list01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="heterog-list02">
+            <output-dir compare="AST">heterog-list02</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="heterog-list03">
+            <output-dir compare="AST">heterog-list03</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="open-closed">
+            <compilation-unit name="open-closed-01">
+                <output-dir compare="AST">open-closed-01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="open-closed-12">
+                <output-dir compare="AST">open-closed-12</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="open-closed-14">
+                <output-dir compare="AST">open-closed-14</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue134">
+                <output-dir compare="AST">query-issue134</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue55">
+                <output-dir compare="AST">query-issue55</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue55-1">
+                <output-dir compare="AST">query-issue55-1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue166">
+                <output-dir compare="AST">query-issue166</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue208">
+                <output-dir compare="AST">query-issue208</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue236">
+                <output-dir compare="AST">query-issue236</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="open-closed-15">
+            <output-dir compare="AST">open-closed-15</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="open-closed-16">
+            <output-dir compare="AST">open-closed-16</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="open-closed-17">
+            <output-dir compare="AST">open-closed-17</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="open-closed-19">
+            <output-dir compare="AST">open-closed-19</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="open-closed-20">
+            <output-dir compare="AST">open-closed-20</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="open-closed-21">
+            <output-dir compare="AST">open-closed-21</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="open-closed-22">
+            <output-dir compare="AST">open-closed-22</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="open-closed">
+            <compilation-unit name="open-closed-24">
+                <output-dir compare="AST">open-closed-24</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="open-closed-25">
+                <output-dir compare="AST">open-closed-25</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="open-closed-26">
+                <output-dir compare="AST">open-closed-26</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="open-closed-28">
+            <output-dir compare="AST">open-closed-28</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="open-closed">
+            <compilation-unit name="open-closed-29">
+                <output-dir compare="AST">open-closed-29</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="open-closed">
+          <compilation-unit name="open-closed-30">
+            <output-dir compare="AST">open-closed-30</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="open-closed">
+            <compilation-unit name="open-closed-31">
+                <output-dir compare="AST">open-closed-31</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="open-closed-32">
+                <output-dir compare="AST">open-closed-32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="open-closed-33">
+                <output-dir compare="AST">open-closed-33</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-proposal02">
+                <output-dir compare="AST">query-proposal02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-proposal">
+                <output-dir compare="AST">query-proposal</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue350">
+                <output-dir compare="AST">query-issue350</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue350-2">
+                <output-dir compare="AST">query-issue350-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue343">
+                <output-dir compare="AST">query-issue343</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue343-2">
+                <output-dir compare="AST">query-issue343-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue196">
+                <output-dir compare="AST">query-issue196</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue377">
+                <output-dir compare="AST">query-issue377</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue410">
+                <output-dir compare="AST">query-issue410</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue453">
+                <output-dir compare="AST">query-issue453</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue453-2">
+                <output-dir compare="AST">query-issue453-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue456">
+                <output-dir compare="AST">query-issue456</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue465">
+                <output-dir compare="AST">query-issue465</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue258">
+                <output-dir compare="AST">query-issue258</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue423">
+                <output-dir compare="AST">query-issue423</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue423-2">
+                <output-dir compare="AST">query-issue423-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue442">
+                <output-dir compare="AST">query-issue442</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue487">
+                <output-dir compare="AST">query-issue487</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue592">
+                <output-dir compare="AST">query-issue592</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="open-closed">
+            <compilation-unit name="query-issue625">
+                <output-dir compare="AST">query-issue625</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="quantifiers">
+        <test-case FilePath="quantifiers">
+            <compilation-unit name="everysat_01">
+                <output-dir compare="AST">everysat_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="quantifiers">
+          <compilation-unit name="everysat_02">
+            <output-dir compare="AST">everysat_02</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="quantifiers">
+          <compilation-unit name="everysat_03">
+            <output-dir compare="AST">everysat_03</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="quantifiers">
+            <compilation-unit name="everysat_04">
+                <output-dir compare="AST">everysat_04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="quantifiers">
+            <compilation-unit name="somesat_01">
+                <output-dir compare="AST">somesat_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="quantifiers">
+            <compilation-unit name="somesat_02">
+                <output-dir compare="AST">somesat_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="quantifiers">
+          <compilation-unit name="somesat_03">
+            <output-dir compare="AST">somesat_03</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="quantifiers">
+          <compilation-unit name="somesat_04">
+            <output-dir compare="AST">somesat_04</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--
+        <test-case FilePath="quantifiers">
+          <compilation-unit name="somesat_05">
+            <output-dir compare="AST">somesat_05</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="quantifiers">
+            <compilation-unit name="somesat_06">
+                <output-dir compare="AST">somesat_06</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="range-hints">
+        <test-case FilePath="range-hints">
+            <compilation-unit name="order-by">
+                <output-dir compare="AST">order-by</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="range-hints">
+            <compilation-unit name="order-by-exception_01">
+                <output-dir compare="AST">order-by</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="range-hints">
+            <compilation-unit name="order-by-exception_02">
+                <output-dir compare="AST">order-by</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="records">
+        &RecordsQueries;
+    </test-group>
+    <test-group name="scan">
+        <test-case FilePath="scan">
+            <compilation-unit name="10">
+                <output-dir compare="AST">10</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="scan">
+            <compilation-unit name="20">
+                <output-dir compare="AST">20</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="scan">
+            <compilation-unit name="issue238_query_1">
+                <output-dir compare="AST">issue238_query_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="scan">
+            <compilation-unit name="issue238_query_2">
+                <output-dir compare="AST">issue238_query_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="scan">
+            <compilation-unit name="invalid-scan-syntax">
+                <output-dir compare="AST">invalid-scan-syntax</output-dir>
+                <expected-error>SyntaxError</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="scan">
+            <compilation-unit name="30">
+                <output-dir compare="AST">30</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="scan">
+            <compilation-unit name="alltypes_01">
+                <output-dir compare="AST">alltypes_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="scan">
+            <compilation-unit name="alltypes_01">
+                <output-dir compare="AST">alltypes_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="scan">
+            <compilation-unit name="alltypes_02">
+                <output-dir compare="AST">alltypes_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="scan">
+            <compilation-unit name="numeric_types_01">
+                <output-dir compare="AST">numeric_types_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="scan">
+            <compilation-unit name="spatial_types_01">
+                <output-dir compare="AST">spatial_types_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="scan">
+          <compilation-unit name="spatial_types_02">
+            <output-dir compare="AST">spatial_types_02</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="scan">
+            <compilation-unit name="temp_types_01">
+                <output-dir compare="AST">temp_types_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="scan">
+          <compilation-unit name="temp_types_02">
+            <output-dir compare="AST">temp_types_02</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+    </test-group>
+    <test-group name="semistructured">
+        <test-case FilePath="semistructured">
+            <compilation-unit name="count-nullable">
+                <output-dir compare="AST">count-nullable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="semistructured">
+            <compilation-unit name="cust-filter">
+                <output-dir compare="AST">cust-filter</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="semistructured">
+            <compilation-unit name="has-param1">
+                <output-dir compare="AST">has-param1</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="similarity">
+        <test-case FilePath="similarity">
+            <compilation-unit name="edit-distance-check_ints">
+                <output-dir compare="AST">edit-distance-check_ints</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="edit-distance-check_strings">
+                <output-dir compare="AST">edit-distance-check_strings</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="edit-distance-check_unicode">
+                <output-dir compare="AST">edit-distance-check_unicode</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="edit-distance-list-is-filterable">
+                <output-dir compare="AST">edit-distance-list-is-filterable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="edit-distance-string-is-filterable">
+                <output-dir compare="AST">edit-distance-string-is-filterable</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="edit-distance_ints">
+                <output-dir compare="AST">edit-distance_ints</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="edit-distance_strings">
+                <output-dir compare="AST">edit-distance_strings</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="fuzzyeq-edit-distance">
+                <output-dir compare="AST">fuzzyeq-edit-distance</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="fuzzyeq-similarity-jaccard">
+                <output-dir compare="AST">fuzzyeq-similarity-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="prefix-len-jaccard">
+                <output-dir compare="AST">prefix-len-jaccard</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-check_ints">
+                <output-dir compare="AST">similarity-jaccard-check_ints</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-check_query">
+                <output-dir compare="AST">similarity-jaccard-check_query</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-check_strings">
+                <output-dir compare="AST">similarity-jaccard-check_strings</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-prefix-check">
+                <output-dir compare="AST">similarity-jaccard-prefix-check</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-prefix">
+                <output-dir compare="AST">similarity-jaccard-prefix</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-sorted-check_ints">
+                <output-dir compare="AST">similarity-jaccard-sorted-check_ints</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-sorted-check_query">
+                <output-dir compare="AST">similarity-jaccard-sorted-check_query</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-sorted-check_strings">
+                <output-dir compare="AST">similarity-jaccard-sorted-check_strings</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-sorted_ints">
+                <output-dir compare="AST">similarity-jaccard-sorted_ints</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-sorted_query">
+                <output-dir compare="AST">similarity-jaccard-sorted_query</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-sorted_strings">
+                <output-dir compare="AST">similarity-jaccard-sorted_strings</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard_ints">
+                <output-dir compare="AST">similarity-jaccard_ints</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard_query">
+                <output-dir compare="AST">similarity-jaccard_query</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard_strings">
+                <output-dir compare="AST">similarity-jaccard_strings</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="similarity">
+            <compilation-unit name="similarity-jaccard-check_strings_issue628">
+                <output-dir compare="AST">similarity-jaccard-check_strings_issue628</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="spatial">
+        <test-case FilePath="spatial">
+            <compilation-unit name="cell-aggregation-with-filtering">
+                <output-dir compare="AST">cell-aggregation-with-filtering</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="cell-aggregation">
+                <output-dir compare="AST">cell-aggregation</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="circle_accessor">
+                <output-dir compare="AST">circle_accessor</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="circle-intersect-circle">
+                <output-dir compare="AST">circle-intersect-circle</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="create-rtree-index">
+                <output-dir compare="AST">create-rtree-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="distance-between-points">
+                <output-dir compare="AST">distance-between-points</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="line_accessor">
+                <output-dir compare="AST">line_accessor</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="line-intersect-circle">
+                <output-dir compare="AST">line-intersect-circle</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="line-intersect-line">
+                <output-dir compare="AST">line-intersect-line</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="line-intersect-polygon">
+                <output-dir compare="AST">line-intersect-polygon</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="line-intersect-rectangle">
+                <output-dir compare="AST">line-intersect-rectangle</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="point_accessor">
+                <output-dir compare="AST">point_accessor</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="point-equals-point">
+                <output-dir compare="AST">point-equals-point</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="point-in-circle">
+                <output-dir compare="AST">point-in-circle</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="point-in-polygon">
+                <output-dir compare="AST">point-in-polygon</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="point-in-rectangle">
+                <output-dir compare="AST">point-in-rectangle</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="point-on-line">
+                <output-dir compare="AST">point-on-line</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="polygon_accessor">
+                <output-dir compare="AST">polygon_accessor</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="polygon-intersect-circle">
+                <output-dir compare="AST">polygon-intersect-circle</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="polygon-intersect-polygon">
+                <output-dir compare="AST">polygon-intersect-polygon</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="polygon-intersect-rectangle">
+                <output-dir compare="AST">polygon-intersect-rectangle</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="rectangle_accessor">
+                <output-dir compare="AST">rectangle_accessor</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="rectangle-intersect-circle">
+                <output-dir compare="AST">rectangle-intersect-circle</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="rectangle-intersect-rectangle">
+                <output-dir compare="AST">rectangle-intersect-rectangle</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="spatial">
+            <compilation-unit name="spatial-area">
+                <output-dir compare="AST">spatial-area</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="string">
+        <test-case FilePath="string">
+            <compilation-unit name="codepoint-to-string1">
+                <output-dir compare="AST">codepoint-to-string1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="codepoint-to-string2">
+                <output-dir compare="AST">codepoint-to-string2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="concat_01">
+                <output-dir compare="AST">concat_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="concat_02">
+                <output-dir compare="AST">concat_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="concat_03">
+                <output-dir compare="AST">concat_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="constructor">
+                <output-dir compare="AST">constructor</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="contains_01">
+                <output-dir compare="AST">contains_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="cpttostr01">
+                <output-dir compare="AST">cpttostr01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="cpttostr02">
+                <output-dir compare="AST">cpttostr02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="cpttostr04">
+                <output-dir compare="AST">cpttostr04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="end-with1">
+                <output-dir compare="AST">end-with1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="end-with2">
+                <output-dir compare="AST">end-with2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="end-with3">
+                <output-dir compare="AST">end-with3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="end-with4">
+                <output-dir compare="AST">end-with4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="end-with5">
+                <output-dir compare="AST">end-with5</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="ends-with_01">
+                <output-dir compare="AST">ends-with_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="endwith02">
+                <output-dir compare="AST">endwith02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="endwith03">
+                <output-dir compare="AST">endwith03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="escapes01">
+                <output-dir compare="AST">escapes01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="escapes02">
+                <output-dir compare="AST">escapes02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="length_01">
+                <output-dir compare="AST">length_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="length_02">
+                <output-dir compare="AST">length_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="like_01">
+                <output-dir compare="AST">like_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="like_null">
+                <output-dir compare="AST">like_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="lowercase">
+                <output-dir compare="AST">lowercase</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches02">
+                <output-dir compare="AST">matches02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches03">
+                <output-dir compare="AST">matches03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches04">
+                <output-dir compare="AST">matches04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches05">
+                <output-dir compare="AST">matches05</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches06">
+                <output-dir compare="AST">matches06</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches1">
+                <output-dir compare="AST">matches1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches11">
+                <output-dir compare="AST">matches11</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches2">
+                <output-dir compare="AST">matches2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches21">
+                <output-dir compare="AST">matches21</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches22">
+                <output-dir compare="AST">matches22</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches23">
+                <output-dir compare="AST">matches23</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matches3">
+                <output-dir compare="AST">matches3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="matchesnull">
+                <output-dir compare="AST">matchesnull</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="replace1">
+                <output-dir compare="AST">replace1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="replace2">
+                <output-dir compare="AST">replace2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="replace21">
+                <output-dir compare="AST">replace21</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="replace22">
+                <output-dir compare="AST">replace22</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="replace3">
+                <output-dir compare="AST">replace3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="start-with1">
+                <output-dir compare="AST">start-with1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="start-with2">
+                <output-dir compare="AST">start-with2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="start-with3">
+                <output-dir compare="AST">start-with3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="start-with4">
+                <output-dir compare="AST">start-with4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="start-with5">
+                <output-dir compare="AST">start-with5</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="starts-with_01">
+                <output-dir compare="AST">starts-with_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="startwith02">
+                <output-dir compare="AST">startwith02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+        <test-case FilePath="string">
+          <compilation-unit name="startwith03">
+            <output-dir compare="AST">startwith03</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="string">
+            <compilation-unit name="strconcat01">
+                <output-dir compare="AST">strconcat01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="strconcat02">
+                <output-dir compare="AST">strconcat02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="string-concat1">
+                <output-dir compare="AST">string-concat1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="string-equal1">
+                <output-dir compare="AST">string-equal1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="string-equal2">
+                <output-dir compare="AST">string-equal2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="string-equal3">
+                <output-dir compare="AST">string-equal3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="string-equal4">
+                <output-dir compare="AST">string-equal4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="string-join1">
+                <output-dir compare="AST">string-join1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="string-to-codepoint">
+                <output-dir compare="AST">string-to-codepoint</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="string-to-codepoint1">
+                <output-dir compare="AST">string-to-codepoint1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="string-to-codepoint2">
+                <output-dir compare="AST">string-to-codepoint2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="strlen02">
+                <output-dir compare="AST">strlen02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="strlen03">
+                <output-dir compare="AST">strlen03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="strtocpt01">
+                <output-dir compare="AST">strtocpt01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="strtocpt02">
+                <output-dir compare="AST">strtocpt02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="strtocpt03">
+                <output-dir compare="AST">strtocpt03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substr01">
+                <output-dir compare="AST">substr01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substr04">
+                <output-dir compare="AST">substr04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substr05">
+                <output-dir compare="AST">substr05</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substr06">
+                <output-dir compare="AST">substr06</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring-after-1">
+                <output-dir compare="AST">substring-after-1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring-after-2">
+                <output-dir compare="AST">substring-after-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring-after-3">
+                <output-dir compare="AST">substring-after-3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring-after-4">
+                <output-dir compare="AST">substring-after-4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring-before-1">
+                <output-dir compare="AST">substring-before-1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring-before-2">
+                <output-dir compare="AST">substring-before-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring-before-3">
+                <output-dir compare="AST">substring-before-3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring2-1">
+                <output-dir compare="AST">substring2-1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring2-2">
+                <output-dir compare="AST">substring2-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring2-3">
+                <output-dir compare="AST">substring2-3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring2-4">
+                <output-dir compare="AST">substring2-4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="substring_01">
+                <output-dir compare="AST">substring_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="toLowerCase02">
+                <output-dir compare="AST">toLowerCase02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="toLowerCase03">
+                <output-dir compare="AST">toLowerCase03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="toLowerCase04">
+                <output-dir compare="AST">toLowerCase04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="uppercase">
+                <output-dir compare="AST">uppercase</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="subset-collection">
+        <test-case FilePath="subset-collection">
+            <compilation-unit name="01">
+                <output-dir compare="AST">01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="subset-collection">
+            <compilation-unit name="02">
+                <output-dir compare="AST">02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="subset-collection">
+            <compilation-unit name="03">
+                <output-dir compare="AST">03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="subset-collection">
+            <compilation-unit name="05">
+                <output-dir compare="AST">05</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="subset-collection">
+            <compilation-unit name="06">
+                <output-dir compare="AST">06</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="subset-collection">
+            <compilation-unit name="07">
+                <output-dir compare="AST">07</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="tokenizers">
+        <test-case FilePath="tokenizers">
+            <compilation-unit name="counthashed-gram-tokens_01">
+                <output-dir compare="AST">counthashed-gram-tokens_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tokenizers">
+            <compilation-unit name="counthashed-gram-tokens_02">
+                <output-dir compare="AST">counthashed-gram-tokens_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tokenizers">
+            <compilation-unit name="counthashed-word-tokens_01">
+                <output-dir compare="AST">counthashed-word-tokens_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tokenizers">
+            <compilation-unit name="gram-tokens_01">
+                <output-dir compare="AST">gram-tokens_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tokenizers">
+            <compilation-unit name="gram-tokens_02">
+                <output-dir compare="AST">gram-tokens_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tokenizers">
+            <compilation-unit name="hashed-gram-tokens_01">
+                <output-dir compare="AST">hashed-gram-tokens_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tokenizers">
+            <compilation-unit name="hashed-gram-tokens_02">
+                <output-dir compare="AST">hashed-gram-tokens_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tokenizers">
+            <compilation-unit name="hashed-word-tokens_01">
+                <output-dir compare="AST">hashed-word-tokens_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tokenizers">
+            <compilation-unit name="word-tokens_01">
+                <output-dir compare="AST">word-tokens_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tokenizers">
+            <compilation-unit name="word-tokens_02">
+                <output-dir compare="AST">word-tokens_02</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="tpch">
+        <test-case FilePath="tpch">
+            <compilation-unit name="distinct_by">
+                <output-dir compare="AST">distinct_by</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="group_no_agg">
+                <output-dir compare="AST">group_no_agg</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="nest_aggregate">
+                <output-dir compare="AST">nest_aggregate</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="query-issue638">
+                <output-dir compare="AST">query-issue638</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="query-issue785">
+                <output-dir compare="AST">query-issue785</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="query-issue785-2">
+                <output-dir compare="AST">query-issue785-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="query-issue786">
+                <output-dir compare="AST">query-issue786</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="query-issue601">
+                <output-dir compare="AST">query-issue601</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q10_returned_item">
+                <output-dir compare="AST">q10_returned_item</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q10_returned_item_int64">
+                <output-dir compare="AST">q10_returned_item_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q11_important_stock">
+                <output-dir compare="AST">q11_important_stock</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q12_shipping">
+                <output-dir compare="AST">q12_shipping</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q13_customer_distribution">
+                <output-dir compare="AST">q13_customer_distribution</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q14_promotion_effect">
+                <output-dir compare="AST">q14_promotion_effect</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q15_top_supplier">
+                <output-dir compare="AST">q15_top_supplier</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q16_parts_supplier_relationship">
+                <output-dir compare="AST">q16_parts_supplier_relationship</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q17_squantity_order_revenue">
+                <output-dir compare="AST">q17_small_quantity_order_revenue</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q17_large_gby_variant">
+                <output-dir compare="AST">q17_large_gby_variant</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q18_large_volume_customer">
+                <output-dir compare="AST">q18_large_volume_customer</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q19_discounted_revenue">
+                <output-dir compare="AST">q19_discounted_revenue</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q01_pricing_summary_report_nt">
+                <output-dir compare="AST">q01_pricing_summary_report_nt</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q20_potential_part_promotion">
+                <output-dir compare="AST">q20_potential_part_promotion</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q21_suppliers_who_kept_orders_waiting">
+                <output-dir compare="AST">q21_suppliers_who_kept_orders_waiting</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q22_global_sales_opportunity">
+                <output-dir compare="AST">q22_global_sales_opportunity</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q02_minimum_cost_supplier">
+                <output-dir compare="AST">q02_minimum_cost_supplier</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q03_shipping_priority_nt">
+                <output-dir compare="AST">q03_shipping_priority_nt</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q04_order_priority">
+                <output-dir compare="AST">q04_order_priority</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q05_local_supplier_volume">
+                <output-dir compare="AST">q05_local_supplier_volume</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q06_forecast_revenue_change">
+                <output-dir compare="AST">q06_forecast_revenue_change</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q07_volume_shipping">
+                <output-dir compare="AST">q07_volume_shipping</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q08_national_market_share">
+                <output-dir compare="AST">q08_national_market_share</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="q09_product_type_profit_nt">
+                <output-dir compare="AST">q09_product_type_profit_nt</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="query-issue562">
+                <output-dir compare="AST">query-issue562</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="query-issue810">
+                <output-dir compare="AST">query-issue810</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="query-issue810-2">
+                <output-dir compare="AST">query-issue810-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="query-issue810-3">
+                <output-dir compare="AST">query-issue810-3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="query-issue827">
+                <output-dir compare="AST">query-issue827</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch">
+            <compilation-unit name="query-issue827-2">
+                <output-dir compare="AST">query-issue827-2</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="tpch-sql-like">
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="query-issue638">
+                <output-dir compare="AST">query-issue638</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="query-issue785">
+                <output-dir compare="AST">query-issue785</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="query-issue785-2">
+                <output-dir compare="AST">query-issue785-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="query-issue786">
+                <output-dir compare="AST">query-issue786</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="query-issue601">
+                <output-dir compare="AST">query-issue601</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q10_returned_item">
+                <output-dir compare="AST">q10_returned_item</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q10_returned_item_int64">
+                <output-dir compare="AST">q10_returned_item_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q11_important_stock">
+                <output-dir compare="AST">q11_important_stock</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q12_shipping">
+                <output-dir compare="AST">q12_shipping</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q13_customer_distribution">
+                <output-dir compare="AST">q13_customer_distribution</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q14_promotion_effect">
+                <output-dir compare="AST">q14_promotion_effect</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q15_top_supplier">
+                <output-dir compare="AST">q15_top_supplier</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q16_parts_supplier_relationship">
+                <output-dir compare="AST">q16_parts_supplier_relationship</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q17_small_quantity_order_revenue">
+                <output-dir compare="AST">q17_small_quantity_order_revenue</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q17_large_gby_variant">
+                <output-dir compare="AST">q17_large_gby_variant</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q18_large_volume_customer">
+                <output-dir compare="AST">q18_large_volume_customer</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q19_discounted_revenue">
+                <output-dir compare="AST">q19_discounted_revenue</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q01_pricing_summary_report_nt">
+                <output-dir compare="AST">q01_pricing_summary_report_nt</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q20_potential_part_promotion">
+                <output-dir compare="AST">q20_potential_part_promotion</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q21_suppliers_who_kept_orders_waiting">
+                <output-dir compare="AST">q21_suppliers_who_kept_orders_waiting</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q22_global_sales_opportunity">
+                <output-dir compare="AST">q22_global_sales_opportunity</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q02_minimum_cost_supplier">
+                <output-dir compare="AST">q02_minimum_cost_supplier</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q03_shipping_priority_nt">
+                <output-dir compare="AST">q03_shipping_priority_nt</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q04_order_priority">
+                <output-dir compare="AST">q04_order_priority</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q05_local_supplier_volume">
+                <output-dir compare="AST">q05_local_supplier_volume</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q06_forecast_revenue_change">
+                <output-dir compare="AST">q06_forecast_revenue_change</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q07_volume_shipping">
+                <output-dir compare="AST">q07_volume_shipping</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q08_national_market_share">
+                <output-dir compare="AST">q08_national_market_share</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="tpch-sql-like">
+            <compilation-unit name="q09_product_type_profit_nt">
+                <output-dir compare="AST">q09_product_type_profit_nt</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="writers">
+        <test-case FilePath="writers">
+            <compilation-unit name="print_01">
+                <output-dir compare="AST">print_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--  TODO(madhusudancs): Enable this test when REST API supports serialized output support.
+            <test-case FilePath="writers">
+              <compilation-unit name="serialized_01">
+                <output-dir compare="AST">serialized_01</output-dir>
+              </compilation-unit>
+            </test-case>
+        -->
+    </test-group>
+    <test-group name="cross-dataverse">
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv01">
+                <output-dir compare="AST">cross-dv01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv02">
+                <output-dir compare="AST">cross-dv02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv03">
+                <output-dir compare="AST">cross-dv03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv04">
+                <output-dir compare="AST">cross-dv04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv07">
+                <output-dir compare="AST">cross-dv07</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--NotImplementedException: No binary comparator factory implemented for type RECORD.
+        <test-case FilePath="cross-dataverse">
+          <compilation-unit name="cross-dv08">
+            <output-dir compare="AST">cross-dv08</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv09">
+                <output-dir compare="AST">cross-dv09</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv11">
+                <output-dir compare="AST">cross-dv11</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv12">
+                <output-dir compare="AST">cross-dv12</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv13">
+                <output-dir compare="AST">cross-dv13</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv14">
+                <output-dir compare="AST">cross-dv14</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv15">
+                <output-dir compare="AST">cross-dv15</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv16">
+                <output-dir compare="AST">cross-dv16</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <!--NotImplementedException: No binary comparator factory implemented for type RECORD.
+        <test-case FilePath="cross-dataverse">
+          <compilation-unit name="cross-dv17">
+            <output-dir compare="AST">cross-dv17</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!--NotImplementedException: No binary comparator factory implemented for type RECORD.
+        <test-case FilePath="cross-dataverse">
+          <compilation-unit name="cross-dv18">
+            <output-dir compare="AST">cross-dv18</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv19">
+                <output-dir compare="AST">cross-dv19</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv20">
+                <output-dir compare="AST">cross-dv20</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="insert_across_dataverses">
+                <output-dir compare="AST">insert_across_dataverses</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="join_across_dataverses">
+                <output-dir compare="AST">join_across_dataverses</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="user-defined-functions">
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="query-issue218-2">
+                <output-dir compare="AST">query-issue218-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="query-issue218">
+                <output-dir compare="AST">query-issue218</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="query-issue201">
+                <output-dir compare="AST">query-issue201</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="query-issue172">
+                <output-dir compare="AST">query-issue172</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="query-issue455">
+                <output-dir compare="AST">query-issue455</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="query-issue489">
+                <output-dir compare="AST">query-issue489</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf01">
+                <output-dir compare="AST">udf01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf02">
+                <output-dir compare="AST">udf02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!-- causes NPE: Issue 200
+        <test-case FilePath="user-defined-functions">
+          <compilation-unit name="udf03">
+            <output-dir compare="AST">udf03</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf04">
+                <output-dir compare="AST">udf04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf05">
+                <output-dir compare="AST">udf05</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf06">
+                <output-dir compare="AST">udf06</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf07">
+                <output-dir compare="AST">udf07</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf08">
+                <output-dir compare="AST">udf08</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf09">
+                <output-dir compare="AST">udf09</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf10">
+                <output-dir compare="AST">udf10</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf11">
+                <output-dir compare="AST">udf11</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf12">
+                <output-dir compare="AST">udf12</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf13">
+                <output-dir compare="AST">udf13</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf14">
+                <output-dir compare="AST">udf14</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!-- Issue 166
+        <test-case FilePath="user-defined-functions">
+          <compilation-unit name="udf15">
+            <output-dir compare="AST">udf15</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf16">
+                <output-dir compare="AST">udf16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf17">
+                <output-dir compare="AST">udf17</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf18">
+                <output-dir compare="AST">udf18</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf19">
+                <output-dir compare="AST">udf19</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf20">
+                <output-dir compare="AST">udf20</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf21">
+                <output-dir compare="AST">udf21</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf22">
+                <output-dir compare="AST">udf22</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf23">
+                <output-dir compare="AST">udf23</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!-- Issue 195
+        <test-case FilePath="user-defined-functions">
+          <compilation-unit name="udf24">
+            <output-dir compare="AST">udf24</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <!-- Issue 218
+        <test-case FilePath="user-defined-functions">
+          <compilation-unit name="udf25">
+            <output-dir compare="AST">udf25</output-dir>
+          </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf26">
+                <output-dir compare="AST">udf26</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf27">
+                <output-dir compare="AST">udf27</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf28">
+                <output-dir compare="AST">udf28</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf29">
+                <output-dir compare="AST">udf29</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf30">
+                <output-dir compare="AST">udf30</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="f01">
+                <output-dir compare="AST">f01</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="invoke-private-function">
+                <output-dir compare="AST">invoke-private-function</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="load">
+        <test-case FilePath="load">
+            <compilation-unit name="csv_01">
+                <output-dir compare="AST">csv_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="csv_02">
+                <output-dir compare="AST">csv_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="csv_03">
+                <output-dir compare="AST">csv_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="csv_04">
+                <output-dir compare="AST">csv_04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="csv_05">
+                <output-dir compare="AST">csv_05</output-dir>
+                <expected-error>org.apache.hyracks.api.exceptions.HyracksDataException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="csv_06">
+                <output-dir compare="AST">csv_06</output-dir>
+                <expected-error>org.apache.hyracks.api.exceptions.HyracksDataException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="csv_07">
+                <output-dir compare="AST">csv_07</output-dir>
+                <expected-error>org.apache.hyracks.api.exceptions.HyracksDataException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="csv_08_header_cr">
+                <output-dir compare="AST">csv_08_header_cr</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="csv_08_header_lf">
+                <output-dir compare="AST">csv_08_header_lf</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="csv_08_header_crlf">
+                <output-dir compare="AST">csv_08_header_crlf</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="issue14_query">
+                <output-dir compare="AST">none</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="issue315_query">
+                <output-dir compare="AST">none</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="issue289_query">
+                <output-dir compare="AST">issue289_query</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="issue650_query">
+                <output-dir compare="AST">none</output-dir>
+                <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="type_promotion_0">
+                <output-dir compare="AST">type_promotion_0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="escapes01">
+                <output-dir compare="AST">escapes01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="escapes02">
+                <output-dir compare="AST">escapes02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="escapes-err-1">
+                <output-dir compare="AST">none</output-dir>
+                <expected-error>org.apache.hyracks.api.exceptions.HyracksException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="query-issue244">
+                <output-dir compare="AST">query-issue244</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="duplicate-key-error">
+                <output-dir compare="AST">none</output-dir>
+                <expected-error>org.apache.hyracks.api.exceptions.HyracksException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="issue610_adm_token_end_collection">
+                <output-dir compare="AST">issue610_adm_token_end_collection</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="adm_binary">
+                <output-dir compare="AST">adm_binary</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="hints">
+        <test-case FilePath="hints">
+            <compilation-unit name="issue_251_dataset_hint_5">
+                <output-dir compare="AST">issue_251_dataset_hint_5</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="hints">
+            <compilation-unit name="issue_251_dataset_hint_6">
+                <output-dir compare="AST">issue_251_dataset_hint_6</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="hints">
+            <compilation-unit name="issue_251_dataset_hint_7">
+                <output-dir compare="AST">issue_251_dataset_hint_7</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="feeds">
+
+        <!--Disable it because of sporadic failures. Raman will re-enable it.
+        <test-case FilePath="feeds">
+            <compilation-unit name="feeds_01">
+                <output-dir compare="AST">feeds_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="feeds">
+            <compilation-unit name="feeds_02">
+                <output-dir compare="AST">feeds_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="feeds">
+            <compilation-unit name="feeds_03">
+                <output-dir compare="AST">feeds_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="feeds">
+            <compilation-unit name="feeds_04">
+                <output-dir compare="AST">feeds_04</output-dir>
+            </compilation-unit>
+        </test-case>
+
+        <test-case FilePath="feeds">
+          <compilation-unit name="feeds_06">
+            <output-dir compare="AST">feeds_06</output-dir>
+          </compilation-unit>
+        </test-case>
+        <test-case FilePath="feeds">
+            <compilation-unit name="feeds_07">
+                <output-dir compare="AST">feeds_07</output-dir>
+            </compilation-unit>
+        </test-case>
+
+        <test-case FilePath="feeds">
+            <compilation-unit name="feeds_08">
+                <output-dir compare="AST">feeds_08</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="feeds">
+            <compilation-unit name="feeds_09">
+                <output-dir compare="AST">feeds_09</output-dir>
+            </compilation-unit>
+        </test-case>
+
+        <test-case FilePath="feeds">
+            <compilation-unit name="feeds_10">
+                <output-dir compare="AST">feeds_10</output-dir>
+            </compilation-unit>
+        </test-case>
+
+        <test-case FilePath="feeds">
+            <compilation-unit name="feeds_11">
+                <output-dir compare="AST">feeds_11</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="feeds">
+            <compilation-unit name="feeds_12">
+                <output-dir compare="AST">feeds_12</output-dir>
+            </compilation-unit>
+        </test-case>
+
+        <test-case FilePath="feeds">
+            <compilation-unit name="issue_230_feeds">
+                <output-dir compare="AST">issue_230_feeds</output-dir>
+            </compilation-unit>
+        </test-case>
+
+        <test-case FilePath="feeds">
+            <compilation-unit name="issue_711_feeds">
+                <output-dir compare="AST">issue_711_feeds</output-dir>
+            </compilation-unit>
+        </test-case>
+        -->
+
+    </test-group>
+    <test-group name="hdfs">
+    	<test-case FilePath="hdfs">
+            <compilation-unit name="hdfs_shortcircuit">
+                <output-dir compare="AST">hdfs_shortcircuit</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="hdfs">
+            <compilation-unit name="issue_245_hdfs">
+                <output-dir compare="AST">issue_245_hdfs</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="hdfs">
+            <compilation-unit name="hdfs_02">
+                <output-dir compare="AST">hdfs_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="hdfs">
+            <compilation-unit name="hdfs_03">
+                <output-dir compare="AST">hdfs_03</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group>
+        <test-case FilePath="big-object">
+            <compilation-unit name="big_object_sort">
+                <output-dir compare="AST">big_object_sort</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="big-object">
+            <compilation-unit name="big_object_groupby">
+                <output-dir compare="AST">big_object_groupby</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="big-object">
+            <compilation-unit name="big_object_groupby-2">
+                <output-dir compare="AST">big_object_groupby-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="big-object">
+            <compilation-unit name="big_object_join">
+                <output-dir compare="AST">big_object_join</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="external-indexing">
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="text-format">
+                <output-dir compare="AST">text-format</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="sequence-format">
+                <output-dir compare="AST">sequence-format</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="rc-format">
+                <output-dir compare="AST">rc-format</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="rtree-index">
+                <output-dir compare="AST">rtree-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="leftouterjoin">
+                <output-dir compare="AST">leftouterjoin</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="leftouterjoin-rtree">
+                <output-dir compare="AST">leftouterjoin-rtree</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="temporal">
+        <test-case FilePath="temporal">
+            <compilation-unit name="overlap_bins_gby_3">
+                <output-dir compare="AST">overlap_bins_gby_3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="agg_01">
+                <output-dir compare="AST">agg_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="overlap_bins_gby_1">
+                <output-dir compare="AST">overlap_bins_gby_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="duration_functions">
+                <output-dir compare="AST">duration_functions</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="overlap_bins_gby_0">
+                <output-dir compare="AST">overlap_bins_gby_0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="get_overlapping_interval">
+                <output-dir compare="AST">get_overlapping_interval</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="overlap_bins">
+                <output-dir compare="AST">overlap_bins</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="parse_02">
+                <output-dir compare="AST">parse_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="parse_01">
+                <output-dir compare="AST">parse_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="day_of_week_01">
+                <output-dir compare="AST">day_of_week_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="interval_bin">
+                <output-dir compare="AST">interval_bin</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="interval_bin_gby_0">
+                <output-dir compare="AST">interval_bin_gby_0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="interval_bin_gby_1">
+                <output-dir compare="AST">interval_bin_gby_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="accessors">
+                <output-dir compare="AST">accessors</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="accessors_interval">
+                <output-dir compare="AST">accessors_interval</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="accessors_interval_null">
+                <output-dir compare="AST">accessors_interval_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="adjust_timezone">
+                <output-dir compare="AST">adjust_timezone</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="calendar_duration">
+                <output-dir compare="AST">calendar_duration</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="date_functions">
+                <output-dir compare="AST">date_functions</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="datetime_functions">
+                <output-dir compare="AST">datetime_functions</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
+       <test-case FilePath="temporal">
+           <compilation-unit name="insert_from_delimited_ds">
+              <output-dir compare="AST">insert_from_delimited_ds</output-dir>
+           </compilation-unit>
+      </test-case>
+        -->
+        <test-case FilePath="temporal">
+            <compilation-unit name="insert_from_ext_ds">
+                <output-dir compare="AST">insert_from_ext_ds</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="insert_from_ext_ds_2">
+                <output-dir compare="AST">insert_from_ext_ds_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="interval_functions">
+                <output-dir compare="AST">interval_functions</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="time_functions">
+                <output-dir compare="AST">time_functions</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="interval">
+                <output-dir compare="AST">interval</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="duration_comps">
+                <output-dir compare="AST">duration_comps</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="leftouterjoin">
+        <test-case FilePath="leftouterjoin">
+            <compilation-unit name="query_issue658">
+                <output-dir compare="AST">query_issue658</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="leftouterjoin">
+            <compilation-unit name="query_issue285">
+                <output-dir compare="AST">query_issue285</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="leftouterjoin">
+            <compilation-unit name="query_issue285-2">
+                <output-dir compare="AST">query_issue285-2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="leftouterjoin">
+            <compilation-unit name="query_issue849">
+                <output-dir compare="AST">query_issue849</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="leftouterjoin">
+            <compilation-unit name="query_issue849-2">
+                <output-dir compare="AST">query_issue849-2</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="index-leftouterjoin">
+        <test-case FilePath="index-leftouterjoin">
+            <compilation-unit name="probe-pidx-with-join-btree-sidx1">
+                <output-dir compare="AST">probe-pidx-with-join-btree-sidx1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-leftouterjoin">
+            <compilation-unit name="probe-pidx-with-join-btree-sidx2">
+                <output-dir compare="AST">probe-pidx-with-join-btree-sidx2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-leftouterjoin">
+            <compilation-unit name="probe-pidx-with-join-rtree-sidx1">
+                <output-dir compare="AST">probe-pidx-with-join-rtree-sidx1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-leftouterjoin">
+            <compilation-unit name="probe-pidx-with-join-rtree-sidx2">
+                <output-dir compare="AST">probe-pidx-with-join-rtree-sidx2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-leftouterjoin">
+            <compilation-unit name="probe-pidx-with-join-invidx-sidx1">
+                <output-dir compare="AST">probe-pidx-with-join-invidx-sidx1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-leftouterjoin">
+            <compilation-unit name="probe-pidx-with-join-invidx-sidx2">
+                <output-dir compare="AST">probe-pidx-with-join-invidx-sidx2</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="distinct">
+        <test-case FilePath="distinct">
+            <compilation-unit name="query-issue443">
+                <output-dir compare="AST">query-issue443</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="distinct">
+            <compilation-unit name="query-issue443-2">
+                <output-dir compare="AST">query-issue443-2</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="tinysocial">
+        <test-case FilePath="tinysocial">
+            <compilation-unit name="tinysocial-suite">
+                <output-dir compare="AST">tinysocial-suite</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="types">
+        <test-case FilePath="types">
+            <compilation-unit name="record01">
+                <output-dir compare="AST">record01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="type_promotion_0">
+                <output-dir compare="AST">type_promotion_0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="type_promotion_1">
+                <output-dir compare="AST">type_promotion_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="opentype_orderby_01">
+                <output-dir compare="AST">opentype_orderby_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_closedtype_field_01">
+                <output-dir compare="AST">promotion_closedtype_field_vs_closedtype_field_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_closedtype_field_02">
+                <output-dir compare="AST">promotion_closedtype_field_vs_closedtype_field_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_closedtype_field_03">
+                <output-dir compare="AST">promotion_closedtype_field_vs_closedtype_field_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_closedtype_field_04">
+                <output-dir compare="AST">promotion_closedtype_field_vs_closedtype_field_04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_closedtype_field_05">
+                <output-dir compare="AST">promotion_closedtype_field_vs_closedtype_field_05</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_constant_01">
+                <output-dir compare="AST">promotion_closedtype_field_vs_constant_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_constant_02">
+                <output-dir compare="AST">promotion_closedtype_field_vs_constant_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_constant_03">
+                <output-dir compare="AST">promotion_closedtype_field_vs_constant_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_constant_04">
+                <output-dir compare="AST">promotion_closedtype_field_vs_constant_04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_constant_05">
+                <output-dir compare="AST">promotion_closedtype_field_vs_constant_05</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_constant_06">
+                <output-dir compare="AST">promotion_closedtype_field_vs_constant_06</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_constant_07">
+                <output-dir compare="AST">promotion_closedtype_field_vs_constant_07</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_constant_08">
+                <output-dir compare="AST">promotion_closedtype_field_vs_constant_08</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_constant_09">
+                <output-dir compare="AST">promotion_closedtype_field_vs_constant_09</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_constant_10">
+                <output-dir compare="AST">promotion_closedtype_field_vs_constant_10</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_constant_11">
+                <output-dir compare="AST">promotion_closedtype_field_vs_constant_11</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_opentype_field_01">
+                <output-dir compare="AST">promotion_closedtype_field_vs_opentype_field_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_opentype_field_02">
+                <output-dir compare="AST">promotion_closedtype_field_vs_opentype_field_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_opentype_field_03">
+                <output-dir compare="AST">promotion_closedtype_field_vs_opentype_field_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_closedtype_field_vs_opentype_field_04">
+                <output-dir compare="AST">promotion_closedtype_field_vs_opentype_field_04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_opentype_field_vs_constant_01">
+                <output-dir compare="AST">promotion_opentype_field_vs_constant_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_opentype_field_vs_constant_02">
+                <output-dir compare="AST">promotion_opentype_field_vs_constant_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_opentype_field_vs_constant_03">
+                <output-dir compare="AST">promotion_opentype_field_vs_constant_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_opentype_field_vs_constant_04">
+                <output-dir compare="AST">promotion_opentype_field_vs_constant_04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_opentype_field_vs_constant_05">
+                <output-dir compare="AST">promotion_opentype_field_vs_constant_05</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_opentype_field_vs_constant_06">
+                <output-dir compare="AST">promotion_opentype_field_vs_constant_06</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_opentype_field_vs_constant_07">
+                <output-dir compare="AST">promotion_opentype_field_vs_constant_07</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_opentype_field_vs_constant_08">
+                <output-dir compare="AST">promotion_opentype_field_vs_constant_08</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_opentype_field_vs_opentype_field_01">
+                <output-dir compare="AST">promotion_opentype_field_vs_opentype_field_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="types">
+            <compilation-unit name="promotion_opentype_field_vs_opentype_field_02">
+                <output-dir compare="AST">promotion_opentype_field_vs_opentype_field_02</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="materialization">
+        <test-case FilePath="materialization">
+            <compilation-unit name="assign-reuse">
+                <output-dir compare="AST">assign-reuse</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="filters">
+        <test-case FilePath="filters">
+            <compilation-unit name="equality-predicate">
+                <output-dir compare="AST">equality-predicate</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="filters">
+            <compilation-unit name="load">
+                <output-dir compare="AST">load</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="filters">
+            <compilation-unit name="load-with-secondary-btree">
+                <output-dir compare="AST">load-with-secondary-btree</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="filters">
+            <compilation-unit name="load-with-secondary-inverted-ngram">
+                <output-dir compare="AST">load-with-secondary-inverted-ngram</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="filters">
+            <compilation-unit name="load-with-secondary-inverted-word">
+                <output-dir compare="AST">load-with-secondary-inverted-word</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="filters">
+            <compilation-unit name="load-with-secondary-rtree">
+                <output-dir compare="AST">load-with-secondary-rtree</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="filters">
+            <compilation-unit name="insert">
+                <output-dir compare="AST">insert</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="filters">
+            <compilation-unit name="insert-with-secondary-btree">
+                <output-dir compare="AST">insert-with-secondary-btree</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="filters">
+            <compilation-unit name="insert-with-secondary-inverted-ngram">
+                <output-dir compare="AST">insert-with-secondary-inverted-ngram</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="filters">
+            <compilation-unit name="insert-with-secondary-inverted-word">
+                <output-dir compare="AST">insert-with-secondary-inverted-word</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="filters">
+            <compilation-unit name="insert-with-secondary-rtree">
+                <output-dir compare="AST">insert-with-secondary-rtree</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="filters">
+            <compilation-unit name="nested-filterequality-predicate">
+                <output-dir compare="AST">nested-filter-equality-predicate</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="json">
+        <test-case FilePath="json">
+            <compilation-unit name="int01">
+                <output-dir compare="AST">int01</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="csv">
+        <test-case FilePath="csv">
+            <compilation-unit name="basic-types">
+                <output-dir compare="AST">basic-types</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="binary">
+        <test-case FilePath="binary">
+            <compilation-unit name="parse">
+                <output-dir compare="AST">parse</output-dir>
+            </compilation-unit>
+        </test-case>
+
+        <test-case FilePath="binary">
+            <compilation-unit name="print">
+                <output-dir compare="AST">print</output-dir>
+            </compilation-unit>
+        </test-case>
+
+        <test-case FilePath="binary">
+            <compilation-unit name="concat">
+                <output-dir compare="AST">concat</output-dir>
+            </compilation-unit>
+        </test-case>
+
+        <test-case FilePath="binary">
+            <compilation-unit name="subbinary">
+                <output-dir compare="AST">subbinary</output-dir>
+            </compilation-unit>
+        </test-case>
+
+        <test-case FilePath="binary">
+            <compilation-unit name="find">
+                <output-dir compare="AST">find</output-dir>
+            </compilation-unit>
+        </test-case>
+
+        <test-case FilePath="binary">
+            <compilation-unit name="insert">
+                <output-dir compare="AST">insert</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="binary">
+            <compilation-unit name="equal_join">
+                <output-dir compare="AST">equal_join</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="binary">
+            <compilation-unit name="index_join">
+                <output-dir compare="AST">index_join</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="binary">
+            <compilation-unit name="length">
+                <output-dir compare="AST">length</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="temp-dataset">
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="delete-from-loaded-dataset">
+                <output-dir compare="AST">delete-from-loaded-dataset</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="delete-from-loaded-dataset-with-index">
+                <output-dir compare="AST">delete-from-loaded-dataset-with-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="drop-empty-secondary-indexes">
+                <output-dir compare="AST">drop-empty-secondary-indexes</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="drop-index">
+                <output-dir compare="AST">drop-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="empty-load-with-index">
+                <output-dir compare="AST">empty-load-with-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="insert-and-scan-dataset">
+                <output-dir compare="AST">insert-and-scan-dataset</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="q01_pricing_summary_report_nt">
+                <output-dir compare="AST">q01_pricing_summary_report_nt</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="scan-delete-rtree-secondary-index">
+                <output-dir compare="AST">scan-delete-rtree-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="scan-insert-rtree-secondary-index">
+                <output-dir compare="AST">scan-insert-rtree-secondary-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="scan-insert-persistent-to-temp">
+                <output-dir compare="AST">scan-insert-persistent-to-temp</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="scan-insert-temp-to-persistent">
+                <output-dir compare="AST">scan-insert-temp-to-persistent</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temp-dataset">
+            <compilation-unit name="insert-and-scan-dataset-with-index">
+                <output-dir compare="AST">insert-and-scan-dataset-with-index</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+</test-suite>