[NO ISSUE][TEST] Run SQLPP queries in cloud deployment

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
Cloud deployment uses static partitioning scheme and
the 'database' level entity. SQLPP queries should be
run in this setup to catch regressions.

- call FunctionSignature.getDatabaseName() in Function.
- refactor queries out of testsuite_sqlpp.xml to
  a separate xml file for re-using it in other xml
  files.
- remove unused testsuite_sqlpp_profiled.xml
- ignore running SqlppStaticPartitioningExecutionTest
  since now CloudStorageTest does the same thing.

Change-Id: Ic6ddc36f201d1e0bc8ea2dc2cee6d8fd3f401dfa
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17825
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
Reviewed-by: Wail Alkowaileet <wael.y.k@gmail.com>
diff --git a/asterixdb/asterix-app/pom.xml b/asterixdb/asterix-app/pom.xml
index 5db986d..8e78a94 100644
--- a/asterixdb/asterix-app/pom.xml
+++ b/asterixdb/asterix-app/pom.xml
@@ -446,7 +446,7 @@
     <profile>
       <id>asterix-gerrit-asterix-app</id>
       <properties>
-        <test.excludes>**/SqlppExecutionWithCancellationTest.java,**/DmlTest.java,**/RepeatedTest.java,**/SqlppExecutionTest.java,**/*StaticPartitioning*Test.java,**/*Ssl*Test.java,**/Podman*.java,**/*AnalyzedExecutionTest.java,**/SqlppProfiledExecutionTest.java</test.excludes>
+        <test.excludes>**/CloudStorageTest.java,**/SqlppExecutionWithCancellationTest.java,**/DmlTest.java,**/RepeatedTest.java,**/SqlppExecutionTest.java,**/*StaticPartitioning*Test.java,**/*Ssl*Test.java,**/Podman*.java,**/*AnalyzedExecutionTest.java,**/SqlppProfiledExecutionTest.java</test.excludes>
         <itest.excludes>**/*.java</itest.excludes>
       </properties>
       <build>
diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/cloud_storage/CloudStorageTest.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/cloud_storage/CloudStorageTest.java
index fd789e8..a45a1bf 100644
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/cloud_storage/CloudStorageTest.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/cloud_storage/CloudStorageTest.java
@@ -42,10 +42,10 @@
 public class CloudStorageTest {
 
     protected TestCaseContext tcCtx;
-    private static final TestExecutor testExecutor = new TestExecutor();
     private static final String SUITE_TESTS = "testsuite_cloud_storage.xml";
     private static final String ONLY_TESTS = "testsuite_cloud_storage_only.xml";
     private static final String CONFIG_FILE_NAME = "src/test/resources/cc-cloud-storage.conf";
+    private static final String DELTA_RESULT_PATH = "results_cloud";
 
     public CloudStorageTest(TestCaseContext tcCtx) {
         this.tcCtx = tcCtx;
@@ -54,6 +54,7 @@
     @BeforeClass
     public static void setUp() throws Exception {
         LocalCloudUtil.startS3CloudEnvironment(true);
+        TestExecutor testExecutor = new TestExecutor(DELTA_RESULT_PATH);
         LangExecutionUtil.setUp(CONFIG_FILE_NAME, testExecutor);
         System.setProperty(GlobalConfig.CONFIG_FILE_PROPERTY, CONFIG_FILE_NAME);
     }
diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/SqlppStaticPartitioningExecutionTest.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/SqlppStaticPartitioningExecutionTest.java
index 868820e..a8a27c5 100644
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/SqlppStaticPartitioningExecutionTest.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/SqlppStaticPartitioningExecutionTest.java
@@ -30,6 +30,7 @@
 import org.apache.hyracks.control.nc.NodeControllerService;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -39,6 +40,7 @@
  * Runs the SQL++ runtime tests with static partitioning.
  */
 @RunWith(Parameterized.class)
+@Ignore
 public class SqlppStaticPartitioningExecutionTest {
 
     private static final String TEST_CONFIG_FILE_NAME = "src/main/resources/cc_static_partitioning.conf";
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/api.xml b/asterixdb/asterix-app/src/test/resources/runtimets/api.xml
index 8b16889..056fa5d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/api.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/api.xml
@@ -17,7 +17,7 @@
  ! specific language governing permissions and limitations
  ! under the License.
  !-->
-<test-suite xmlns="urn:xml.testframework.asterix.apache.org" ResultOffsetPath="results" QueryOffsetPath="queries">
+<test-suite xmlns="urn:xml.testframework.asterix.apache.org" ResultOffsetPath="results" QueryOffsetPath="queries" QueryFileExtension=".sqlpp">
   <test-group name="api">
     <test-case FilePath="api">
       <compilation-unit name="cluster_state_1">
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.14.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.14.adm
new file mode 100644
index 0000000..1648d0a
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.14.adm
@@ -0,0 +1 @@
+{ "metadata": { "DatasetName": "ds1", "IndexName": "sample_idx_1_ds1", "SampleCardinalityTarget": 4252, "SourceCardinality": 4400, "SourceAvgItemSize": true, "SampleSeed": true }, "stats": { "cnt": 4248, "min_pk": true, "max_pk": true, "min_x": true, "max_x": true } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.19.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.19.adm
new file mode 100644
index 0000000..2b5d5b7
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.19.adm
@@ -0,0 +1 @@
+{ "metadata": { "DatasetName": "ds1", "IndexName": "sample_idx_1_ds1", "SampleCardinalityTarget": 17008, "SourceCardinality": 17100, "SourceAvgItemSize": true, "SampleSeed": true }, "stats": { "cnt": 16954, "min_pk": true, "max_pk": true, "min_x": true, "max_x": true } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.21.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.21.adm
new file mode 100644
index 0000000..c8c2efd
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.21.adm
@@ -0,0 +1 @@
+{ "metadata": { "DatasetName": "ds1", "IndexName": "sample_idx_2_ds1", "SampleCardinalityTarget": 17008, "SourceCardinality": 17100, "SourceAvgItemSize": true, "SampleSeed": true }, "stats": { "cnt": 16954, "min_pk": true, "max_pk": true, "min_x": true, "max_x": true } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.9.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.9.adm
new file mode 100644
index 0000000..db4bfd4
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-1/analyze-dataset-1.9.adm
@@ -0,0 +1 @@
+{ "metadata": { "DatasetName": "ds1", "IndexName": "sample_idx_1_ds1", "SampleCardinalityTarget": 1063, "SourceCardinality": 1100, "SourceAvgItemSize": true, "SampleSeed": true }, "stats": { "cnt": 1043, "min_pk": true, "max_pk": true, "min_x": true, "max_x": true } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.04.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.04.adm
new file mode 100644
index 0000000..c3322e4
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.04.adm
@@ -0,0 +1,3 @@
+{ "DatasetName": "ds1", "IndexName": "sample_idx_1_ds1", "IndexStructure": "SAMPLE", "SampleCardinalityTarget": 1063, "SourceCardinality": 1000, "SourceAvgItemSize": 369, "IndexStats": [ { "IndexName": "ds1_idx3", "NumPages": 16 }, { "IndexName": "ds1_idx2", "NumPages": 16 }, { "IndexName": "ds1_idx1", "NumPages": 16 } ] }
+{ "DatasetName": "ds2", "IndexName": "sample_idx_1_ds2", "IndexStructure": "SAMPLE", "SampleCardinalityTarget": 1063, "SourceCardinality": 1000, "SourceAvgItemSize": 369, "IndexStats": [ { "IndexName": "ds2_idx1", "NumPages": 16 } ] }
+{ "DatasetName": "ds3", "IndexName": "sample_idx_1_ds3", "IndexStructure": "SAMPLE", "SampleCardinalityTarget": 1063, "SourceCardinality": 1000, "SourceAvgItemSize": 369 }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.06.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.06.adm
new file mode 100644
index 0000000..7143cb0
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/analyze-dataset-with-indexes/analyze-dataset-with-indexes.06.adm
@@ -0,0 +1,3 @@
+{ "DatasetName": "ds1", "IndexName": "sample_idx_2_ds1", "IndexStructure": "SAMPLE", "SampleCardinalityTarget": 1063, "SourceCardinality": 1000, "SourceAvgItemSize": 369, "IndexStats": [ { "IndexName": "ds1_idx2", "NumPages": 16 }, { "IndexName": "ds1_idx1", "NumPages": 16 } ] }
+{ "DatasetName": "ds2", "IndexName": "sample_idx_1_ds2", "IndexStructure": "SAMPLE", "SampleCardinalityTarget": 1063, "SourceCardinality": 1000, "SourceAvgItemSize": 369, "IndexStats": [ { "IndexName": "ds2_idx1", "NumPages": 16 } ] }
+{ "DatasetName": "ds3", "IndexName": "sample_idx_1_ds3", "IndexStructure": "SAMPLE", "SampleCardinalityTarget": 1063, "SourceCardinality": 1000, "SourceAvgItemSize": 369 }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/create_dataset_with_filter_on_meta/create_dataset_with_filter_on_meta.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/create_dataset_with_filter_on_meta/create_dataset_with_filter_on_meta.1.adm
new file mode 100644
index 0000000..e460060
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/create_dataset_with_filter_on_meta/create_dataset_with_filter_on_meta.1.adm
@@ -0,0 +1,3 @@
+{ "DatabaseName": "Default", "DataverseName": "KeyVerse", "DatasetName": "KVStore", "IndexName": "KVStore", "IndexStructure": "BTREE", "SearchKey": [ [ "key" ] ], "IsPrimary": true, "Timestamp": "Sat Sep 30 23:12:54 PDT 2023", "PendingOp": 0, "SearchKeySourceIndicator": [ 1 ] }
+{ "DatabaseName": "Default", "DataverseName": "KeyVerse", "DatasetName": "KVStore", "IndexName": "s_location", "IndexStructure": "RTREE", "SearchKey": [ [ "location" ] ], "IsPrimary": false, "Timestamp": "Sat Sep 30 23:12:54 PDT 2023", "PendingOp": 0 }
+{ "DatabaseName": "Default", "DataverseName": "KeyVerse", "DatasetName": "KVStore", "IndexName": "s_rating", "IndexStructure": "BTREE", "SearchKey": [ [ "area_code" ] ], "IsPrimary": false, "Timestamp": "Sat Sep 30 23:12:54 PDT 2023", "PendingOp": 0, "ExcludeUnknownKey": false }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/drop-anonymous-nested-types/drop-anonymous-nested-types.003.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/drop-anonymous-nested-types/drop-anonymous-nested-types.003.adm
new file mode 100644
index 0000000..f14a37f
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/drop-anonymous-nested-types/drop-anonymous-nested-types.003.adm
@@ -0,0 +1,10 @@
+{ "d": { "DatabaseName": "Default", "DataverseName": "hanging", "DatatypeName": "UserType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "_oid", "FieldType": "uuid", "IsNullable": false, "IsMissable": false }, { "FieldName": "user_id", "FieldType": "string", "IsNullable": false, "IsMissable": false }, { "FieldName": "email", "FieldType": "string", "IsNullable": false, "IsMissable": false }, { "FieldName": "name", "FieldType": "UserType_name", "IsNullable": false, "IsMissable": false }, { "FieldName": "address", "FieldType": "UserType_address", "IsNullable": true, "IsMissable": true }, { "FieldName": "categories", "FieldType": "UserType_categories", "IsNullable": false, "IsMissable": false }, { "FieldName": "phone", "FieldType": "UserType_phone", "IsNullable": false, "IsMissable": false }, { "FieldName": "joined_date", "FieldType": "string", "IsNullable": false, "IsMissable": false }, { "FieldName": "is_buyer", "FieldType": "boolean", "IsNullable": false, "IsMissable": false }, { "FieldName": "is_seller", "FieldType": "boolean", "IsNullable": false, "IsMissable": false } ] } }, "Timestamp": "Sat Sep 30 23:22:35 PDT 2023" } }
+{ "d": { "DatabaseName": "Default", "DataverseName": "hanging", "DatatypeName": "UserType_address", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "street", "FieldType": "string", "IsNullable": true, "IsMissable": true }, { "FieldName": "city", "FieldType": "string", "IsNullable": true, "IsMissable": true }, { "FieldName": "state", "FieldType": "string", "IsNullable": true, "IsMissable": true }, { "FieldName": "zip", "FieldType": "int64", "IsNullable": true, "IsMissable": true } ] } }, "Timestamp": "Sat Sep 30 23:22:35 PDT 2023" } }
+{ "d": { "DatabaseName": "Default", "DataverseName": "hanging", "DatatypeName": "UserType_categories", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "OrderedList": "string" }, "Timestamp": "Sat Sep 30 23:22:35 PDT 2023" } }
+{ "d": { "DatabaseName": "Default", "DataverseName": "hanging", "DatatypeName": "UserType_name", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "first", "FieldType": "string", "IsNullable": true, "IsMissable": true }, { "FieldName": "last", "FieldType": "string", "IsNullable": true, "IsMissable": true }, { "FieldName": "nesty", "FieldType": "UserType_name_nesty", "IsNullable": true, "IsMissable": true }, { "FieldName": "nestier", "FieldType": "UserType_name_nestier", "IsNullable": false, "IsMissable": false } ] } }, "Timestamp": "Sat Sep 30 23:22:35 PDT 2023" } }
+{ "d": { "DatabaseName": "Default", "DataverseName": "hanging", "DatatypeName": "UserType_name_nestier", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "bar", "FieldType": "int64", "IsNullable": false, "IsMissable": false } ] } }, "Timestamp": "Sat Sep 30 23:22:35 PDT 2023" } }
+{ "d": { "DatabaseName": "Default", "DataverseName": "hanging", "DatatypeName": "UserType_name_nesty", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "OrderedList": "string" }, "Timestamp": "Sat Sep 30 23:22:35 PDT 2023" } }
+{ "d": { "DatabaseName": "Default", "DataverseName": "hanging", "DatatypeName": "UserType_phone", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "OrderedList": "UserType_phone_Item" }, "Timestamp": "Sat Sep 30 23:22:35 PDT 2023" } }
+{ "d": { "DatabaseName": "Default", "DataverseName": "hanging", "DatatypeName": "UserType_phone_Item", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "number", "FieldType": "string", "IsNullable": true, "IsMissable": true }, { "FieldName": "kind", "FieldType": "string", "IsNullable": true, "IsMissable": true }, { "FieldName": "nesty", "FieldType": "UserType_phone_Item_nesty", "IsNullable": true, "IsMissable": true }, { "FieldName": "nestier", "FieldType": "UserType_phone_Item_nestier", "IsNullable": false, "IsMissable": false } ] } }, "Timestamp": "Sat Sep 30 23:22:35 PDT 2023" } }
+{ "d": { "DatabaseName": "Default", "DataverseName": "hanging", "DatatypeName": "UserType_phone_Item_nestier", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "bar", "FieldType": "int64", "IsNullable": false, "IsMissable": false } ] } }, "Timestamp": "Sat Sep 30 23:22:35 PDT 2023" } }
+{ "d": { "DatabaseName": "Default", "DataverseName": "hanging", "DatatypeName": "UserType_phone_Item_nesty", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "OrderedList": "string" }, "Timestamp": "Sat Sep 30 23:22:35 PDT 2023" } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/index-cast-null/index-cast-null.015.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/index-cast-null/index-cast-null.015.adm
new file mode 100644
index 0000000..52eaa75
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/ddl/index-cast-null/index-cast-null.015.adm
@@ -0,0 +1 @@
+{ "DatabaseName": "Default", "DataverseName": "test", "DatasetName": "ds2", "IndexName": "ds2_o_idx2", "IndexStructure": "BTREE", "SearchKey": [ [ "o_s_f" ], [ "o_d_f" ] ], "IsPrimary": false, "Timestamp": "Sat Sep 30 23:18:19 PDT 2023", "PendingOp": 0, "SearchKeyType": [ "double", "string" ], "ExcludeUnknownKey": false, "Cast": { "Default": null } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/dml/create-drop-cltype/create-drop-cltype.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/dml/create-drop-cltype/create-drop-cltype.1.adm
new file mode 100644
index 0000000..e93f6a4
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/dml/create-drop-cltype/create-drop-cltype.1.adm
@@ -0,0 +1 @@
+{ "DatabaseName": "Default", "DataverseName": "test", "DatatypeName": "TestType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "Record": { "IsOpen": false, "Fields": [ { "FieldName": "id", "FieldType": "int32", "IsNullable": false, "IsMissable": false }, { "FieldName": "salary", "FieldType": "double", "IsNullable": true, "IsMissable": true }, { "FieldName": "name", "FieldType": "string", "IsNullable": false, "IsMissable": false }, { "FieldName": "durtn", "FieldType": "duration", "IsNullable": true, "IsMissable": true }, { "FieldName": "inter", "FieldType": "interval", "IsNullable": false, "IsMissable": false }, { "FieldName": "dt", "FieldType": "date", "IsNullable": true, "IsMissable": true }, { "FieldName": "tm", "FieldType": "time", "IsNullable": false, "IsMissable": false }, { "FieldName": "pt", "FieldType": "point", "IsNullable": true, "IsMissable": true } ] } }, "Timestamp": "Sat Sep 30 23:24:54 PDT 2023" }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/dml/create-drop-opntype/create-drop-opntype.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/dml/create-drop-opntype/create-drop-opntype.1.adm
new file mode 100644
index 0000000..dcd2b67
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/dml/create-drop-opntype/create-drop-opntype.1.adm
@@ -0,0 +1 @@
+{ "DatabaseName": "Default", "DataverseName": "test", "DatatypeName": "TestType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "id", "FieldType": "int32", "IsNullable": false, "IsMissable": false }, { "FieldName": "salary", "FieldType": "double", "IsNullable": true, "IsMissable": true }, { "FieldName": "name", "FieldType": "string", "IsNullable": false, "IsMissable": false }, { "FieldName": "durtn", "FieldType": "duration", "IsNullable": true, "IsMissable": true }, { "FieldName": "inter", "FieldType": "interval", "IsNullable": false, "IsMissable": false }, { "FieldName": "dt", "FieldType": "date", "IsNullable": true, "IsMissable": true }, { "FieldName": "tm", "FieldType": "time", "IsNullable": false, "IsMissable": false }, { "FieldName": "pt", "FieldType": "point", "IsNullable": true, "IsMissable": true } ] } }, "Timestamp": "Sat Sep 30 23:27:01 PDT 2023" }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/dml/insert-return-records/insert-return-records.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/dml/insert-return-records/insert-return-records.1.adm
new file mode 100644
index 0000000..1cd87f4
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/dml/insert-return-records/insert-return-records.1.adm
@@ -0,0 +1,5 @@
+{ "tweetid": 1, "message-text": "hello" }
+{ "tweetid": 2, "message-text": "goodbye" }
+{ "tweetid": 5, "message-text": "good" }
+{ "tweetid": 4, "message-text": "what" }
+{ "tweetid": 3, "message-text": "the end" }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/feeds/create-policy-from-file/create-policy-from-file.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/feeds/create-policy-from-file/create-policy-from-file.1.adm
new file mode 100644
index 0000000..3dba6c6
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/feeds/create-policy-from-file/create-policy-from-file.1.adm
@@ -0,0 +1 @@
+{ "DatabaseName": "Default", "DataverseName": "experiments", "PolicyName": "testPolicy", "Description": "someString", "Properties": {{ { "Name": "name", "Value": "testname" }, { "Name": "value", "Value": "testvalue" }, { "Name": "key", "Value": "testkey" } }} }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/feeds/feeds_01/feeds_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/feeds/feeds_01/feeds_01.1.adm
new file mode 100644
index 0000000..3bb0d78
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/feeds/feeds_01/feeds_01.1.adm
@@ -0,0 +1 @@
+{ "DatabaseName": "Default", "DataverseName": "feeds", "FeedName": "TweetFeed", "AdapterConfiguration": {{ { "Name": "dataset-dataverse", "Value": "feeds" }, { "Name": "path", "Value": "asterix_nc1://data/twitter/obamatweets.adm" }, { "Name": "feed", "Value": "TweetFeed" }, { "Name": "log-ingestion-events", "Value": "true" }, { "Name": "adapter-name", "Value": "localfs" }, { "Name": "is-feed", "Value": "true" }, { "Name": "parser", "Value": "adm" }, { "Name": "reader", "Value": "localfs" }, { "Name": "format", "Value": "adm" }, { "Name": "tuple-interval", "Value": "10" }, { "Name": "type-name", "Value": "TweetType" } }}, "Timestamp": "Sat Sep 30 23:48:22 PDT 2023" }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/feeds/feeds_03/feeds_03.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/feeds/feeds_03/feeds_03.1.adm
new file mode 100644
index 0000000..1f51668
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/feeds/feeds_03/feeds_03.1.adm
@@ -0,0 +1 @@
+{ "DatabaseName": "Default", "DataverseName": "feeds", "FeedName": "TweetFeed", "DatasetName": "Tweets", "ReturnType": "TweetType", "AppliedFunctions": {{ "feeds.feed_processor" }}, "PolicyName": "Basic" }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/fulltext/stopwords-full-text-filter-1/stopwords-full-text-filter-1.4.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/fulltext/stopwords-full-text-filter-1/stopwords-full-text-filter-1.4.adm
new file mode 100644
index 0000000..16f608a
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/fulltext/stopwords-full-text-filter-1/stopwords-full-text-filter-1.4.adm
@@ -0,0 +1,2 @@
+{ "DatabaseName": "Default", "DataverseName": "MyDataVerse", "FullTextConfigName": "my_first_stopword_config", "Tokenizer": "WORD", "FullTextFilterPipeline": [ "my_first_stopword_filter" ] }
+{ "DatabaseName": "Default", "DataverseName": "MyDataVerse", "FullTextConfigName": "my_second_stopword_config", "Tokenizer": "WORD", "FullTextFilterPipeline": [ "my_second_stopword_filter" ] }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/fulltext/stopwords-full-text-filter-1/stopwords-full-text-filter-1.5.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/fulltext/stopwords-full-text-filter-1/stopwords-full-text-filter-1.5.adm
new file mode 100644
index 0000000..dc9117a
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/fulltext/stopwords-full-text-filter-1/stopwords-full-text-filter-1.5.adm
@@ -0,0 +1,2 @@
+{ "DatabaseName": "Default", "DataverseName": "MyDataVerse", "FullTextFilterName": "my_first_stopword_filter", "FullTextFilterType": "Stopwords", "StopwordList": [ "a", "an", "the" ] }
+{ "DatabaseName": "Default", "DataverseName": "MyDataVerse", "FullTextFilterName": "my_second_stopword_filter", "FullTextFilterType": "Stopwords", "StopwordList": [ "xxx", "yyy", "zzz" ] }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/fulltext/stopwords-full-text-filter-1/stopwords-full-text-filter-1.7.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/fulltext/stopwords-full-text-filter-1/stopwords-full-text-filter-1.7.adm
new file mode 100644
index 0000000..0003857
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/fulltext/stopwords-full-text-filter-1/stopwords-full-text-filter-1.7.adm
@@ -0,0 +1,4 @@
+{ "DatabaseName": "Default", "DataverseName": "MyDataVerse", "DatasetName": "MyMessageDataset", "IndexName": "MyMessageDataset", "IndexStructure": "BTREE", "SearchKey": [ [ "myMessageId" ] ], "IsPrimary": true, "Timestamp": "Sat Sep 30 23:33:32 PDT 2023", "PendingOp": 0 }
+{ "DatabaseName": "Default", "DataverseName": "MyDataVerse", "DatasetName": "MyMessageDataset", "IndexName": "message_ft_index_0", "IndexStructure": "SINGLE_PARTITION_WORD_INVIX", "SearchKey": [ [ "myMessageBody" ] ], "IsPrimary": false, "Timestamp": "Sat Sep 30 23:33:33 PDT 2023", "PendingOp": 0 }
+{ "DatabaseName": "Default", "DataverseName": "MyDataVerse", "DatasetName": "MyMessageDataset", "IndexName": "message_ft_index_1", "IndexStructure": "SINGLE_PARTITION_WORD_INVIX", "SearchKey": [ [ "myMessageBody" ] ], "IsPrimary": false, "Timestamp": "Sat Sep 30 23:33:34 PDT 2023", "PendingOp": 0, "FullTextConfig": "my_first_stopword_config" }
+{ "DatabaseName": "Default", "DataverseName": "MyDataVerse", "DatasetName": "MyMessageDataset", "IndexName": "message_ft_index_2", "IndexStructure": "SINGLE_PARTITION_WORD_INVIX", "SearchKey": [ [ "myMessageBody" ] ], "IsPrimary": false, "Timestamp": "Sat Sep 30 23:33:34 PDT 2023", "PendingOp": 0, "FullTextConfig": "my_second_stopword_config" }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/synonym/synonym-01/synonym-01.9.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/synonym/synonym-01/synonym-01.9.adm
new file mode 100644
index 0000000..0ff7309
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/synonym/synonym-01/synonym-01.9.adm
@@ -0,0 +1,4 @@
+{ "DatabaseName": "Default", "DataverseName": "test", "SynonymName": "TweetMessagesSynonym", "ObjectDataverseName": "test", "ObjectName": "TweetMessages" }
+{ "DatabaseName": "Default", "DataverseName": "test", "SynonymName": "TweetMessagesSynonym2", "ObjectDataverseName": "test", "ObjectName": "TweetMessagesSynonym" }
+{ "DatabaseName": "Default", "DataverseName": "test", "SynonymName": "TwitterUsersSynonym", "ObjectDataverseName": "test", "ObjectName": "TwitterUsers" }
+{ "DatabaseName": "Default", "DataverseName": "test", "SynonymName": "TwitterUsersSynonym2", "ObjectDataverseName": "test", "ObjectName": "TwitterUsersSynonym" }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/types/any-object/any-object.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/types/any-object/any-object.2.adm
new file mode 100644
index 0000000..1886480
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/types/any-object/any-object.2.adm
@@ -0,0 +1,3 @@
+{ "DatabaseName": "Default", "DataverseName": "test", "DatatypeName": "AnyObject", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "Record": { "IsOpen": true, "Fields": [  ] } }, "Timestamp": "Sat Sep 30 23:52:28 PDT 2023" }
+{ "DatabaseName": "Default", "DataverseName": "test", "DatatypeName": "kv1", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "id", "FieldType": "int32", "IsNullable": false, "IsMissable": false }, { "FieldName": "val", "FieldType": "AnyObject", "IsNullable": false, "IsMissable": false } ] } }, "Timestamp": "Sat Sep 30 23:52:28 PDT 2023" }
+{ "DatabaseName": "Default", "DataverseName": "test", "DatatypeName": "kv2", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "id", "FieldType": "int32", "IsNullable": false, "IsMissable": false }, { "FieldName": "val", "FieldType": "AnyObject", "IsNullable": false, "IsMissable": false } ] } }, "Timestamp": "Sat Sep 30 23:52:28 PDT 2023" }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/user-defined-functions/udf23/udf23.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/user-defined-functions/udf23/udf23.1.adm
new file mode 100644
index 0000000..e4d644b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/user-defined-functions/udf23/udf23.1.adm
@@ -0,0 +1,6 @@
+{ "DatabaseName": "System", "DataverseName": "Metadata", "DatasetName": "CompactionPolicy", "DatatypeDataverseName": "Metadata", "DatatypeName": "CompactionPolicyRecordType", "DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": "1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "DatabaseName" ], [ "DataverseName" ], [ "CompactionPolicy" ] ], "PrimaryKey": [ [ "DatabaseName" ], [ "DataverseName" ], [ "CompactionPolicy" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Sat Sep 30 23:42:12 PDT 2023", "DatasetId": 13, "PendingOp": 0, "DatasetFormat": { "Format": "ROW" } }
+{ "DatabaseName": "System", "DataverseName": "Metadata", "DatasetName": "Database", "DatatypeDataverseName": "Metadata", "DatatypeName": "DatabaseRecordType", "DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": "1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "DatabaseName" ] ], "PrimaryKey": [ [ "DatabaseName" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Sat Sep 30 23:42:12 PDT 2023", "DatasetId": 18, "PendingOp": 0, "DatasetFormat": { "Format": "ROW" } }
+{ "DatabaseName": "System", "DataverseName": "Metadata", "DatasetName": "Dataset", "DatatypeDataverseName": "Metadata", "DatatypeName": "DatasetRecordType", "DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": "1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "DatabaseName" ], [ "DataverseName" ], [ "DatasetName" ] ], "PrimaryKey": [ [ "DatabaseName" ], [ "DataverseName" ], [ "DatasetName" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Sat Sep 30 23:42:12 PDT 2023", "DatasetId": 2, "PendingOp": 0, "DatasetFormat": { "Format": "ROW" } }
+{ "DatabaseName": "System", "DataverseName": "Metadata", "DatasetName": "DatasourceAdapter", "DatatypeDataverseName": "Metadata", "DatatypeName": "DatasourceAdapterRecordType", "DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": "1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "DatabaseName" ], [ "DataverseName" ], [ "Name" ] ], "PrimaryKey": [ [ "DatabaseName" ], [ "DataverseName" ], [ "Name" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Sat Sep 30 23:42:12 PDT 2023", "DatasetId": 8, "PendingOp": 0, "DatasetFormat": { "Format": "ROW" } }
+{ "DatabaseName": "System", "DataverseName": "Metadata", "DatasetName": "Datatype", "DatatypeDataverseName": "Metadata", "DatatypeName": "DatatypeRecordType", "DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": "1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "DatabaseName" ], [ "DataverseName" ], [ "DatatypeName" ] ], "PrimaryKey": [ [ "DatabaseName" ], [ "DataverseName" ], [ "DatatypeName" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Sat Sep 30 23:42:12 PDT 2023", "DatasetId": 3, "PendingOp": 0, "DatasetFormat": { "Format": "ROW" } }
+{ "DatabaseName": "System", "DataverseName": "Metadata", "DatasetName": "Dataverse", "DatatypeDataverseName": "Metadata", "DatatypeName": "DataverseRecordType", "DatasetType": "INTERNAL", "GroupName": "MetadataGroup", "CompactionPolicy": "concurrent", "CompactionPolicyProperties": [ { "Name": "max-component-count", "Value": "30" }, { "Name": "min-merge-component-count", "Value": "3" }, { "Name": "max-merge-component-count", "Value": "10" }, { "Name": "size-ratio", "Value": "1.2" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "DatabaseName" ], [ "DataverseName" ] ], "PrimaryKey": [ [ "DatabaseName" ], [ "DataverseName" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Sat Sep 30 23:42:12 PDT 2023", "DatasetId": 1, "PendingOp": 0, "DatasetFormat": { "Format": "ROW" } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/user-defined-functions/udf32_metadata/udf32_metadata.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/user-defined-functions/udf32_metadata/udf32_metadata.2.adm
new file mode 100644
index 0000000..a1c751b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cloud/user-defined-functions/udf32_metadata/udf32_metadata.2.adm
@@ -0,0 +1,8 @@
+{ "fn": { "DatabaseName": "Default", "DataverseName": "test", "Name": "myfn001", "Arity": "0", "Params": [  ], "ReturnType": "", "Definition": "42", "Language": "SQLPP", "Kind": "SCALAR", "Dependencies": [ [  ], [  ], [  ] ] } }
+{ "fn": { "DatabaseName": "Default", "DataverseName": "test", "Name": "myfn002", "Arity": "1", "Params": [ "a" ], "ReturnType": "", "Definition": "a", "Language": "SQLPP", "Kind": "SCALAR", "Dependencies": [ [  ], [  ], [  ] ] } }
+{ "fn": { "DatabaseName": "Default", "DataverseName": "test", "Name": "myfn003", "Arity": "2", "Params": [ "a", "b" ], "ReturnType": "", "Definition": "a + b", "Language": "SQLPP", "Kind": "SCALAR", "Dependencies": [ [  ], [  ], [  ] ] } }
+{ "fn": { "DatabaseName": "Default", "DataverseName": "test", "Name": "myfn004", "Arity": "-1", "Params": [ "args" ], "ReturnType": "", "Definition": "args", "Language": "SQLPP", "Kind": "SCALAR", "Dependencies": [ [  ], [  ], [  ] ] } }
+{ "fn": { "DatabaseName": "Default", "DataverseName": "test", "Name": "myfn005", "Arity": "1", "Params": [ "a" ], "ReturnType": "", "Definition": "a", "Language": "SQLPP", "Kind": "SCALAR", "Dependencies": [ [  ], [  ], [  ] ] } }
+{ "fn": { "DatabaseName": "Default", "DataverseName": "test", "Name": "myfn005", "Arity": "2", "Params": [ "a", "b" ], "ReturnType": "", "Definition": "a + b", "Language": "SQLPP", "Kind": "SCALAR", "Dependencies": [ [  ], [  ], [  ] ] } }
+{ "fn": { "DatabaseName": "Default", "DataverseName": "test", "Name": "myfn006", "Arity": "-1", "Params": [ "args" ], "ReturnType": "", "Definition": "args", "Language": "SQLPP", "Kind": "SCALAR", "Dependencies": [ [  ], [  ], [  ] ] } }
+{ "fn": { "DatabaseName": "Default", "DataverseName": "test", "Name": "myfn006", "Arity": "1", "Params": [ "a" ], "ReturnType": "", "Definition": "a", "Language": "SQLPP", "Kind": "SCALAR", "Dependencies": [ [  ], [  ], [  ] ] } }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_profiled.xml b/asterixdb/asterix-app/src/test/resources/runtimets/sqlpp_queries.xml
similarity index 95%
rename from asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_profiled.xml
rename to asterixdb/asterix-app/src/test/resources/runtimets/sqlpp_queries.xml
index b92e37a..ffe81d6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_profiled.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/sqlpp_queries.xml
@@ -16,17 +16,7 @@
  ! specific language governing permissions and limitations
  ! under the License.
  !-->
-<!DOCTYPE test-suite [
-        <!ENTITY ObjectsQueries SYSTEM "queries_sqlpp/objects/ObjectsQueries.xml">
-        <!ENTITY AsyncDeferredQueries SYSTEM "queries_sqlpp/async-deferred/AsyncDeferredQueries.xml">
-        <!ENTITY GeoQueries SYSTEM "queries_sqlpp/geojson/GeoJSONQueries.xml">
-        <!ENTITY TemporalQueries SYSTEM "queries_sqlpp/temporal/TemporalQueries.xml">
-        ]>
-<test-suite xmlns="urn:xml.testframework.asterix.apache.org" ResultOffsetPath="results" QueryOffsetPath="queries_sqlpp" QueryFileExtension=".sqlpp" SourceLocation="true">
-  &ObjectsQueries;
-  &AsyncDeferredQueries;
-  &GeoQueries;
-  &TemporalQueries;
+<test-group name="sqlpp_queries">
   <test-group name="api">
     <test-case FilePath="api">
       <compilation-unit name="compileonly">
@@ -34,6 +24,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="api">
+      <compilation-unit name="compileonly-2">
+        <output-dir compare="Text">compileonly-2</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="api">
       <compilation-unit name="multiple-param-values">
         <output-dir compare="Text">multiple-param-values</output-dir>
       </compilation-unit>
@@ -264,7 +259,7 @@
         <output-dir compare="Text">at00</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="flwor">
+    <test-case FilePath="flwor">
       <compilation-unit name="query-ASTERIXDB-1463">
         <output-dir compare="Text">query-ASTERIXDB-1485</output-dir>
       </compilation-unit>
@@ -273,7 +268,7 @@
       <compilation-unit name="query-ASTERIXDB-1485">
         <output-dir compare="Text">query-ASTERIXDB-1485</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
   </test-group>
   <test-group name="sorting">
     <test-case FilePath="sorting">
@@ -1612,6 +1607,11 @@
         <output-dir compare="Text">min_max_arrays</output-dir>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="aggregate">
+      <compilation-unit name="non-pure-function">
+        <output-dir compare="Text">non-pure-function</output-dir>
+      </compilation-unit>
+    </test-case>
   </test-group>
   <test-group name="aggregate-sql">
     <test-case FilePath="aggregate-sql">
@@ -3101,6 +3101,21 @@
         <expected-error>Input contains different list types (in line 25, at column 8)</expected-error>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="array_fun">
+      <compilation-unit name="array_binary_search">
+        <output-dir compare="Text">array_binary_search</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="array_fun">
+      <compilation-unit name="array_move">
+        <output-dir compare="Text">array_move</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="array_fun">
+      <compilation-unit name="array_swap">
+        <output-dir compare="Text">array_swap</output-dir>
+      </compilation-unit>
+    </test-case>
   </test-group>
   <test-group name="bitwise">
     <test-case FilePath="bitwise">
@@ -3603,10 +3618,10 @@
     <test-case FilePath="comparison" check-warnings="true">
       <compilation-unit name="incomparable_types">
         <output-dir compare="Text">incomparable_types</output-dir>
-          <expected-warn>Incomparable input types: string and bigint (in line 26, at column 13)</expected-warn>
-          <expected-warn>Incomparable input types: array and bigint (in line 23, at column 7)</expected-warn>
-          <expected-warn>Incomparable input types: point and point (in line 24, at column 18)</expected-warn>
-          <expected-warn>Incomparable input types: bigint and string (in line 25, at column 46)</expected-warn>
+        <expected-warn>Incomparable input types: string and bigint (in line 26, at column 13)</expected-warn>
+        <expected-warn>Incomparable input types: array and bigint (in line 23, at column 7)</expected-warn>
+        <expected-warn>Incomparable input types: point and point (in line 24, at column 18)</expected-warn>
+        <expected-warn>Incomparable input types: bigint and string (in line 25, at column 46)</expected-warn>
       </compilation-unit>
     </test-case>
   </test-group>
@@ -4120,6 +4135,46 @@
         -->
   </test-group>
   <test-group name="ddl">
+    <test-case FilePath="ddl">
+      <compilation-unit name="create-dataset-1">
+        <output-dir compare="Clean-JSON">create-dataset-1</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="ddl">
+      <compilation-unit name="create-dataset-2">
+        <output-dir compare="Clean-JSON">create-dataset-2</output-dir>
+        <source-location>false</source-location>
+        <expected-error>Type mismatch: missing a required field my_id: string</expected-error>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="ddl">
+      <compilation-unit name="create-dataset-3">
+        <output-dir compare="Clean-JSON">create-dataset-3</output-dir>
+        <expected-error>ASX1077: Cannot find dataset non_existent in dataverse test nor an alias with name non_existent (in line 23, at column 21)</expected-error>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="ddl">
+      <compilation-unit name="create-dataset-negative">
+        <output-dir compare="Clean-JSON">create-dataset-negative</output-dir>
+        <expected-error>ASX1001: Syntax error: Invalid primary key specification</expected-error>
+        <expected-error>ASX1001: Syntax error: Invalid primary key specification</expected-error>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="ddl">
+      <compilation-unit name="create-dataset-4">
+        <output-dir compare="Clean-JSON">create-dataset-4</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="ddl">
+      <compilation-unit name="analyze-dataset-1">
+        <output-dir compare="Text">analyze-dataset-1</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="ddl">
+      <compilation-unit name="analyze-dataset-with-indexes">
+        <output-dir compare="Text">analyze-dataset-with-indexes</output-dir>
+      </compilation-unit>
+    </test-case>
     <test-case FilePath="ddl/create-index">
       <compilation-unit name="create-index-1">
         <output-dir compare="Text">create-index-1</output-dir>
@@ -4339,6 +4394,11 @@
         <expected-error>Parameter invalid_date cannot be set</expected-error>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="ddl">
+      <compilation-unit name="drop-anonymous-nested-types">
+        <output-dir compare="Text">drop-anonymous-nested-types</output-dir>
+      </compilation-unit>
+    </test-case>
   </test-group>
   <test-group name="dml">
     <test-case FilePath="dml">
@@ -4451,11 +4511,11 @@
         <output-dir compare="Text">insert-into-empty-dataset</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="dml">
+    <test-case FilePath="dml">
       <compilation-unit name="insert-into-empty-dataset-with-index">
         <output-dir compare="Text">insert-into-empty-dataset-with-index</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="dml">
       <compilation-unit name="insert-syntax">
         <output-dir compare="Text">insert-syntax</output-dir>
@@ -4481,16 +4541,16 @@
         <output-dir compare="Text">insert-and-scan-joined-datasets</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="dml">
+    <test-case FilePath="dml">
       <compilation-unit name="insert-into-loaded-dataset-with-index_01">
         <output-dir compare="Text">insert-into-loaded-dataset-with-index_01</output-dir>
       </compilation-unit>
-    </test-case!-->
-    <!--test-case FilePath="dml">
+    </test-case>
+    <test-case FilePath="dml">
       <compilation-unit name="insert-into-loaded-dataset-with-index_02">
         <output-dir compare="Text">insert-into-loaded-dataset-with-index_02</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="dml">
       <compilation-unit name="insert-into-loaded-dataset_01">
         <output-dir compare="Text">insert-into-loaded-dataset_01</output-dir>
@@ -4512,6 +4572,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="dml">
+      <compilation-unit name="insert-closed">
+        <output-dir compare="Text">insert-closed</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="dml">
       <compilation-unit name="insert-duplicated-keys">
         <output-dir compare="Text">insert-duplicated-keys</output-dir>
         <expected-error>Inserting duplicate keys into the primary storage</expected-error>
@@ -6151,7 +6216,7 @@
         <output-dir compare="Text">btree-sidx-idxonly-to-sidx-idxonly-equi-join_01</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="index-join">
+    <test-case FilePath="index-join">
       <compilation-unit name="btree-sidx-non-idxonly-to-pidx-equi-join_01">
         <output-dir compare="Text">btree-sidx-non-idxonly-to-pidx-equi-join_01</output-dir>
       </compilation-unit>
@@ -6160,7 +6225,7 @@
       <compilation-unit name="btree-sidx-non-idxonly-to-sidx-idxonly-equi-join_01">
         <output-dir compare="Text">btree-sidx-non-idxonly-to-sidx-idxonly-equi-join_01</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="index-join">
       <compilation-unit name="btree-secondary-self-equi-join_01">
         <output-dir compare="Text">btree-secondary-self-equi-join_01</output-dir>
@@ -6210,6 +6275,11 @@
   </test-group>
   <test-group name="index-selection">
     <test-case FilePath="index-selection">
+      <compilation-unit name="batch-lookup">
+        <output-dir compare="Text">batch-lookup</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="index-selection">
       <compilation-unit name="btree-index-composite-key">
         <output-dir compare="Text">btree-index-composite-key</output-dir>
       </compilation-unit>
@@ -6289,17 +6359,17 @@
         <output-dir compare="Text">btree-sidx-idxonly-01</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="index-selection">
+    <test-case FilePath="index-selection">
       <compilation-unit name="btree-sidx-non-idxonly-01">
         <output-dir compare="Text">btree-sidx-non-idxonly-01</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="index-selection">
       <compilation-unit name="cust-index-age-nullable">
         <output-dir compare="Text">cust-index-age-nullable</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="index-selection">
+    <test-case FilePath="index-selection">
       <compilation-unit name="intersection-misc-01">
         <output-dir compare="Text">intersection-misc-01</output-dir>
       </compilation-unit>
@@ -6308,7 +6378,7 @@
       <compilation-unit name="intersection-with-between">
         <output-dir compare="Text">intersection-with-between</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="index-selection">
       <compilation-unit name="inverted-index-ngram-contains">
         <output-dir compare="Text">inverted-index-ngram-contains</output-dir>
@@ -6429,7 +6499,7 @@
         <output-dir compare="Text">rtree-sidx-idxonly-01</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="index-selection">
+    <test-case FilePath="index-selection">
       <compilation-unit name="rtree-sidx-non-idxonly-01">
         <output-dir compare="Text">rtree-sidx-non-idxonly-01</output-dir>
       </compilation-unit>
@@ -6438,7 +6508,7 @@
       <compilation-unit name="rtree-sidx-non-idxonly-02">
         <output-dir compare="Text">rtree-sidx-non-idxonly-02</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="index-selection">
       <compilation-unit name="disjunctive-predicate-1">
         <output-dir compare="Text">disjunctive-predicate-1</output-dir>
@@ -6449,25 +6519,25 @@
         <output-dir compare="Text">dataset-with-meta</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="index-selection" check-warnings="true">
+    <test-case FilePath="index-selection" check-warnings="true">
       <compilation-unit name="hints-skip-index">
         <output-dir compare="Text">hints-skip-index</output-dir>
         <expected-warn><![CDATA[ASX1132: Invalid specification for hint skip-index. ASX1001: Syntax error: In line 1 >>(13, idx_1k)<< Encountered <INTEGER_LITERAL> "13" at column 2.  (in line 32, at column 19)]]></expected-warn>
       </compilation-unit>
-    </test-case!-->
-    <!--test-case FilePath="index-selection" check-warnings="true">
+    </test-case>
+    <test-case FilePath="index-selection" check-warnings="true">
       <compilation-unit name="hints-use-index">
         <output-dir compare="Text">hints-use-index</output-dir>
         <expected-warn><![CDATA[ASX1132: Invalid specification for hint use-index. ASX1001: Syntax error: In line 1 >>(18, idx_1k_2k)<< Encountered <INTEGER_LITERAL> "18" at column 2.  (in line 33, at column 15)]]></expected-warn>
         <expected-warn><![CDATA[ASX1132: Invalid specification for hint use-index. ASX1001: Syntax error: In line 1 >>()<< Encountered ")" at column 2.  (in line 33, at column 15)]]></expected-warn>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="index-selection">
       <compilation-unit name="inverted-index-ngram-edit-distance-with-two-ngram-index">
         <output-dir compare="Text">inverted-index-ngram-edit-distance-with-two-ngram-index</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="index-selection">
+    <test-case FilePath="index-selection">
       <compilation-unit name="intersection">
         <output-dir compare="Text">intersection</output-dir>
       </compilation-unit>
@@ -6481,7 +6551,7 @@
       <compilation-unit name="intersection_with_nodegroup">
         <output-dir compare="Text">intersection</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="index-selection">
       <compilation-unit name="verify">
         <output-dir compare="Text">verify</output-dir>
@@ -6637,6 +6707,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="join">
+      <compilation-unit name="hash-join-with-redundant-variable">
+        <output-dir compare="Text">hash-join-with-redundant-variable</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="join">
       <compilation-unit name="hash_join_array">
         <output-dir compare="Text">hash_join_array</output-dir>
       </compilation-unit>
@@ -6656,6 +6731,16 @@
         <output-dir compare="Text">join-with-empty-dataset</output-dir>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="join">
+      <compilation-unit name="nlj_partitioning_property">
+        <output-dir compare="Text">nlj_partitioning_property</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="join">
+      <compilation-unit name="inner_right_corr">
+        <output-dir compare="Text">inner_right_corr</output-dir>
+      </compilation-unit>
+    </test-case>
   </test-group>
   <test-group name="list">
     <test-case FilePath="list">
@@ -7207,6 +7292,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="misc">
+      <compilation-unit name="metadata_only_02">
+        <output-dir compare="Text">metadata_only_02</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="misc">
       <compilation-unit name="cast-ASTERIXDB-2458">
         <output-dir compare="Text">cast-ASTERIXDB-2458</output-dir>
       </compilation-unit>
@@ -7243,6 +7333,11 @@
         <output-dir compare="Text">query-ASTERIXDB-865</output-dir>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="misc">
+      <compilation-unit name="serialized_size_fun">
+        <output-dir compare="Text">serialized_size_fun</output-dir>
+      </compilation-unit>
+    </test-case>
   </test-group>
   <test-group name="multipart-dataverse">
     <test-case FilePath="multipart-dataverse">
@@ -7516,11 +7611,11 @@
           <output-dir compare="Text">btree-index-01</output-dir>
         </compilation-unit>
       </test-case>
-      <!--test-case FilePath="open-index-non-enforced/index-selection">
+      <test-case FilePath="open-index-non-enforced/index-selection">
         <compilation-unit name="btree-index-02">
           <output-dir compare="Text">btree-index-02</output-dir>
         </compilation-unit>
-      </test-case!-->
+      </test-case>
       <test-case FilePath="open-index-non-enforced/index-selection">
         <compilation-unit name="btree-index-03">
           <output-dir compare="Text">btree-index-03</output-dir>
@@ -7716,11 +7811,11 @@
           <output-dir compare="Text">non-enforced-01</output-dir>
         </compilation-unit>
       </test-case>
-      <!--test-case FilePath="nested-open-index/index-selection">
+      <test-case FilePath="nested-open-index/index-selection">
         <compilation-unit name="non-enforced-02">
           <output-dir compare="Text">non-enforced-02</output-dir>
         </compilation-unit>
-      </test-case!-->
+      </test-case>
       <test-case FilePath="nested-open-index/index-selection">
         <compilation-unit name="non-enforced-03">
           <output-dir compare="Text">non-enforced-03</output-dir>
@@ -8004,32 +8099,32 @@
         <output-dir compare="Text">drop-index</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="nested-index-dml">
+    <test-case FilePath="nested-index-dml">
       <compilation-unit name="insert-into-empty-dataset-with-index">
         <output-dir compare="Text">insert-into-empty-dataset-with-index</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="nested-index-dml">
       <compilation-unit name="insert-into-empty-dataset-with-sec-primary-index">
         <output-dir compare="Text">insert-into-empty-dataset-with-sec-primary-index</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="nested-index-dml">
+    <test-case FilePath="nested-index-dml">
       <compilation-unit name="insert-into-loaded-dataset-with-index_01">
         <output-dir compare="Text">insert-into-loaded-dataset-with-index_01</output-dir>
       </compilation-unit>
-    </test-case!-->
-    <!--test-case FilePath="nested-index-dml">
+    </test-case>
+    <test-case FilePath="nested-index-dml">
       <compilation-unit name="insert-into-loaded-dataset-with-index_02">
         <output-dir compare="Text">insert-into-loaded-dataset-with-index_02</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="nested-index-dml">
       <compilation-unit name="insert-into-loaded-dataset-with-sec-primary-index">
         <output-dir compare="Text">insert-into-loaded-dataset-with-sec-primary-index</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="nested-index-dml">
+    <test-case FilePath="nested-index-dml">
       <compilation-unit name="load-with-index">
         <output-dir compare="Text">load-with-index</output-dir>
       </compilation-unit>
@@ -8053,7 +8148,7 @@
       <compilation-unit name="load-with-word-index">
         <output-dir compare="Text">load-with-word-index</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="nested-index-dml">
       <compilation-unit name="scan-delete-btree-secondary-index-nullable">
         <output-dir compare="Text">scan-delete-btree-secondary-index-nullable</output-dir>
@@ -8165,6 +8260,18 @@
           <source-location>false</source-location>
         </compilation-unit>
       </test-case>
+      <test-case FilePath="array-index/error-handling">
+        <compilation-unit name="no-field-type">
+          <output-dir compare="Text">no-field-type</output-dir>
+          <expected-error>ASX1079: Compilation error: cannot find type of elements of field 'open_array_f'</expected-error>
+          <expected-error>ASX1079: Compilation error: cannot find type of elements of field 'nested_array'</expected-error>
+          <expected-error>ASX1079: Compilation error: cannot find type of elements of field 'nested_array'</expected-error>
+          <expected-error>ASX1079: Compilation error: cannot find type of field 'proj1'</expected-error>
+          <expected-error>ASX1079: Compilation error: cannot find type of field 'proj1'</expected-error>
+          <expected-error>ASX1079: Compilation error: cannot find type of field 'proj1'</expected-error>
+          <expected-error>ASX1079: Compilation error: cannot find type of field 'proj1'</expected-error>
+        </compilation-unit>
+      </test-case>
     </test-group>
     <test-group name="array-index/metadata">
       <test-case FilePath="array-index/metadata/closed">
@@ -8549,6 +8656,11 @@
           <output-dir compare="Text">using-feed</output-dir>
         </compilation-unit>
       </test-case>
+      <test-case FilePath="array-index/select-unnest-queries/open">
+        <compilation-unit name="multiple-indexes">
+          <output-dir compare="Text">multiple-indexes</output-dir>
+        </compilation-unit>
+      </test-case>
     </test-group>
     <test-group name="array-index/select-quantified-queries">
       <test-case FilePath="array-index/select-quantified-queries">
@@ -8581,6 +8693,11 @@
           <output-dir compare="Text">with-open-index</output-dir>
         </compilation-unit>
       </test-case>
+      <test-case FilePath="array-index/select-quantified-queries">
+        <compilation-unit name="multiple-indexes">
+          <output-dir compare="Text">multiple-indexes</output-dir>
+        </compilation-unit>
+      </test-case>
     </test-group>
     <test-group name="array-index/composite-index-queries">
       <test-case FilePath="array-index">
@@ -9663,6 +9780,22 @@
       </compilation-unit>
     </test-case>
   </test-group>
+  <test-group name="query_index">
+    <test-case FilePath="query_index">
+      <compilation-unit name="q01">
+        <output-dir compare="Text">q01</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="query_index">
+      <compilation-unit name="negative">
+        <output-dir compare="Text">negative</output-dir>
+        <expected-error>ASX1105: Operation not supported on primary index ds1</expected-error>
+        <expected-error>ASX1026: The given function expression query-index("test", "ds1", "pk_idx") cannot utilize index</expected-error>
+        <expected-error>ASX1026: The given function expression query-index("test", "ds1", "sample_idx_1_ds1") cannot utilize index</expected-error>
+        <expected-error>ASX1026: The given function expression query-index("test", "ds1", "ds1_array_idx") cannot utilize index</expected-error>
+      </compilation-unit>
+    </test-case>
+  </test-group>
   <test-group name="range-hints">
     <test-case FilePath="range-hints">
       <compilation-unit name="order-by">
@@ -9886,6 +10019,36 @@
         <output-dir compare="Text">var_star_2</output-dir>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="select-star">
+      <compilation-unit name="escaping/success">
+        <output-dir compare="Text">escaping</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="select-star">
+      <compilation-unit name="escaping/failure">
+        <output-dir compare="Text">none</output-dir>
+        <expected-error>ASX1001: Syntax error</expected-error>
+      </compilation-unit>
+    </test-case>
+  </test-group>
+  <test-group name="select-exclude">
+    <test-case FilePath="select-exclude">
+      <compilation-unit name="tiny-social">
+        <output-dir compare="Text">tiny-social</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="select-exclude">
+      <compilation-unit name="complex-exclude">
+        <output-dir compare="Text">complex-exclude</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="select-exclude">
+      <compilation-unit name="exclude-negative">
+        <output-dir compare="Text">exclude-negative</output-dir>
+        <expected-error>ASX1001: Syntax error</expected-error>
+        <expected-error>ASX1001: Syntax error</expected-error>
+      </compilation-unit>
+    </test-case>
   </test-group>
   <test-group name="semistructured">
     <test-case FilePath="semistructured">
@@ -10291,11 +10454,11 @@
     </test-case>
   </test-group>
   <test-group name="statement-params">
-    <!--test-case FilePath="statement-params">
+    <test-case FilePath="statement-params">
       <compilation-unit name="index_01">
         <output-dir compare="Text">index_01</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="statement-params">
       <compilation-unit name="mixed_01">
         <output-dir compare="Text">mixed_01</output-dir>
@@ -10354,6 +10517,11 @@
         <output-dir compare="Text">query-ASTERIXDB-2413</output-dir>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="statement-params">
+      <compilation-unit name="query-ASTERIXDB-3116">
+        <output-dir compare="Text">query-ASTERIXDB-3116</output-dir>
+      </compilation-unit>
+    </test-case>
   </test-group>
   <test-group name="string">
     <test-case FilePath="string">
@@ -13512,6 +13680,11 @@
         <expected-error>ASX1050: Cannot find dataset with name v3 in dataverse test1 (in line 24, at column 1)</expected-error>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="view">
+      <compilation-unit name="view-pushdown">
+        <output-dir compare="Text">view-pushdown</output-dir>
+      </compilation-unit>
+    </test-case>
   </test-group>
   <test-group name="load">
     <test-case FilePath="load">
@@ -14134,6 +14307,11 @@
         <output-dir compare="Text">right_branch_opt_1</output-dir>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="leftouterjoin">
+      <compilation-unit name="index-only-leftouterjoin">
+        <output-dir compare="Text">index-only-leftouterjoin</output-dir>
+      </compilation-unit>
+    </test-case>
   </test-group>
   <test-group name="index-leftouterjoin">
     <test-case FilePath="index-leftouterjoin">
@@ -14181,16 +14359,16 @@
         <output-dir compare="Text">probe-sidx-btree-idxonly-join-btree-sidx1-idxonly</output-dir>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="index-leftouterjoin">
+    <test-case FilePath="index-leftouterjoin">
       <compilation-unit name="probe-sidx-btree-non-idxonly-join-btree-pidx1">
         <output-dir compare="Text">probe-sidx-btree-non-idxonly-join-btree-pidx1</output-dir>
       </compilation-unit>
-    </test-case!-->
-    <!--test-case FilePath="index-leftouterjoin">
+    </test-case>
+    <test-case FilePath="index-leftouterjoin">
       <compilation-unit name="probe-sidx-btree-non-idxonly-join-btree-sidx1-idxonly">
         <output-dir compare="Text">probe-sidx-btree-non-idxonly-join-btree-sidx1-idxonly</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
     <test-case FilePath="index-leftouterjoin">
       <compilation-unit name="probe-pidx-with-join-btree-pidx1">
         <output-dir compare="Text">probe-pidx-with-join-btree-pidx1</output-dir>
@@ -14951,6 +15129,11 @@
         <output-dir compare="Text">query-ASTERIXDB-1354</output-dir>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="union">
+      <compilation-unit name="union_type_cast">
+        <output-dir compare="Text">union_type_cast</output-dir>
+      </compilation-unit>
+    </test-case>
   </test-group>
   <test-group name="upsert">
     <test-case FilePath="upsert">
@@ -15350,6 +15533,44 @@
   </test-group>
   <test-group name="warnings">
     <test-case FilePath="warnings" check-warnings="true">
+      <compilation-unit name="broadcast-join-hint-warning">
+        <output-dir compare="Text">broadcast-join-hint-warning</output-dir>
+        <expected-warn><![CDATA[ASX1107: Unexpected hint: hash-bcas. "hash-bcast", "indexnl", "hashjoin", "skip-index", "use-index", "selectivity", "productivity" expected at this location (in line 36, at column 22)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hash-bcast. ASX1001: Syntax error: In line 1 >>()<< Encountered ")" at column 2.  (in line 36, at column 22)]]></expected-warn>
+        <expected-warn>HYR10006: Could not apply broadcast hash join hint: broadcast cn (in line 36, at column 43)</expected-warn>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="warnings" check-warnings="true">
+      <compilation-unit name="hashjoin-hint-warning">
+        <output-dir compare="Text">hashjoin-hint-warning</output-dir>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>build<< Encountered <EOF> at column 5.  (in line 36, at column 22)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1107: Unexpected hint: hashjon build. "hash-bcast", "indexnl", "hashjoin", "skip-index", "use-index", "selectivity", "productivity" expected at this location (in line 36, at column 22)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>buil<< Encountered <EOF> at column 4.  (in line 36, at column 22)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>build ()<< Encountered ")" at column 8.  (in line 36, at column 22)]]></expected-warn>
+        <expected-warn>HYR10006: Could not apply hash join hint: build with cn (in line 36, at column 47)</expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>probe<< Encountered <EOF> at column 5.  (in line 36, at column 22)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1107: Unexpected hint: hashjon probe. "hash-bcast", "indexnl", "hashjoin", "skip-index", "use-index", "selectivity", "productivity" expected at this location (in line 36, at column 22)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>prob<< Encountered <EOF> at column 4.  (in line 36, at column 22)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>probe ()<< Encountered ")" at column 8.  (in line 36, at column 22)]]></expected-warn>
+        <expected-warn>HYR10006: Could not apply hash join hint: probe with cn (in line 36, at column 47)</expected-warn>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="warnings" check-warnings="true">
+      <compilation-unit name="cardinality-hint-warning">
+        <output-dir compare="Text">cardinality-hint-warning</output-dir>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint selectivity. Expected selectivity value (in line 31, at column 52)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint selectivity. Selectivity has to be a decimal value greater than 0 and less than 1 (in line 31, at column 52)]]></expected-warn>
+        <expected-warn>HYR10006: Could not apply selectivity hint: Selectivity specified: 0.0, has to be a decimal value greater than 0 and less than 1 (in line 33, at column 73)</expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint selectivity. Selectivity has to be a decimal value greater than 0 and less than 1 (in line 31, at column 52)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Expected productivity collection name and value (in line 31, at column 23)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 31, at column 23)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 31, at column 23)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 31, at column 23)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 31, at column 23)]]></expected-warn>
+        <expected-warn>HYR10006: Could not apply productivity hint: Productivity specified: 0.0, has to be a decimal value greater than 0 (in line 33, at column 47)</expected-warn>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="warnings" check-warnings="true">
       <compilation-unit name="inapplicable-hint-warning">
         <output-dir compare="Text">inapplicable-hint-warning</output-dir>
         <expected-warn>HYR10006: Could not apply Group By hint: hash</expected-warn>
@@ -15368,6 +15589,15 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="warnings" check-warnings="true">
+      <compilation-unit name="multiple-hints-warning">
+        <output-dir compare="Text">multiple-hints-warning</output-dir>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>build ()<< Encountered ")" at column 8.  (in line 30, at column 20)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 30, at column 46)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 30, at column 45)]]></expected-warn>
+        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>build ()<< Encountered ")" at column 8.  (in line 30, at column 20)]]></expected-warn>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="warnings" check-warnings="true">
       <compilation-unit name="plan-warning">
         <output-dir compare="Text">plan-warning</output-dir>
         <expected-warn>HYR10007: Encountered a cross product join</expected-warn>
@@ -15385,11 +15615,11 @@
         <expected-warn>ASX1107: Unexpected hint: unknown_hint_relexpr_6. "hash-bcast", "indexnl", "hashjoin", "skip-index", "use-index", "selectivity", "productivity" expected at this location</expected-warn>
       </compilation-unit>
     </test-case>
-    <!--test-case FilePath="warnings">
+    <test-case FilePath="warnings">
       <compilation-unit name="warnings-limit">
         <output-dir compare="Clean-JSON">warnings-limit</output-dir>
       </compilation-unit>
-    </test-case!-->
+    </test-case>
   </test-group>
   <test-group name="nonpure">
     <test-case FilePath="nonpure">
@@ -15877,4 +16107,291 @@
       </compilation-unit>
     </test-case>
   </test-group>
-</test-suite>
+  <test-group name="column">
+    <test-case FilePath="column">
+      <compilation-unit name="assembly/001">
+        <output-dir compare="Text">assembly/001</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="assembly/002">
+        <output-dir compare="Text">assembly/002</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="assembly/003">
+        <output-dir compare="Text">assembly/003</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="assembly/004">
+        <output-dir compare="Text">assembly/004</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="delete/001">
+        <output-dir compare="Text">delete/001</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="delete/002">
+        <output-dir compare="Text">delete/002</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="delete/003">
+        <output-dir compare="Text">delete/003</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="delete/004">
+        <output-dir compare="Text">delete/004</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="delete/005">
+        <output-dir compare="Text">delete/005</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="nested-pk">
+        <output-dir compare="Text">nested-pk</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="meta/meta_after_gby">
+        <output-dir compare="Text">meta/meta_after_gby</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="meta/meta_in_with_clause">
+        <output-dir compare="Text">meta/meta_in_with_clause</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="meta/resolving_pk_with_meta">
+        <output-dir compare="Text">meta/resolving_pk_with_meta</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="missing-null-values/001">
+        <output-dir compare="Text">missing-null-values/001</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="missing-null-values/002">
+        <output-dir compare="Text">missing-null-values/002</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="missing-null-values/003">
+        <output-dir compare="Text">missing-null-values/003</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="missing-null-values/003">
+        <output-dir compare="Text">missing-null-values/003</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="missing-null-values/005">
+        <output-dir compare="Text">missing-null-values/005</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="missing-null-values/006">
+        <output-dir compare="Text">missing-null-values/006</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="empty-array/001">
+        <output-dir compare="Text">empty-array/001</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="empty-array/002">
+        <output-dir compare="Text">empty-array/002</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="empty-array/003">
+        <output-dir compare="Text">empty-array/003</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="pushdown/array-access-pushdown">
+        <output-dir compare="Text">pushdown/array-access-pushdown</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="pushdown/field-access-pushdown">
+        <output-dir compare="Text">pushdown/field-access-pushdown</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="pushdown/heterogeneous-access-pushdown">
+        <output-dir compare="Text">pushdown/heterogeneous-access-pushdown</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="pushdown/other-pushdowns">
+        <output-dir compare="Text">pushdown/other-pushdowns</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="select-count-one-field">
+        <output-dir compare="Text">select-count-one-field</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="upsert/001">
+        <output-dir compare="Text">upsert/001</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="upsert/002">
+        <output-dir compare="Text">upsert/002</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column" check-warnings="true">
+      <compilation-unit name="filter/001">
+        <output-dir compare="Text">filter/001</output-dir>
+        <expected-warn>ASX0051: Incomparable input types: string and bigint (in line 30, at column 23)</expected-warn>
+        <expected-warn>ASX0051: Incomparable input types: bigint and string (in line 29, at column 38)</expected-warn>
+        <expected-warn>ASX0051: Incomparable input types: array and bigint (in line 28, at column 15)</expected-warn>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column" check-warnings="true">
+      <compilation-unit name="filter/002">
+        <output-dir compare="Text">filter/002</output-dir>
+        <expected-warn>ASX0051: Incomparable input types: string and bigint (in line 29, at column 23)</expected-warn>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="filter/003">
+        <output-dir compare="Text">filter/003</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="filter/004">
+        <output-dir compare="Text">filter/004</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="filter/005">
+        <output-dir compare="Text">filter/005</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="filter/006">
+        <output-dir compare="Text">filter/006</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="filter/007">
+        <output-dir compare="Text">filter/007</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="filter/not-in_every">
+        <output-dir compare="Text">filter/not-in_every</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="big-object">
+        <output-dir compare="Text">big-object</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="secondary-index/array-index/use-case-1">
+        <output-dir compare="Text">secondary-index/array-index/use-case-1</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="secondary-index/array-index/use-case-2">
+        <output-dir compare="Text">secondary-index/array-index/use-case-2</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="secondary-index/array-index/use-case-3">
+        <output-dir compare="Text">secondary-index/array-index/use-case-3</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="secondary-index/array-index/use-case-4">
+        <output-dir compare="Text">secondary-index/array-index/use-case-4</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="secondary-index/array-index/with-additional-atomic-index">
+        <output-dir compare="Text">secondary-index/array-index/with-additional-atomic-index</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="secondary-index/array-index/with-composite-sk">
+        <output-dir compare="Text">secondary-index/array-index/with-composite-sk</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="secondary-index/index-with-meta">
+        <output-dir compare="Text">secondary-index/index-with-meta</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="secondary-index/create-index/after-bulkload">
+        <output-dir compare="Text">secondary-index/create-index/after-bulkload</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="secondary-index/create-index/after-insert">
+        <output-dir compare="Text">secondary-index/create-index/after-insert</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="secondary-index/create-index/after-upsert-with-meta">
+        <output-dir compare="Text">secondary-index/create-index/after-upsert-with-meta</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="column">
+      <compilation-unit name="analyze-dataset">
+        <output-dir compare="Text">analyze-dataset</output-dir>
+      </compilation-unit>
+    </test-case>
+  </test-group>
+  <test-group name="copy">
+    <test-case FilePath="copy">
+      <compilation-unit name="copy-1">
+        <output-dir compare="Text">copy-1</output-dir>
+      </compilation-unit>
+    </test-case>
+  </test-group>
+  <test-group name="atomic-statements">
+    <test-case FilePath="atomic-statements">
+      <compilation-unit name="atomic-statements-1">
+        <output-dir compare="Clean-JSON">atomic-statements-1</output-dir>
+        <expected-error>HYR0033: Inserting duplicate keys into the primary storage</expected-error>
+        <source-location>false</source-location>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="atomic-statements">
+      <compilation-unit name="atomic-statements-2">
+        <output-dir compare="Clean-JSON">atomic-statements-2</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="atomic-statements">
+      <compilation-unit name="atomic-statements-3">
+        <output-dir compare="Clean-JSON">atomic-statements-3</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="atomic-statements">
+      <compilation-unit name="atomic-statements-4">
+        <output-dir compare="Clean-JSON">atomic-statements-4</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="atomic-statements">
+      <compilation-unit name="columnar-dataset">
+        <output-dir compare="Clean-JSON">columnar-dataset</output-dir>
+      </compilation-unit>
+    </test-case>
+  </test-group>
+</test-group>
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_cloud_storage.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_cloud_storage.xml
index 9c1d924..a43d4f1a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_cloud_storage.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_cloud_storage.xml
@@ -17,6 +17,9 @@
  ! specific language governing permissions and limitations
  ! under the License.
  !-->
+<!DOCTYPE test-suite [
+        <!ENTITY sqlpp_queries SYSTEM "sqlpp_queries.xml">
+        ]>
 <test-suite xmlns="urn:xml.testframework.asterix.apache.org" ResultOffsetPath="results" QueryOffsetPath="queries_sqlpp" QueryFileExtension=".sqlpp">
   <test-group name="aws-s3-external-dataset">
     <test-case FilePath="cloud_storage">
@@ -30,4 +33,5 @@
       </compilation-unit>
     </test-case>
   </test-group>
+  &sqlpp_queries;
 </test-suite>
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
index 2980fa3..288a310 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@ -17,6 +17,7 @@
  ! under the License.
  !-->
 <!DOCTYPE test-suite [
+        <!ENTITY SqlppQueries SYSTEM "sqlpp_queries.xml">
         <!ENTITY ObjectsQueries SYSTEM "queries_sqlpp/objects/ObjectsQueries.xml">
         <!ENTITY AsyncDeferredQueries SYSTEM "queries_sqlpp/async-deferred/AsyncDeferredQueries.xml">
         <!ENTITY GeoQueries SYSTEM "queries_sqlpp/geojson/GeoJSONQueries.xml">
@@ -27,16381 +28,5 @@
   &AsyncDeferredQueries;
   &GeoQueries;
   &TemporalQueries;
-  <test-group name="api">
-    <test-case FilePath="api">
-      <compilation-unit name="compileonly">
-        <output-dir compare="Text">compileonly</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="compileonly-2">
-        <output-dir compare="Text">compileonly-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="multiple-param-values">
-        <output-dir compare="Text">multiple-param-values</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="readonly-request">
-        <output-dir compare="Text">readonly-request</output-dir>
-        <expected-error>ASX0044: CREATE_DATAVERSE statement is not supported in read-only mode</expected-error>
-        <expected-error>ASX0044: DATAVERSE_DROP statement is not supported in read-only mode</expected-error>
-        <expected-error>ASX0044: DATASET_DECL statement is not supported in read-only mode</expected-error>
-        <expected-error>ASX0044: DATASET_DROP statement is not supported in read-only mode</expected-error>
-        <expected-error>ASX0044: CREATE_INDEX statement is not supported in read-only mode</expected-error>
-        <expected-error>ASX0044: INDEX_DROP statement is not supported in read-only mode</expected-error>
-        <expected-error>ASX0044: INSERT statement is not supported in read-only mode</expected-error>
-        <expected-error>ASX0044: UPSERT statement is not supported in read-only mode</expected-error>
-        <expected-error>ASX0044: DELETE statement is not supported in read-only mode</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api" check-warnings="true">
-      <compilation-unit name="request-dataverse">
-        <output-dir compare="Text">request-dataverse</output-dir>
-        <expected-warn>ASX1063: Cannot find dataverse with name testUnknown</expected-warn>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="request-param-validation">
-        <output-dir compare="Text">request-param-validation</output-dir>
-        <expected-error>Invalid value for parameter 'format': foo</expected-error>
-        <expected-error>Invalid value for parameter 'pretty': bar</expected-error>
-        <expected-error>Invalid value for parameter 'plan-format': blah</expected-error>
-        <expected-error>Invalid value for parameter 'max-result-reads': foo</expected-error>
-        <expected-error>Invalid value for parameter 'max-result-reads': 9999999999999999999999999999999999999999</expected-error>
-        <expected-error>Invalid value for parameter 'max-warnings': baz</expected-error>
-        <expected-error>Invalid value for parameter 'max-warnings': 1.5</expected-error>
-        <expected-error>Invalid value for parameter 'mode': asyn</expected-error>
-        <expected-error>Invalid value for parameter 'timeout': 12</expected-error>
-        <expected-error>Invalid value for parameter 'args': 12</expected-error>
-        <expected-error>Unable to process JSON content in request</expected-error>
-        <expected-error>Unable to process JSON content in request</expected-error>
-        <expected-error>Invalid value for parameter 'format': foo</expected-error>
-        <expected-error>Invalid value for parameter 'pretty': bar</expected-error>
-        <expected-error>Invalid value for parameter 'plan-format': blah</expected-error>
-        <expected-error>Invalid value for parameter 'max-result-reads': foo</expected-error>
-        <expected-error>Invalid value for parameter 'max-warnings': baz</expected-error>
-        <expected-error>Invalid value for parameter 'mode': asyn</expected-error>
-        <expected-error>Invalid value for parameter 'args': 12</expected-error>
-        <expected-error>Unable to process JSON content in request</expected-error>
-        <expected-error>Unable to process JSON content in request</expected-error>
-        <expected-error>Invalid value for parameter 'profile': true</expected-error>
-        <expected-error>Invalid value for parameter 'profile': true</expected-error>
-        <expected-error>Invalid value for parameter 'profile': foo</expected-error>
-        <expected-error>Invalid value for parameter 'profile': foo</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="request-param-validation-400-BAD">
-        <output-dir compare="Text">request-param-validation-400-BAD</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="request-param">
-        <output-dir compare="Text">request-param</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="format-param-in-accept-01">
-        <output-dir compare="Text">format-param-in-accept-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="format-param-in-accept-02">
-        <output-dir compare="Clean-JSON">format-param-in-accept-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="format-param-in-accept-03">
-        <output-dir compare="Lossless-JSON">format-param-in-accept-03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="format-param-in-accept-04">
-        <output-dir compare="Text">format-param-in-accept-04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="format-param-in-accept-05">
-        <output-dir compare="AST">format-param-in-accept-05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="get-non-query">
-        <output-dir compare="Text">get-non-query</output-dir>
-        <expected-error>CREATE_DATAVERSE statement is not supported in read-only mode</expected-error>
-        <expected-error>TYPE_DECL statement is not supported in read-only mode</expected-error>
-        <expected-error>CREATE_FUNCTION statement is not supported in read-only mode</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="get-query">
-        <output-dir compare="Text">get-query</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="post-non-query">
-        <output-dir compare="Text">post-non-query</output-dir>
-        <expected-error>TYPE_DECL statement is not supported in read-only mode</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="signature">
-        <output-dir compare="Text">signature</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="api">
-      <compilation-unit name="ignore-body-for-get">
-        <output-dir compare="Text">ignore-body-for-get</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="flwor">
-    <test-case FilePath="flwor">
-      <compilation-unit name="at00">
-        <output-dir compare="Text">at00</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="at01">
-        <output-dir compare="Text">at01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="at02">
-        <output-dir compare="Text">at02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="at03">
-        <output-dir compare="Text">at03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="at04">
-        <output-dir compare="Text">at04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="at05">
-        <output-dir compare="Text">at05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="at06">
-        <output-dir compare="Text">at06</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="at07">
-        <output-dir compare="Text">at07</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="order-by-13">
-        <output-dir compare="Text">order-by-13</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="query-issue550">
-        <output-dir compare="Text">query-issue550</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="query-ASTERIXDB-883">
-        <output-dir compare="Text">query-ASTERIXDB-883</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="query-ASTERIXDB-1576">
-        <output-dir compare="Text">query-ASTERIXDB-883</output-dir>
-        <expected-error>Duplicate alias definitions: samptable1</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="query-ASTERIXDB-1576-2">
-        <output-dir compare="Text">query-ASTERIXDB-883</output-dir>
-        <expected-error>Duplicate alias definitions: s2</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="query-ASTERIXDB-1576-3">
-        <output-dir compare="Text">query-ASTERIXDB-883</output-dir>
-        <expected-error>Duplicate alias definitions: s1</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor" check-warnings="true">
-      <compilation-unit name="query-ASTERIXDB-2446">
-        <output-dir compare="Text">query-ASTERIXDB-2446</output-dir>
-        <expected-error>ASX0013: Duplicate field name 'a'</expected-error>
-        <expected-warn>Duplicate field name 'c' (in line 28, at column 84)</expected-warn>
-        <expected-warn>Duplicate field name 'e' (in line 28, at column 116)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="query-ASTERIXDB-2446-2">
-        <output-dir compare="Text">query-ASTERIXDB-883</output-dir>
-        <expected-error>ASX0013: Duplicate field name 'a' (in line 27, at column 20)</expected-error>
-        <expected-error>ASX0013: Duplicate field name 'b' (in line 27, at column 20)</expected-error>
-        <expected-error>ASX0013: Duplicate field name 'c' (in line 27, at column 11)</expected-error>
-        <expected-error>ASX0013: Duplicate field name 'd' (in line 27, at column 11)</expected-error>
-        <expected-error>ASX0013: Duplicate field name 'e' (in line 27, at column 14)</expected-error>
-        <expected-error>ASX0013: Duplicate field name 'f' (in line 27, at column 11)</expected-error>
-        <expected-error>ASX0013: Duplicate field name 'g' (in line 27, at column 11)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="select-let">
-        <output-dir compare="Text">select-let</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="let33">
-        <output-dir compare="Text">let33</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="at00">
-        <output-dir compare="Text">at00</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="query-ASTERIXDB-1463">
-        <output-dir compare="Text">query-ASTERIXDB-1485</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="flwor">
-      <compilation-unit name="query-ASTERIXDB-1485">
-        <output-dir compare="Text">query-ASTERIXDB-1485</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="sorting">
-    <test-case FilePath="sorting">
-      <compilation-unit name="arrays">
-        <output-dir compare="Text">arrays</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sorting">
-      <compilation-unit name="range_hint">
-        <output-dir compare="Text">range_hint</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sorting">
-      <compilation-unit name="records">
-        <output-dir compare="Text">records</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="explain">
-    <test-case FilePath="explain">
-      <compilation-unit name="explain_simple">
-        <output-dir compare="Text">explain_simple</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="explain">
-      <compilation-unit name="explain_caps">
-        <output-dir compare="Text">explain_simple</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="explain">
-      <compilation-unit name="explain_pretty">
-        <parameter name="pretty" value="true" />
-        <output-dir compare="Text">explain_simple</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="explain">
-      <compilation-unit name="explain_object_constructor-01">
-        <output-dir compare="Text">explain_object_constructor-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="explain">
-      <compilation-unit name="explain_object_constructor-02">
-        <output-dir compare="Text">explain_object_constructor-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="explain">
-      <compilation-unit name="explain_object_constructor-03">
-        <output-dir compare="Text">explain_object_constructor-03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="explain">
-      <compilation-unit name="explain_field_access">
-        <output-dir compare="Text">explain_field_access</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="explain">
-      <compilation-unit name="explain_field_access_closed">
-        <output-dir compare="Text">explain_field_access_closed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="explain">
-      <compilation-unit name="explain_negative">
-        <output-dir compare="Text">explain_simple</output-dir>
-        <expected-error>ASX1001: Syntax error: EXPLAIN is not supported for this kind of statement</expected-error>
-        <expected-error>ASX1001: Syntax error: EXPLAIN is not supported for this kind of statement</expected-error>
-        <expected-error>ASX1001: Syntax error: EXPLAIN is not supported for this kind of statement</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="aggregate">
-    <test-case FilePath="aggregate">
-      <compilation-unit name="issue531_string_min_max">
-        <output-dir compare="Text">issue531_string_min_max</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="agg_null">
-        <output-dir compare="Text">agg_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="agg_null_rec">
-        <output-dir compare="Text">agg_null_rec</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="agg_null_rec_1">
-        <output-dir compare="Text">agg_null_rec_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="agg_number_rec">
-        <output-dir compare="Text">agg_number_rec</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate" check-warnings="true">
-      <compilation-unit name="avg_mixed">
-        <output-dir compare="Text">avg_mixed</output-dir>
-        <expected-warn>Unsupported type: agg-avg cannot process input type string (in line 26, at column 16)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate" check-warnings="true">
-      <compilation-unit name="serial_avg_mixed">
-        <output-dir compare="Text">serial_avg_mixed</output-dir>
-        <expected-warn>Unsupported type: agg-avg cannot process input type string (in line 29, at column 39)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="group_only">
-        <output-dir compare="Text">group_only</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="min_mixed">
-        <output-dir compare="Text">min_mixed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_mixed">
-        <output-dir compare="Text">stddev_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-stddev_samp gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_mixed">
-        <output-dir compare="Text">serial_stddev_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-stddev_samp gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_pop_mixed">
-        <output-dir compare="Text">stddev_pop_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-stddev_pop gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_pop_mixed">
-        <output-dir compare="Text">serial_stddev_pop_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-stddev_pop gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate" check-warnings="true">
-      <compilation-unit name="sum/sum_mixed">
-        <output-dir compare="Text">sum/sum_mixed</output-dir>
-        <expected-warn>Unsupported type: agg-sum cannot process input type string (in line 27, at column 16)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate" check-warnings="true">
-      <compilation-unit name="sum/serial_sum_mixed">
-        <output-dir compare="Text">sum/serial_sum_mixed</output-dir>
-        <expected-warn>Unsupported type: agg-sum cannot process input type string (in line 29, at column 39)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_mixed">
-        <output-dir compare="Text">var_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-var_samp gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_mixed">
-        <output-dir compare="Text">serial_var_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-var_samp gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_pop_mixed">
-        <output-dir compare="Text">var_pop_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-var_pop gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_pop_mixed">
-        <output-dir compare="Text">serial_var_pop_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-var_pop gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_mixed">
-        <output-dir compare="Text">kurtosis_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-kurtosis gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_mixed">
-        <output-dir compare="Text">serial_kurtosis_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-kurtosis gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_mixed">
-        <output-dir compare="Text">skewness_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-skewness gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_mixed">
-        <output-dir compare="Text">serial_skewness_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-skewness gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="agg_number">
-        <output-dir compare="Text">agg_number</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="issue425_min_hetero_list_1">
-        <output-dir compare="Text">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="Text">issue425_min_hetero_list</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/issue425_sum_hetero_list_1">
-        <output-dir compare="Text">sum/issue425_sum_hetero_list_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/issue425_sum_hetero_list">
-        <output-dir compare="Text">sum/issue425_sum_hetero_list</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="query-issue400">
-        <output-dir compare="Text">query-issue400</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="issue395">
-        <output-dir compare="Text">issue395</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="issue412_0">
-        <output-dir compare="Text">issue412_0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="issue412_1">
-        <output-dir compare="Text">issue412_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_double">
-        <output-dir compare="Text">avg_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_double_null">
-        <output-dir compare="Text">avg_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_empty_01">
-        <output-dir compare="Text">avg_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_empty_02">
-        <output-dir compare="Text">avg_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_float">
-        <output-dir compare="Text">avg_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_float_null">
-        <output-dir compare="Text">avg_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_int16">
-        <output-dir compare="Text">avg_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_int16_null">
-        <output-dir compare="Text">avg_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_int32">
-        <output-dir compare="Text">avg_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_int32_null">
-        <output-dir compare="Text">avg_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_int64">
-        <output-dir compare="Text">avg_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_int64_null">
-        <output-dir compare="Text">avg_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_int8">
-        <output-dir compare="Text">avg_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_int8_null">
-        <output-dir compare="Text">avg_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="avg_distinct">
-        <output-dir compare="Text">avg_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="count_01">
-        <output-dir compare="Text">count_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="count_dataset">
-        <output-dir compare="Text">count_dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="count_empty_01">
-        <output-dir compare="Text">count_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="count_empty_02">
-        <output-dir compare="Text">count_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="count_null">
-        <output-dir compare="Text">count_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="count_distinct">
-        <output-dir compare="Text">count_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_double">
-        <output-dir compare="Text">kurtosis_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_double_null">
-        <output-dir compare="Text">kurtosis_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_empty_01">
-        <output-dir compare="Text">kurtosis_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_empty_02">
-        <output-dir compare="Text">kurtosis_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_float">
-        <output-dir compare="Text">kurtosis_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_float_null">
-        <output-dir compare="Text">kurtosis_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_int16">
-        <output-dir compare="Text">kurtosis_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_int16_null">
-        <output-dir compare="Text">kurtosis_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_int32">
-        <output-dir compare="Text">kurtosis_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_int32_null">
-        <output-dir compare="Text">kurtosis_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_int64">
-        <output-dir compare="Text">kurtosis_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_int64_null">
-        <output-dir compare="Text">kurtosis_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_int8">
-        <output-dir compare="Text">kurtosis_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_int8_null">
-        <output-dir compare="Text">kurtosis_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="kurtosis_distinct">
-        <output-dir compare="Text">kurtosis_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="max_empty_01">
-        <output-dir compare="Text">max_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="max_empty_02">
-        <output-dir compare="Text">max_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="max_distinct">
-        <output-dir compare="Text">max_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="min_empty_01">
-        <output-dir compare="Text">min_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="min_empty_02">
-        <output-dir compare="Text">min_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="min_distinct">
-        <output-dir compare="Text">min_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_avg">
-        <output-dir compare="Text">scalar_avg</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_avg_empty">
-        <output-dir compare="Text">scalar_avg_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_avg_null">
-        <output-dir compare="Text">scalar_avg_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_count">
-        <output-dir compare="Text">scalar_count</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_count_empty">
-        <output-dir compare="Text">scalar_count_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_count_null">
-        <output-dir compare="Text">scalar_count_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_kurtosis">
-        <output-dir compare="Text">scalar_kurtosis</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_kurtosis_empty">
-        <output-dir compare="Text">scalar_kurtosis_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_kurtosis_null">
-        <output-dir compare="Text">scalar_kurtosis_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_max">
-        <output-dir compare="Text">scalar_max</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_max_empty">
-        <output-dir compare="Text">scalar_max_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_max_null">
-        <output-dir compare="Text">scalar_max_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_min">
-        <output-dir compare="Text">scalar_min</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_min_empty">
-        <output-dir compare="Text">scalar_min_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_min_null">
-        <output-dir compare="Text">scalar_min_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_skewness">
-        <output-dir compare="Text">scalar_skewness</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_skewness_empty">
-        <output-dir compare="Text">scalar_skewness_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_skewness_null">
-        <output-dir compare="Text">scalar_skewness_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_stddev">
-        <output-dir compare="Text">scalar_stddev</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_stddev_empty">
-        <output-dir compare="Text">scalar_stddev_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_stddev_null">
-        <output-dir compare="Text">scalar_stddev_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/scalar_sum">
-        <output-dir compare="Text">sum/scalar_sum</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/scalar_sum_empty">
-        <output-dir compare="Text">sum/scalar_sum_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/scalar_sum_null">
-        <output-dir compare="Text">sum/scalar_sum_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/scalar_sum_type">
-        <output-dir compare="Text">sum/scalar_sum_type</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_var">
-        <output-dir compare="Text">scalar_var</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_var_empty">
-        <output-dir compare="Text">scalar_var_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_var_null">
-        <output-dir compare="Text">scalar_var_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_empty">
-        <output-dir compare="Text">serial_avg_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_int8">
-        <output-dir compare="Text">serial_avg_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_int8_null">
-        <output-dir compare="Text">serial_avg_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_int16">
-        <output-dir compare="Text">serial_avg_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_int16_null">
-        <output-dir compare="Text">serial_avg_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_int32">
-        <output-dir compare="Text">serial_avg_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_int32_null">
-        <output-dir compare="Text">serial_avg_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_int64">
-        <output-dir compare="Text">serial_avg_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_int64_null">
-        <output-dir compare="Text">serial_avg_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_float">
-        <output-dir compare="Text">serial_avg_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_float_null">
-        <output-dir compare="Text">serial_avg_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_double">
-        <output-dir compare="Text">serial_avg_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_avg_double_null">
-        <output-dir compare="Text">serial_avg_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_double">
-        <output-dir compare="Text">serial_kurtosis_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_double_null">
-        <output-dir compare="Text">serial_kurtosis_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_empty">
-        <output-dir compare="Text">serial_kurtosis_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_float">
-        <output-dir compare="Text">serial_kurtosis_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_float_null">
-        <output-dir compare="Text">serial_kurtosis_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_int16">
-        <output-dir compare="Text">serial_kurtosis_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_int16_null">
-        <output-dir compare="Text">serial_kurtosis_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_int32">
-        <output-dir compare="Text">serial_kurtosis_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_int32_null">
-        <output-dir compare="Text">serial_kurtosis_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_int64">
-        <output-dir compare="Text">serial_kurtosis_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_int64_null">
-        <output-dir compare="Text">serial_kurtosis_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_int8">
-        <output-dir compare="Text">serial_kurtosis_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_kurtosis_int8_null">
-        <output-dir compare="Text">serial_kurtosis_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_double">
-        <output-dir compare="Text">serial_skewness_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_double_null">
-        <output-dir compare="Text">serial_skewness_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_empty">
-        <output-dir compare="Text">serial_skewness_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_float">
-        <output-dir compare="Text">serial_skewness_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_float_null">
-        <output-dir compare="Text">serial_skewness_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_int16">
-        <output-dir compare="Text">serial_skewness_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_int16_null">
-        <output-dir compare="Text">serial_skewness_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_int32">
-        <output-dir compare="Text">serial_skewness_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_int32_null">
-        <output-dir compare="Text">serial_skewness_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_int64">
-        <output-dir compare="Text">serial_skewness_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_int64_null">
-        <output-dir compare="Text">serial_skewness_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_int8">
-        <output-dir compare="Text">serial_skewness_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_skewness_int8_null">
-        <output-dir compare="Text">serial_skewness_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_double">
-        <output-dir compare="Text">serial_stddev_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_double_null">
-        <output-dir compare="Text">serial_stddev_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_empty">
-        <output-dir compare="Text">serial_stddev_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_float">
-        <output-dir compare="Text">serial_stddev_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_float_null">
-        <output-dir compare="Text">serial_stddev_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_int16">
-        <output-dir compare="Text">serial_stddev_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_int16_null">
-        <output-dir compare="Text">serial_stddev_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_int32">
-        <output-dir compare="Text">serial_stddev_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_int32_null">
-        <output-dir compare="Text">serial_stddev_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_int64">
-        <output-dir compare="Text">serial_stddev_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_int64_null">
-        <output-dir compare="Text">serial_stddev_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_int8">
-        <output-dir compare="Text">serial_stddev_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_int8_null">
-        <output-dir compare="Text">serial_stddev_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_double">
-        <output-dir compare="Text">sum/serial_sum_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_double_null">
-        <output-dir compare="Text">sum/serial_sum_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_empty">
-        <output-dir compare="Text">sum/serial_sum_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_float">
-        <output-dir compare="Text">sum/serial_sum_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_float_null">
-        <output-dir compare="Text">sum/serial_sum_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_int16">
-        <output-dir compare="Text">sum/serial_sum_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_int16_null">
-        <output-dir compare="Text">sum/serial_sum_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_int32">
-        <output-dir compare="Text">sum/serial_sum_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_int32_null">
-        <output-dir compare="Text">sum/serial_sum_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_int64">
-        <output-dir compare="Text">sum/serial_sum_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_int64_null">
-        <output-dir compare="Text">sum/serial_sum_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_int64_overflow">
-        <output-dir compare="Text">sum/serial_sum_int64_overflow</output-dir>
-        <expected-error>Overflow in agg-sum</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_int8">
-        <output-dir compare="Text">sum/serial_sum_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/serial_sum_int8_null">
-        <output-dir compare="Text">sum/serial_sum_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_double">
-        <output-dir compare="Text">serial_var_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_double_null">
-        <output-dir compare="Text">serial_var_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_empty">
-        <output-dir compare="Text">serial_var_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_float">
-        <output-dir compare="Text">serial_var_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_float_null">
-        <output-dir compare="Text">serial_var_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_int16">
-        <output-dir compare="Text">serial_var_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_int16_null">
-        <output-dir compare="Text">serial_var_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_int32">
-        <output-dir compare="Text">serial_var_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_int32_null">
-        <output-dir compare="Text">serial_var_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_int64">
-        <output-dir compare="Text">serial_var_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_int64_null">
-        <output-dir compare="Text">serial_var_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_int8">
-        <output-dir compare="Text">serial_var_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="serial_var_int8_null">
-        <output-dir compare="Text">serial_var_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_double">
-        <output-dir compare="Text">skewness_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_double_null">
-        <output-dir compare="Text">skewness_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_empty_01">
-        <output-dir compare="Text">skewness_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_empty_02">
-        <output-dir compare="Text">skewness_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_float">
-        <output-dir compare="Text">skewness_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_float_null">
-        <output-dir compare="Text">skewness_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_int16">
-        <output-dir compare="Text">skewness_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_int16_null">
-        <output-dir compare="Text">skewness_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_int32">
-        <output-dir compare="Text">skewness_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_int32_null">
-        <output-dir compare="Text">skewness_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_int64">
-        <output-dir compare="Text">skewness_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_int64_null">
-        <output-dir compare="Text">skewness_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_int8">
-        <output-dir compare="Text">skewness_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_int8_null">
-        <output-dir compare="Text">skewness_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="skewness_distinct">
-        <output-dir compare="Text">skewness_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_double">
-        <output-dir compare="Text">stddev_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_double_null">
-        <output-dir compare="Text">stddev_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_empty_01">
-        <output-dir compare="Text">stddev_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_empty_02">
-        <output-dir compare="Text">stddev_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_float">
-        <output-dir compare="Text">stddev_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_float_null">
-        <output-dir compare="Text">stddev_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_int16">
-        <output-dir compare="Text">stddev_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_int16_null">
-        <output-dir compare="Text">stddev_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_int32">
-        <output-dir compare="Text">stddev_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_int32_null">
-        <output-dir compare="Text">stddev_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_int64">
-        <output-dir compare="Text">stddev_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_int64_null">
-        <output-dir compare="Text">stddev_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_int8">
-        <output-dir compare="Text">stddev_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_int8_null">
-        <output-dir compare="Text">stddev_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_distinct">
-        <output-dir compare="Text">stddev_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_misc">
-        <output-dir compare="Text">stddev_misc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="stddev_pop_misc">
-        <output-dir compare="Text">stddev_pop_misc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_double">
-        <output-dir compare="Text">sum/sum_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_double_null">
-        <output-dir compare="Text">sum/sum_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_empty_01">
-        <output-dir compare="Text">sum/sum_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_empty_02">
-        <output-dir compare="Text">sum/sum_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_float">
-        <output-dir compare="Text">sum/sum_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_float_null">
-        <output-dir compare="Text">sum/sum_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_int16">
-        <output-dir compare="Text">sum/sum_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_int16_null">
-        <output-dir compare="Text">sum/sum_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_int32">
-        <output-dir compare="Text">sum/sum_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_int32_null">
-        <output-dir compare="Text">sum/sum_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_int64">
-        <output-dir compare="Text">sum/sum_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_int64_null">
-        <output-dir compare="Text">sum/sum_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_int64_null">
-        <output-dir compare="Text">sum/sum_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_int64_overflow">
-        <output-dir compare="Text">sum/sum_int64_overflow</output-dir>
-        <expected-error>Overflow in agg-sum</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_int8">
-        <output-dir compare="Text">sum/sum_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_int8_null">
-        <output-dir compare="Text">sum/sum_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_null-with-pred">
-        <output-dir compare="Text">sum/sum_null-with-pred</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_numeric_null">
-        <output-dir compare="Text">sum/sum_numeric_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum/sum_distinct">
-        <output-dir compare="Text">sum/sum_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_double">
-        <output-dir compare="Text">var_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_double_null">
-        <output-dir compare="Text">var_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_empty_01">
-        <output-dir compare="Text">var_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_empty_02">
-        <output-dir compare="Text">var_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_float">
-        <output-dir compare="Text">var_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_float_null">
-        <output-dir compare="Text">var_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_int16">
-        <output-dir compare="Text">var_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_int16_null">
-        <output-dir compare="Text">var_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_int32">
-        <output-dir compare="Text">var_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_int32_null">
-        <output-dir compare="Text">var_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_int64">
-        <output-dir compare="Text">var_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_int64_null">
-        <output-dir compare="Text">var_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_int8">
-        <output-dir compare="Text">var_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_int8_null">
-        <output-dir compare="Text">var_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_distinct">
-        <output-dir compare="Text">var_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_misc">
-        <output-dir compare="Text">var_misc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="var_pop_misc">
-        <output-dir compare="Text">var_pop_misc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="min_max_arrays">
-        <output-dir compare="Text">min_max_arrays</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="non-pure-function">
-        <output-dir compare="Text">non-pure-function</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="aggregate-sql">
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="min_max_arrays">
-        <output-dir compare="Text">min_max_arrays</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="issue531_string_min_max">
-        <output-dir compare="Text">issue531_string_min_max</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="agg_null">
-        <output-dir compare="Text">agg_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="agg_null_rec">
-        <output-dir compare="Text">agg_null_rec</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="agg_null_rec_1">
-        <output-dir compare="Text">agg_null_rec_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="agg_number_rec">
-        <output-dir compare="Text">agg_number_rec</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql" check-warnings="true">
-      <compilation-unit name="avg_mixed">
-        <output-dir compare="Text">avg_mixed</output-dir>
-        <expected-warn>Unsupported type: agg-avg cannot process input type string (in line 26, at column 16)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql" check-warnings="true">
-      <compilation-unit name="serial_avg_mixed">
-        <output-dir compare="Text">serial_avg_mixed</output-dir>
-        <expected-warn>Unsupported type: agg-avg cannot process input type string (in line 29, at column 38)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="min_mixed">
-        <output-dir compare="Text">min_mixed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_mixed">
-        <output-dir compare="Text">serial_stddev_mixed</output-dir>
-        <expected-error>Invalid item type: function agg-stddev_samp cannot process item type string in an input array (or multiset)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_mixed">
-        <output-dir compare="Text">stddev_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-stddev_samp gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_pop_mixed">
-        <output-dir compare="Text">serial_stddev_pop_mixed</output-dir>
-        <expected-error>Invalid item type: function agg-stddev_pop cannot process item type string in an input array (or multiset)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_pop_mixed">
-        <output-dir compare="Text">stddev_pop_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-stddev_pop gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql" check-warnings="true">
-      <compilation-unit name="sum/sum_mixed">
-        <output-dir compare="Text">sum/sum_mixed</output-dir>
-        <expected-warn>Unsupported type: agg-sum cannot process input type string (in line 27, at column 16)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql" check-warnings="true">
-      <compilation-unit name="sum/serial_sum_mixed">
-        <output-dir compare="Text">sum/serial_sum_mixed</output-dir>
-        <expected-warn>Unsupported type: agg-sum cannot process input type string (in line 29, at column 38)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_mixed">
-        <output-dir compare="Text">serial_var_mixed</output-dir>
-        <expected-error>Invalid item type: function agg-var_samp cannot process item type string in an input array (or multiset)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_mixed">
-        <output-dir compare="Text">var_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-var_samp gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_pop_mixed">
-        <output-dir compare="Text">serial_var_pop_mixed</output-dir>
-        <expected-error>Invalid item type: function agg-var_pop cannot process item type string in an input array (or multiset)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_pop_mixed">
-        <output-dir compare="Text">var_pop_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-var_pop gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_mixed">
-        <output-dir compare="Text">serial_skewness_mixed</output-dir>
-        <expected-error>Invalid item type: function agg-skewness cannot process item type string in an input array (or multiset)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_mixed">
-        <output-dir compare="Text">skewness_mixed</output-dir>
-        <expected-error>Type incompatibility: function agg-skewness gets incompatible input values: string and float</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="agg_number">
-        <output-dir compare="Text">agg_number</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="issue425_min_hetero_list_1">
-        <output-dir compare="Text">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="Text">issue425_min_hetero_list</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/issue425_sum_hetero_list_1">
-        <output-dir compare="Text">sum/issue425_sum_hetero_list_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/issue425_sum_hetero_list">
-        <output-dir compare="Text">sum/issue425_sum_hetero_list</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="query-issue400">
-        <output-dir compare="Text">query-issue400</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="issue395">
-        <output-dir compare="Text">issue395</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="issue412_0">
-        <output-dir compare="Text">issue412_0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="issue412_1">
-        <output-dir compare="Text">issue412_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="issue2348">
-        <output-dir compare="Text">issue2348</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="issue2411">
-        <output-dir compare="Text">issue2411</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_double">
-        <output-dir compare="Text">avg_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_double_null">
-        <output-dir compare="Text">avg_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_empty_01">
-        <output-dir compare="Text">avg_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_empty_02">
-        <output-dir compare="Text">avg_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_float">
-        <output-dir compare="Text">avg_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_float_null">
-        <output-dir compare="Text">avg_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_int16">
-        <output-dir compare="Text">avg_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_int16_null">
-        <output-dir compare="Text">avg_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_int32">
-        <output-dir compare="Text">avg_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_int32_null">
-        <output-dir compare="Text">avg_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_int64">
-        <output-dir compare="Text">avg_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_int64_null">
-        <output-dir compare="Text">avg_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_int8">
-        <output-dir compare="Text">avg_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_int8_null">
-        <output-dir compare="Text">avg_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="avg_distinct">
-        <output-dir compare="Text">avg_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="count_01">
-        <output-dir compare="Text">count_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="count_dataset">
-        <output-dir compare="Text">count_dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="count_empty_01">
-        <output-dir compare="Text">count_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="count_empty_02">
-        <output-dir compare="Text">count_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="count_null">
-        <output-dir compare="Text">count_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="count_distinct">
-        <output-dir compare="Text">count_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_double">
-        <output-dir compare="Text">kurtosis_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_double_null">
-        <output-dir compare="Text">kurtosis_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_empty_01">
-        <output-dir compare="Text">kurtosis_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_empty_02">
-        <output-dir compare="Text">kurtosis_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_float">
-        <output-dir compare="Text">kurtosis_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_float_null">
-        <output-dir compare="Text">kurtosis_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_int16">
-        <output-dir compare="Text">kurtosis_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_int16_null">
-        <output-dir compare="Text">kurtosis_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_int32">
-        <output-dir compare="Text">kurtosis_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_int32_null">
-        <output-dir compare="Text">kurtosis_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_int64">
-        <output-dir compare="Text">kurtosis_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_int64_null">
-        <output-dir compare="Text">kurtosis_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_int8">
-        <output-dir compare="Text">kurtosis_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_int8_null">
-        <output-dir compare="Text">kurtosis_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="kurtosis_distinct">
-        <output-dir compare="Text">kurtosis_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="max_empty_01">
-        <output-dir compare="Text">max_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="max_empty_02">
-        <output-dir compare="Text">max_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="max_distinct">
-        <output-dir compare="Text">max_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="min_empty_01">
-        <output-dir compare="Text">min_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="min_empty_02">
-        <output-dir compare="Text">min_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="min_distinct">
-        <output-dir compare="Text">min_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_avg">
-        <output-dir compare="Text">scalar_avg</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_avg_empty">
-        <output-dir compare="Text">scalar_avg_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_avg_null">
-        <output-dir compare="Text">scalar_avg_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_count">
-        <output-dir compare="Text">scalar_count</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_count_empty">
-        <output-dir compare="Text">scalar_count_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_count_null">
-        <output-dir compare="Text">scalar_count_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_kurtosis">
-        <output-dir compare="Text">scalar_kurtosis</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_kurtosis_empty">
-        <output-dir compare="Text">scalar_kurtosis_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_kurtosis_null">
-        <output-dir compare="Text">scalar_kurtosis_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_max">
-        <output-dir compare="Text">scalar_max</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_max_empty">
-        <output-dir compare="Text">scalar_max_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_max_null">
-        <output-dir compare="Text">scalar_max_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_min">
-        <output-dir compare="Text">scalar_min</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_min_empty">
-        <output-dir compare="Text">scalar_min_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_min_null">
-        <output-dir compare="Text">scalar_min_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_skewness">
-        <output-dir compare="Text">scalar_skewness</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_skewness_empty">
-        <output-dir compare="Text">scalar_skewness_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_skewness_null">
-        <output-dir compare="Text">scalar_skewness_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_stddev">
-        <output-dir compare="Text">scalar_stddev</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_stddev_empty">
-        <output-dir compare="Text">scalar_stddev_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_stddev_null">
-        <output-dir compare="Text">scalar_stddev_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/scalar_sum">
-        <output-dir compare="Text">sum/scalar_sum</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/scalar_sum_empty">
-        <output-dir compare="Text">sum/scalar_sum_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/scalar_sum_null">
-        <output-dir compare="Text">sum/scalar_sum_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/scalar_sum_type">
-        <output-dir compare="Text">sum/scalar_sum_type</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_var">
-        <output-dir compare="Text">scalar_var</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_var_empty">
-        <output-dir compare="Text">scalar_var_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_var_null">
-        <output-dir compare="Text">scalar_var_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_empty">
-        <output-dir compare="Text">serial_avg_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_int8">
-        <output-dir compare="Text">serial_avg_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_int8_null">
-        <output-dir compare="Text">serial_avg_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_int16">
-        <output-dir compare="Text">serial_avg_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_int16_null">
-        <output-dir compare="Text">serial_avg_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_int32">
-        <output-dir compare="Text">serial_avg_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_int32_null">
-        <output-dir compare="Text">serial_avg_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_int64">
-        <output-dir compare="Text">serial_avg_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_int64_null">
-        <output-dir compare="Text">serial_avg_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_float">
-        <output-dir compare="Text">serial_avg_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_float_null">
-        <output-dir compare="Text">serial_avg_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_double">
-        <output-dir compare="Text">serial_avg_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_avg_double_null">
-        <output-dir compare="Text">serial_avg_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_double">
-        <output-dir compare="Text">serial_kurtosis_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_double_null">
-        <output-dir compare="Text">serial_kurtosis_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_empty">
-        <output-dir compare="Text">serial_kurtosis_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_float">
-        <output-dir compare="Text">serial_kurtosis_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_float_null">
-        <output-dir compare="Text">serial_kurtosis_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_int16">
-        <output-dir compare="Text">serial_kurtosis_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_int16_null">
-        <output-dir compare="Text">serial_kurtosis_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_int32">
-        <output-dir compare="Text">serial_kurtosis_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_int32_null">
-        <output-dir compare="Text">serial_kurtosis_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_int64">
-        <output-dir compare="Text">serial_kurtosis_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_int64_null">
-        <output-dir compare="Text">serial_kurtosis_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_int8">
-        <output-dir compare="Text">serial_kurtosis_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_kurtosis_int8_null">
-        <output-dir compare="Text">serial_kurtosis_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_double">
-        <output-dir compare="Text">serial_skewness_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_double_null">
-        <output-dir compare="Text">serial_skewness_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_empty">
-        <output-dir compare="Text">serial_skewness_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_float">
-        <output-dir compare="Text">serial_skewness_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_float_null">
-        <output-dir compare="Text">serial_skewness_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_int16">
-        <output-dir compare="Text">serial_skewness_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_int16_null">
-        <output-dir compare="Text">serial_skewness_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_int32">
-        <output-dir compare="Text">serial_skewness_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_int32_null">
-        <output-dir compare="Text">serial_skewness_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_int64">
-        <output-dir compare="Text">serial_skewness_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_int64_null">
-        <output-dir compare="Text">serial_skewness_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_int8">
-        <output-dir compare="Text">serial_skewness_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_skewness_int8_null">
-        <output-dir compare="Text">serial_skewness_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_double">
-        <output-dir compare="Text">serial_stddev_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_double_null">
-        <output-dir compare="Text">serial_stddev_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_empty">
-        <output-dir compare="Text">serial_stddev_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_float">
-        <output-dir compare="Text">serial_stddev_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_float_null">
-        <output-dir compare="Text">serial_stddev_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_int16">
-        <output-dir compare="Text">serial_stddev_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_int16_null">
-        <output-dir compare="Text">serial_stddev_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_int32">
-        <output-dir compare="Text">serial_stddev_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_int32_null">
-        <output-dir compare="Text">serial_stddev_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_int64">
-        <output-dir compare="Text">serial_stddev_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_int64_null">
-        <output-dir compare="Text">serial_stddev_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_int8">
-        <output-dir compare="Text">serial_stddev_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_stddev_int8_null">
-        <output-dir compare="Text">serial_stddev_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_double">
-        <output-dir compare="Text">sum/serial_sum_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_double_null">
-        <output-dir compare="Text">sum/serial_sum_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_empty">
-        <output-dir compare="Text">sum/serial_sum_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_float">
-        <output-dir compare="Text">sum/serial_sum_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_float_null">
-        <output-dir compare="Text">sum/serial_sum_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_int16">
-        <output-dir compare="Text">sum/serial_sum_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_int16_null">
-        <output-dir compare="Text">sum/serial_sum_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_int32">
-        <output-dir compare="Text">sum/serial_sum_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_int32_null">
-        <output-dir compare="Text">sum/serial_sum_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_int64">
-        <output-dir compare="Text">sum/serial_sum_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_int64_null">
-        <output-dir compare="Text">sum/serial_sum_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_int64_overflow">
-        <output-dir compare="Text">sum/serial_sum_int64_overflow</output-dir>
-        <expected-error>Overflow in agg-sum</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_int8">
-        <output-dir compare="Text">sum/serial_sum_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/serial_sum_int8_null">
-        <output-dir compare="Text">sum/serial_sum_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_double">
-        <output-dir compare="Text">serial_var_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_double_null">
-        <output-dir compare="Text">serial_var_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_empty">
-        <output-dir compare="Text">serial_var_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_float">
-        <output-dir compare="Text">serial_var_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_float_null">
-        <output-dir compare="Text">serial_var_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_int16">
-        <output-dir compare="Text">serial_var_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_int16_null">
-        <output-dir compare="Text">serial_var_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_int32">
-        <output-dir compare="Text">serial_var_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_int32_null">
-        <output-dir compare="Text">serial_var_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_int64">
-        <output-dir compare="Text">serial_var_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_int64_null">
-        <output-dir compare="Text">serial_var_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_int8">
-        <output-dir compare="Text">serial_var_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="serial_var_int8_null">
-        <output-dir compare="Text">serial_var_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_double">
-        <output-dir compare="Text">skewness_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_double_null">
-        <output-dir compare="Text">skewness_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_empty_01">
-        <output-dir compare="Text">skewness_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_empty_02">
-        <output-dir compare="Text">skewness_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_float">
-        <output-dir compare="Text">skewness_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_float_null">
-        <output-dir compare="Text">skewness_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_int16">
-        <output-dir compare="Text">skewness_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_int16_null">
-        <output-dir compare="Text">skewness_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_int32">
-        <output-dir compare="Text">skewness_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_int32_null">
-        <output-dir compare="Text">skewness_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_int64">
-        <output-dir compare="Text">skewness_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_int64_null">
-        <output-dir compare="Text">skewness_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_int8">
-        <output-dir compare="Text">skewness_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_int8_null">
-        <output-dir compare="Text">skewness_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="skewness_distinct">
-        <output-dir compare="Text">skewness_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_double">
-        <output-dir compare="Text">stddev_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_double_null">
-        <output-dir compare="Text">stddev_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_empty_01">
-        <output-dir compare="Text">stddev_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_empty_02">
-        <output-dir compare="Text">stddev_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_float">
-        <output-dir compare="Text">stddev_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_float_null">
-        <output-dir compare="Text">stddev_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_int16">
-        <output-dir compare="Text">stddev_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_int16_null">
-        <output-dir compare="Text">stddev_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_int32">
-        <output-dir compare="Text">stddev_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_int32_null">
-        <output-dir compare="Text">stddev_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_int64">
-        <output-dir compare="Text">stddev_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_int64_null">
-        <output-dir compare="Text">stddev_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_int8">
-        <output-dir compare="Text">stddev_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_int8_null">
-        <output-dir compare="Text">stddev_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_distinct">
-        <output-dir compare="Text">stddev_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_misc">
-        <output-dir compare="Text">stddev_misc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="stddev_pop_misc">
-        <output-dir compare="Text">stddev_pop_misc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_double">
-        <output-dir compare="Text">sum/sum_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_double_null">
-        <output-dir compare="Text">sum/sum_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_empty_01">
-        <output-dir compare="Text">sum/sum_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_empty_02">
-        <output-dir compare="Text">sum/sum_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_float">
-        <output-dir compare="Text">sum/sum_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_float_null">
-        <output-dir compare="Text">sum/sum_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_int16">
-        <output-dir compare="Text">sum/sum_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_int16_null">
-        <output-dir compare="Text">sum/sum_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_int32">
-        <output-dir compare="Text">sum/sum_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_int32_null">
-        <output-dir compare="Text">sum/sum_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_int64">
-        <output-dir compare="Text">sum/sum_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_int64_null">
-        <output-dir compare="Text">sum/sum_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_int64_overflow">
-        <output-dir compare="Text">sum/sum_int64_overflow</output-dir>
-        <expected-error>Overflow in agg-sum</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_int8">
-        <output-dir compare="Text">sum/sum_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_int8_null">
-        <output-dir compare="Text">sum/sum_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_null-with-pred">
-        <output-dir compare="Text">sum/sum_null-with-pred</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_numeric_null">
-        <output-dir compare="Text">sum/sum_numeric_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum/sum_distinct">
-        <output-dir compare="Text">sum/sum_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_double">
-        <output-dir compare="Text">var_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_double_null">
-        <output-dir compare="Text">var_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_empty_01">
-        <output-dir compare="Text">var_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_empty_02">
-        <output-dir compare="Text">var_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_float">
-        <output-dir compare="Text">var_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_float_null">
-        <output-dir compare="Text">var_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_int16">
-        <output-dir compare="Text">var_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_int16_null">
-        <output-dir compare="Text">var_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_int32">
-        <output-dir compare="Text">var_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_int32_null">
-        <output-dir compare="Text">var_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_int64">
-        <output-dir compare="Text">var_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_int64_null">
-        <output-dir compare="Text">var_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_int8">
-        <output-dir compare="Text">var_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_int8_null">
-        <output-dir compare="Text">var_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_distinct">
-        <output-dir compare="Text">var_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_misc">
-        <output-dir compare="Text">var_misc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="var_pop_misc">
-        <output-dir compare="Text">var_pop_misc</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="aggregate-sql-sugar">
-    <test-case FilePath="aggregate-sql-sugar">
-      <compilation-unit name="array_agg">
-        <output-dir compare="Text">array_agg</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql-sugar">
-      <compilation-unit name="array_agg_negative">
-        <output-dir compare="Text">array_agg</output-dir>
-        <expected-error>ASX1079: Compilation error: arrayagg is a SQL-92 aggregate function. The SQL++ core aggregate function strict_arrayagg could potentially express the intent.</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql-sugar" check-warnings="true">
-      <compilation-unit name="avg_mixed">
-        <output-dir compare="Text">avg_mixed</output-dir>
-        <expected-warn>ASX0004: Unsupported type: agg-avg cannot process input type string (in line 26, at column 12)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: agg-avg cannot process input type string (in line 28, at column 19)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: agg-avg cannot process input type string (in line 29, at column 19)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql-sugar">
-      <compilation-unit name="distinct_mixed">
-        <output-dir compare="Text">distinct_mixed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql-sugar">
-      <compilation-unit name="stddev">
-        <output-dir compare="Text">stddev</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql-sugar">
-      <compilation-unit name="var">
-        <output-dir compare="Text">var</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="aggregate-subclause">
-    <test-case FilePath="aggregate-subclause">
-      <compilation-unit name="agg_filter_01">
-        <output-dir compare="Text">agg_filter_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-subclause">
-      <compilation-unit name="agg_filter_02_neg">
-        <output-dir compare="Text">agg_filter_01</output-dir>
-        <expected-error>ASX1121: Illegal use of aggregate FILTER clause</expected-error>
-        <expected-error>ASX1121: Illegal use of aggregate FILTER clause</expected-error>
-        <expected-error>ASX1073: Cannot resolve alias reference for undefined identifier r</expected-error>
-        <expected-error>ASX1121: Illegal use of aggregate FILTER clause</expected-error>
-        <expected-error>ASX1121: Illegal use of aggregate FILTER clause</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="array_fun">
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_prepend">
-        <output-dir compare="Text">array_prepend</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_append">
-        <output-dir compare="Text">array_append</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_position">
-        <output-dir compare="Text">array_position</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_repeat">
-        <output-dir compare="Text">array_repeat</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_reverse">
-        <output-dir compare="Text">array_reverse</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_contains">
-        <output-dir compare="Text">array_contains</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_insert">
-        <output-dir compare="Text">array_insert</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_put">
-        <output-dir compare="Text">array_put</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_remove">
-        <output-dir compare="Text">array_remove</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_distinct">
-        <output-dir compare="Text">array_distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_sort">
-        <output-dir compare="Text">array_sort</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_concat">
-        <output-dir compare="Text">array_concat</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_flatten">
-        <output-dir compare="Text">array_flatten</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_ifnull">
-        <output-dir compare="Text">array_ifnull</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_intersect">
-        <output-dir compare="Text">array_intersect</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_range">
-        <output-dir compare="Text">array_range</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_replace">
-        <output-dir compare="Text">array_replace</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_star">
-        <output-dir compare="Text">array_star</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_symdiff">
-        <output-dir compare="Text">array_symdiff</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_symdiffn">
-        <output-dir compare="Text">array_symdiffn</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_union">
-        <output-dir compare="Text">array_union</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_slice/array_slice_double_argument">
-        <output-dir compare="Text">array_slice/array_slice_double_argument</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_slice/array_slice_int_argument">
-        <output-dir compare="Text">array_slice/array_slice_int_argument</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_slice/array_slice_negative_argument">
-        <output-dir compare="Text">array_slice/array_slice_negative_argument</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_slice/array_slice_missing_result">
-        <output-dir compare="Text">array_slice/array_slice_missing_result</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_slice/array_slice_null_result">
-        <output-dir compare="Text">array_slice/array_slice_null_result</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_slice/array_slice_exception_result">
-        <output-dir compare="Text">array_slice/array_slice_exception_result</output-dir>
-        <expected-error>ASX1081: Cannot find function with signature TinySocial.array_slice()</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_except/001">
-        <output-dir compare="Text">array_except/001</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_except/002">
-        <output-dir compare="Text">array_except/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_except/003">
-        <output-dir compare="Text">array_except/003</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_except/004">
-        <output-dir compare="Text">array_except/004</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_except/005">
-        <output-dir compare="Text">array_except/005</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_except/006">
-        <output-dir compare="Text">array_except/006</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_errors">
-        <output-dir compare="Text">array_errors</output-dir>
-        <expected-error>Input contains different list types (in line 25, at column 8)</expected-error>
-        <expected-error>Input contains different list types (in line 25, at column 8)</expected-error>
-        <expected-error>Input contains different list types (in line 25, at column 8)</expected-error>
-        <expected-error>Input contains different list types (in line 25, at column 8)</expected-error>
-        <expected-error>Input contains different list types (in line 25, at column 8)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_binary_search">
-        <output-dir compare="Text">array_binary_search</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_move">
-        <output-dir compare="Text">array_move</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="array_fun">
-      <compilation-unit name="array_swap">
-        <output-dir compare="Text">array_swap</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="bitwise">
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_and_01">
-        <output-dir compare="Text">bit_and_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_and_02">
-        <output-dir compare="Text">bit_and_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_and_03">
-        <output-dir compare="Text">bit_and_03</output-dir>
-        <expected-error>Invalid number of arguments for function</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_and_04">
-        <output-dir compare="Text">bit_and_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_or_01">
-        <output-dir compare="Text">bit_or_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_or_02">
-        <output-dir compare="Text">bit_or_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_or_03">
-        <output-dir compare="Text">bit_or_03</output-dir>
-        <expected-error>Invalid number of arguments for function</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_or_04">
-        <output-dir compare="Text">bit_or_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_xor_01">
-        <output-dir compare="Text">bit_xor_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_xor_02">
-        <output-dir compare="Text">bit_xor_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_xor_03">
-        <output-dir compare="Text">bit_xor_03</output-dir>
-        <expected-error>Invalid number of arguments for function</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_xor_04">
-        <output-dir compare="Text">bit_xor_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_not_01">
-        <output-dir compare="Text">bit_not_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_not_02">
-        <output-dir compare="Text">bit_not_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_not_03">
-        <output-dir compare="Text">bit_not_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_count_01">
-        <output-dir compare="Text">bit_count_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_count_02">
-        <output-dir compare="Text">bit_count_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_count_03">
-        <output-dir compare="Text">bit_count_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_set_01">
-        <output-dir compare="Text">bit_set_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_set_02">
-        <output-dir compare="Text">bit_set_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_set_03">
-        <output-dir compare="Text">bit_set_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_clear_01">
-        <output-dir compare="Text">bit_clear_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_clear_02">
-        <output-dir compare="Text">bit_clear_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_clear_03">
-        <output-dir compare="Text">bit_clear_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_shift_01">
-        <output-dir compare="Text">bit_shift_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_shift_02">
-        <output-dir compare="Text">bit_shift_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_shift_03">
-        <output-dir compare="Text">bit_shift_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_shift_04">
-        <output-dir compare="Text">bit_shift_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_test_01">
-        <output-dir compare="Text">bit_test_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_test_02">
-        <output-dir compare="Text">bit_test_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_test_03">
-        <output-dir compare="Text">bit_test_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="bit_test_04">
-        <output-dir compare="Text">bit_test_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="is_bit_set_01">
-        <output-dir compare="Text">is_bit_set_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="is_bit_set_02">
-        <output-dir compare="Text">is_bit_set_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="bitwise">
-      <compilation-unit name="is_bit_set_03">
-        <output-dir compare="Text">is_bit_set_03</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="boolean">
-    <test-case FilePath="boolean">
-      <compilation-unit name="and_01">
-        <output-dir compare="Text">and_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="boolean">
-      <compilation-unit name="and_null">
-        <output-dir compare="Text">and_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="boolean">
-      <compilation-unit name="and_null_false">
-        <output-dir compare="Text">and_null_false</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="boolean">
-      <compilation-unit name="not_01">
-        <output-dir compare="Text">not_01</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="comparison">
-    <test-case FilePath="comparison">
-      <compilation-unit name="secondary_idx_lookup">
-        <output-dir compare="Text">secondary_idx_lookup</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="year_month_duration_order">
-        <output-dir compare="Text">year_month_duration_order</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="datetime_order">
-        <output-dir compare="Text">datetime_order</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="datetime_range">
-        <output-dir compare="Text">datetime_range</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="datetime_range_between">
-        <output-dir compare="Text">datetime_range</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="datetime_tzeq">
-        <output-dir compare="Text">datetime_tzeq</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="double">
-        <output-dir compare="Text">double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="double_gte_01">
-        <output-dir compare="Text">double_gte_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="double_missing">
-        <output-dir compare="Text">double_missing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="double_null">
-        <output-dir compare="Text">double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="eq_01">
-        <output-dir compare="Text">eq_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="float">
-        <output-dir compare="Text">float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="float_missing">
-        <output-dir compare="Text">float_missing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="float_null">
-        <output-dir compare="Text">float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="gt_01">
-        <output-dir compare="Text">gt_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="gte_01">
-        <output-dir compare="Text">gte_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="incompatible">
-        <output-dir compare="Text">incompatible</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int16">
-        <output-dir compare="Text">int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int16_missing">
-        <output-dir compare="Text">int16_missing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int16_null">
-        <output-dir compare="Text">int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int32">
-        <output-dir compare="Text">int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int32_missing">
-        <output-dir compare="Text">int32_missing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int32_null">
-        <output-dir compare="Text">int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int64">
-        <output-dir compare="Text">int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int64_missing">
-        <output-dir compare="Text">int64_missing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int64_null">
-        <output-dir compare="Text">int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int8">
-        <output-dir compare="Text">int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int8_missing">
-        <output-dir compare="Text">int8_missing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int8_null">
-        <output-dir compare="Text">int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="int_not_between">
-        <output-dir compare="Text">int_not_between</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="is_distinct_01">
-        <output-dir compare="Text">is_distinct_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="like">
-        <output-dir compare="Text">like</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="lt_01">
-        <output-dir compare="Text">lt_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="lte_01">
-        <output-dir compare="Text">lte_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="neq_01">
-        <output-dir compare="Text">neq_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="neq_02">
-        <output-dir compare="Text">neq_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="numeric-comparison_01">
-        <output-dir compare="Text">numeric-comparison_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="string">
-        <output-dir compare="Text">string</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="string_missing">
-        <output-dir compare="Text">string_missing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="string_null">
-        <output-dir compare="Text">string_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_equality">
-        <output-dir compare="Text">issue363_equality</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_duration">
-        <output-dir compare="Text">issue363_inequality_duration</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_interval">
-        <output-dir compare="Text">issue363_inequality_interval</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_point">
-        <output-dir compare="Text">issue363_inequality_point</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_line">
-        <output-dir compare="Text">issue363_inequality_line</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_polygon">
-        <output-dir compare="Text">issue363_inequality_polygon</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_rectangle">
-        <output-dir compare="Text">issue363_inequality_rectangle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_circle">
-        <output-dir compare="Text">issue363_inequality_circle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="binary">
-        <output-dir compare="Text">binary</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="binary_null">
-        <output-dir compare="Text">binary_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="greatest_mixed">
-        <output-dir compare="Text">greatest_mixed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="least_mixed">
-        <output-dir compare="Text">least_mixed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="missingif">
-        <output-dir compare="Text">missingif</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="nullif">
-        <output-dir compare="Text">nullif</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="nanif">
-        <output-dir compare="Text">nanif</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="posinfif">
-        <output-dir compare="Text">posinfif</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="neginfif">
-        <output-dir compare="Text">neginfif</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="arrays">
-        <output-dir compare="Text">arrays</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="circle-point">
-        <output-dir compare="Text">circle-point</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison" check-warnings="true">
-      <compilation-unit name="incomparable_types">
-        <output-dir compare="Text">incomparable_types</output-dir>
-          <expected-warn>Incomparable input types: string and bigint (in line 26, at column 13)</expected-warn>
-          <expected-warn>Incomparable input types: array and bigint (in line 23, at column 7)</expected-warn>
-          <expected-warn>Incomparable input types: point and point (in line 24, at column 18)</expected-warn>
-          <expected-warn>Incomparable input types: bigint and string (in line 25, at column 46)</expected-warn>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="constructor">
-    <test-case FilePath="constructor">
-      <compilation-unit name="binary_01">
-        <output-dir compare="Text">binary_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor" check-warnings="true">
-      <compilation-unit name="binary_02">
-        <output-dir compare="Text">binary_02</output-dir>
-        <expected-warn>ASX0006: Invalid format for binary in @#!1 (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: hex() cannot process input type date (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: hex() cannot process input type array (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: hex() cannot process input type object (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for binary in @#!2 (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: base64() cannot process input type date (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: base64() cannot process input type array (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: base64() cannot process input type object (in line 27, at column 13)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="add-null">
-        <output-dir compare="Text">add-null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="boolean_01">
-        <output-dir compare="Text">boolean_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor" check-warnings="true">
-      <compilation-unit name="boolean_02">
-        <output-dir compare="Text">boolean_02</output-dir>
-        <expected-warn>ASX0006: Invalid format for boolean in FALSE (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for boolean in TRUE (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: boolean() cannot process input type date (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: boolean() cannot process input type array (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: boolean() cannot process input type object (in line 28, at column 13)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="circle_01">
-        <output-dir compare="Text">circle_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="date_01">
-        <output-dir compare="Text">date_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor" check-warnings="true">
-      <compilation-unit name="date_02">
-        <output-dir compare="Text">date_02</output-dir>
-        <expected-warn>ASX0006: Invalid format for date in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: date() cannot process input type boolean (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: date() cannot process input type bigint (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: date() cannot process input type time (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: date() cannot process input type array (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: date() cannot process input type object (in line 29, at column 13)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for date in 12/31/2020 (in line 30, at column 13)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="datetime_01">
-        <output-dir compare="Text">datetime_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor" check-warnings="true">
-      <compilation-unit name="datetime_02">
-        <output-dir compare="Text">datetime_02</output-dir>
-        <expected-warn>ASX0006: Invalid format for datetime in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: datetime() cannot process input type boolean (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: datetime() cannot process input type bigint (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: datetime() cannot process input type array (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: datetime() cannot process input type object (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for datetime in 1951-12-27T12:20:15Z (in line 29, at column 13)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="double_01">
-        <output-dir compare="Text">double_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor" check-warnings="true">
-      <compilation-unit name="double_02">
-        <output-dir compare="Text">double_02</output-dir>
-        <expected-warn>ASX0006: Invalid format for double in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: double() cannot process input type datetime (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: double() cannot process input type date (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: double() cannot process input type time (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: double() cannot process input type array (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: double() cannot process input type object (in line 29, at column 13)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="duration_01">
-        <output-dir compare="Text">duration_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor" check-warnings="true">
-      <compilation-unit name="duration_02">
-        <output-dir compare="Text">duration_02</output-dir>
-        <expected-warn>ASX0006: Invalid format for duration in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: duration() cannot process input type bigint (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: duration() cannot process input type datetime (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: duration() cannot process input type date (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: duration() cannot process input type time (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: duration() cannot process input type array (in line 29, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: duration() cannot process input type object (in line 30, at column 13)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for yearmonthduration in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: year-month-duration() cannot process input type bigint (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: year-month-duration() cannot process input type datetime (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: year-month-duration() cannot process input type date (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: year-month-duration() cannot process input type time (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: year-month-duration() cannot process input type array (in line 29, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: year-month-duration() cannot process input type object (in line 30, at column 13)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for daytimeduration in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: day-time-duration() cannot process input type bigint (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: day-time-duration() cannot process input type datetime (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: day-time-duration() cannot process input type date (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: day-time-duration() cannot process input type time (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: day-time-duration() cannot process input type array (in line 29, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: day-time-duration() cannot process input type object (in line 30, at column 13)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="float_01">
-        <output-dir compare="Text">float_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor" check-warnings="true">
-      <compilation-unit name="float_02">
-        <output-dir compare="Text">float_02</output-dir>
-        <expected-warn>ASX0006: Invalid format for float in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: float() cannot process input type datetime (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: float() cannot process input type date (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: float() cannot process input type time (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: float() cannot process input type array (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: float() cannot process input type object (in line 29, at column 13)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="int_01">
-        <output-dir compare="Text">int_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor" check-warnings="true">
-      <compilation-unit name="int_02">
-        <output-dir compare="Text">int_02</output-dir>
-        <expected-warn>ASX0006: Invalid format for tinyint in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int8() cannot process input type datetime (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int8() cannot process input type date (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int8() cannot process input type time (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int8() cannot process input type array (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int8() cannot process input type object (in line 29, at column 13)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for smallint in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int16() cannot process input type datetime (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int16() cannot process input type date (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int16() cannot process input type time (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int16() cannot process input type array (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int16() cannot process input type object (in line 29, at column 13)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for integer in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int32() cannot process input type datetime (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int32() cannot process input type date (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int32() cannot process input type time (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int32() cannot process input type array (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int32() cannot process input type object (in line 29, at column 13)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for bigint in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int64() cannot process input type datetime (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int64() cannot process input type date (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int64() cannot process input type time (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int64() cannot process input type array (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int64() cannot process input type object (in line 29, at column 13)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="interval">
-        <output-dir compare="Text">interval</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="line_01">
-        <output-dir compare="Text">line_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="rectangle_01">
-        <output-dir compare="Text">rectangle_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="point_01">
-        <output-dir compare="Text">point_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="polygon_01">
-        <output-dir compare="Text">polygon_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="primitive-01">
-        <output-dir compare="Text">primitive-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="primitive-02">
-        <output-dir compare="Text">primitive-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="primitive-03">
-        <output-dir compare="Text">primitive-03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="primitive-04">
-        <output-dir compare="Text">primitive-04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="string_01">
-        <output-dir compare="Text">string_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor" check-warnings="true">
-      <compilation-unit name="string_02">
-        <output-dir compare="Text">string_02</output-dir>
-        <expected-warn>ASX0004: Unsupported type: string() cannot process input type array (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: string() cannot process input type object (in line 25, at column 13)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="time_01">
-        <output-dir compare="Text">time_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor" check-warnings="true">
-      <compilation-unit name="time_02">
-        <output-dir compare="Text">time_02</output-dir>
-        <expected-warn>ASX0006: Invalid format for time in @#! (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: time() cannot process input type boolean (in line 25, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: time() cannot process input type bigint (in line 26, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: time() cannot process input type date (in line 27, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: time() cannot process input type array (in line 28, at column 13)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: time() cannot process input type object (in line 29, at column 13)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for time in 11:58:59 (in line 30, at column 13)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor/uuid">
-      <compilation-unit name="uuid_01">
-        <output-dir compare="Text">uuid_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor/uuid" check-warnings="true">
-      <compilation-unit name="uuid_02">
-        <output-dir compare="Text">uuid_02</output-dir>
-        <expected-warn>ASX0006: Invalid format for uuid in 02a199ca-bf58-412e-bd9f-60a0c975a8a- (in line 24, at column 13)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for uuid in 12345 (in line 25, at column 13)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="polygon-from-open-list_issue1627">
-        <output-dir compare="Text">polygon-from-open-list_issue1627</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="custord">
-    <!--
-    <test-case FilePath="custord">
-      <compilation-unit name="co">
-        <output-dir compare="Text">co</output-dir>
-      </compilation-unit>
-    </test-case>
-    -->
-    <test-case FilePath="custord">
-      <compilation-unit name="customer_q_01">
-        <output-dir compare="Text">customer_q_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="customer_q_02">
-        <output-dir compare="Text">customer_q_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="customer_q_03">
-        <output-dir compare="Text">customer_q_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="customer_q_04">
-        <output-dir compare="Text">customer_q_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="customer_q_05">
-        <output-dir compare="Text">customer_q_05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="customer_q_06">
-        <output-dir compare="Text">customer_q_06</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="customer_q_07">
-        <output-dir compare="Text">customer_q_07</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="customer_q_08">
-        <output-dir compare="Text">customer_q_08</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="custord">
-          <compilation-unit name="denorm-cust-order_01">
-            <output-dir compare="Text">denorm-cust-order_01</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="custord">
-      <compilation-unit name="denorm-cust-order_02">
-        <output-dir compare="Text">denorm-cust-order_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="custord">
-          <compilation-unit name="denorm-cust-order_03">
-            <output-dir compare="Text">denorm-cust-order_03</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="custord">
-          <compilation-unit name="freq-clerk">
-            <output-dir compare="Text">freq-clerk</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="custord">
-      <compilation-unit name="join_q_01">
-        <output-dir compare="Text">join_q_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="join_q_02">
-        <output-dir compare="Text">join_q_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="join_q_03">
-        <output-dir compare="Text">join_q_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="join_q_04">
-        <output-dir compare="Text">join_q_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="join_q_05">
-        <output-dir compare="Text">join_q_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="join_q_06">
-        <output-dir compare="Text">join_q_06</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="join_q_07">
-        <output-dir compare="Text">join_q_06</output-dir>
-        <expected-error>Cannot find dataset c in dataverse test nor an alias with name c</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="join_q_08">
-        <output-dir compare="Text">join_q_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="join_q_09">
-        <output-dir compare="Text">join_q_01</output-dir>
-        <expected-error>Cannot resolve ambiguous alias reference for identifier age</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="query-ASTERIXDB-1754">
-        <output-dir compare="Text">query-ASTERIXDB-1754</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="load-test">
-        <output-dir compare="Text">load-test</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="order_q_01">
-        <output-dir compare="Text">order_q_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="order_q_02">
-        <output-dir compare="Text">order_q_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="order_q_03">
-        <output-dir compare="Text">order_q_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="order_q_04">
-        <output-dir compare="Text">order_q_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="order_q_05">
-        <output-dir compare="Text">order_q_05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="custord">
-      <compilation-unit name="order_q_06">
-        <output-dir compare="Text">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="Text">q1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2">
-        <output-dir compare="Text">q2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-2">
-        <output-dir compare="Text">q2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-2-negative">
-        <output-dir compare="Text">q2</output-dir>
-        <expected-error>Cannot find dataset e in dataverse test nor an alias with name e</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-3">
-        <output-dir compare="Text">q2</output-dir>
-        <expected-error>Cannot resolve ambiguous alias reference for identifier sig_id</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-4">
-        <output-dir compare="Text">q2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-5">
-        <output-dir compare="Text">q2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-6">
-        <output-dir compare="Text">q2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-7">
-        <output-dir compare="Text">q2-7</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-8">
-        <output-dir compare="Text">q2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-9">
-        <output-dir compare="Text">q2-9</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-10">
-        <output-dir compare="Text">q2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-11">
-        <output-dir compare="Text">q2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dapd">
-      <compilation-unit name="q2-12">
-        <output-dir compare="Text">q2-12</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="dapd">
-          <compilation-unit name="q3">
-            <output-dir compare="Text">q3</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-  </test-group>
-  <test-group name="ddl">
-    <test-case FilePath="ddl">
-      <compilation-unit name="create-dataset-1">
-        <output-dir compare="Clean-JSON">create-dataset-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="create-dataset-2">
-        <output-dir compare="Clean-JSON">create-dataset-2</output-dir>
-        <source-location>false</source-location>
-        <expected-error>Type mismatch: missing a required field my_id: string</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="create-dataset-3">
-        <output-dir compare="Clean-JSON">create-dataset-3</output-dir>
-        <expected-error>ASX1077: Cannot find dataset non_existent in dataverse test nor an alias with name non_existent (in line 23, at column 21)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="create-dataset-negative">
-        <output-dir compare="Clean-JSON">create-dataset-negative</output-dir>
-        <expected-error>ASX1001: Syntax error: Invalid primary key specification</expected-error>
-        <expected-error>ASX1001: Syntax error: Invalid primary key specification</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="create-dataset-4">
-        <output-dir compare="Clean-JSON">create-dataset-4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="analyze-dataset-1">
-        <output-dir compare="Text">analyze-dataset-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="analyze-dataset-with-indexes">
-        <output-dir compare="Text">analyze-dataset-with-indexes</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl/create-index">
-      <compilation-unit name="create-index-1">
-        <output-dir compare="Text">create-index-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl/create-index">
-      <compilation-unit name="create-index-2">
-        <output-dir compare="Text">create-index-2</output-dir>
-        <expected-error>Syntax error: In line 53 >>create  primary index sec_primary_idx1  on LineItem type rtree;&lt;&lt; Encountered "rtree" at column 58.</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl/create-index">
-      <compilation-unit name="create-index-3">
-        <output-dir compare="Text">create-index-3</output-dir>
-        <expected-error>Syntax error: In line 53 >>create  primary  sec_primary_idx1  on LineItem;&lt;&lt; Encountered &lt;IDENTIFIER&gt; "sec_primary_idx1" at column 18.</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl/create-index">
-      <compilation-unit name="create-index-4">
-        <output-dir compare="Text">create-index-4</output-dir>
-        <expected-error>Syntax error: In line 53 >>create  primary index if not exists sec_primary_idx1  if not exists on LineItem;&lt;&lt; Encountered &lt;IDENTIFIER&gt; "sec_primary_idx1" at column 37.</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl/create-index">
-      <compilation-unit name="create-index-5">
-        <output-dir compare="Text">create-index-5</output-dir>
-        <expected-error>Syntax error: In line 53 >>create  primary index if exists sec_primary_idx1  on LineItem;&lt;&lt; Encountered "exists" at column 26.</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl/create-index">
-      <compilation-unit name="create-index-6">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1050: Cannot find dataset with name LineItemView1 in dataverse test (in line 55, at column 1)</expected-error>
-        <expected-error>ASX1050: Cannot find dataset with name LineItemView2 in dataverse test (in line 60, at column 1)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl/create-index">
-      <compilation-unit name="create-inverted-index-with-variable-length-primary-key">
-        <output-dir compare="Text">create-inverted-index-with-variable-length-primary-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="bad-type-ddl">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1079: Compilation error: Reserved type name $x</expected-error>
-        <expected-error>ASX0013: Duplicate field name 'c' (in line 29, at column 19)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="create-dataset-inline-type-1">
-        <output-dir compare="Text">create-dataset-inline-type-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="create-dataset-inline-type-2">
-        <output-dir compare="Text">create-dataset-inline-type-2</output-dir>
-        <expected-error>ASX1082: Cannot find datatype with name test.$d$t$i$Cust1</expected-error>
-        <expected-error>ASX1082: Cannot find datatype with name test.$d$t$i$Cust2</expected-error>
-        <expected-error>ASX1082: Cannot find datatype with name my_unknown_type</expected-error>
-        <expected-error>ASX0013: Duplicate field name 'c_name' (in line 25, at column 22)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="drop-primary-index">
-        <output-dir compare="Text">drop-primary-index</output-dir>
-        <expected-error>Cannot drop index 'ds'. Drop dataset 'ds' to remove this index</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl" check-warnings="true">
-      <compilation-unit name="invalid-dataverse">
-        <output-dir compare="Text">invalid-dataverse</output-dir>
-        <source-location>false</source-location>
-        <expected-warn>Cannot find dataverse with name fakeDataverse (in line 22, at column 1)</expected-warn>
-        <expected-error>Cannot find dataverse with name fakeDataverse (in line 27, at column 1)</expected-error>
-        <expected-warn>Cannot find dataverse with name fakeDataverse (in line 29, at column 1)</expected-warn>
-        <expected-error>Cannot find dataverse with name fakeDataverse (in line 30, at column 1)</expected-error>
-        <expected-error>Cannot find datatype with name fakeDataverse.myType</expected-error>
-        <expected-error>Cannot find dataverse with name fakeDataverse (in line 30, at column 1)</expected-error>
-        <expected-error>Cannot find dataverse with name fakeDataverse (in line 32, at column 1)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="invalid-dataverse-name">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
-        <expected-error>ASX1079: Compilation error: Invalid operation - Cannot create dataverse: asterix</expected-error>
-        <expected-error>ASX1079: Compilation error: Invalid operation - Cannot create dataverse: algebricks</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: '' (in line 24, at column 16)</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 27, at column 16)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="invalid-dataset-name">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 16)</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 31, at column 14)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="invalid-feed-name">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 34, at column 13)</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 42, at column 11)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="invalid-feed-policy-name">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 1)</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 32, at column 23)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="invalid-index-name">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 19)</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 33, at column 12)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="invalid-nodegroup-name">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="invalid-type-name">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 13)</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 33, at column 11)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="invalid-udf-name">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 17)</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 33, at column 15)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="invalid-view-name">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1115: Invalid name for a database object: '' (in line 29, at column 1)</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' a' (in line 29, at column 1)</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: ' invalid' (in line 29, at column 1)</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 13)</expected-error>
-        <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 32, at column 11)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="dataset-and-index-same-dataverse">
-        <output-dir compare="Text">dataset-and-index-same-dataverse</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl" check-warnings="true">
-      <compilation-unit name="drop_dataset_invalid_dataverse">
-        <output-dir compare="Text">drop_dataset_invalid_dataverse</output-dir>
-        <expected-error>ASX1063: Cannot find dataverse with name fakeDataverse (in line 22, at column 1)</expected-error>
-        <expected-error>ASX1063: Cannot find dataverse with name fakeDataverse (in line 22, at column 1)</expected-error>
-        <expected-error>ASX1063: Cannot find dataverse with name fakeDataverse (in line 22, at column 1)</expected-error>
-        <expected-error>ASX1063: Cannot find dataverse with name fakeDataverse (in line 22, at column 1)</expected-error>
-        <expected-error>ASX1050: Cannot find dataset with name fakeDataset1 in dataverse realDataverse (in line 22, at column 1)</expected-error>
-        <expected-warn>ASX1063: Cannot find dataverse with name fakeDataverse (in line 22, at column 1)</expected-warn>
-        <expected-warn>ASX1063: Cannot find dataverse with name fakeDataverse (in line 22, at column 1)</expected-warn>
-        <expected-warn>ASX1063: Cannot find dataverse with name fakeDataverse (in line 22, at column 1)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="create_dataset_with_filter_on_meta">
-        <output-dir compare="Text">create_dataset_with_filter_on_meta</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="index-bad-fields">
-        <output-dir compare="Text">index-bad-fields</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="index-cast-null">
-        <placeholder name="with" value="" />
-        <output-dir compare="Text">index-cast-null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="index-cast-null">
-        <placeholder name="with" value="WITH {'merge-policy': {'name': 'correlated-prefix','parameters': { 'max-mergable-component-size': 16384, 'max-tolerance-component-count': 3 }}}" />
-        <output-dir compare="Text">index-cast-null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="index-cast-null-negative">
-        <output-dir compare="Text">index-cast-null-negative</output-dir>
-        <expected-error>CAST modifier is only allowed for B-Tree indexes</expected-error>
-        <expected-error>CAST modifier cannot be specified together with ENFORCED</expected-error>
-        <expected-error>CAST modifier is used without specifying the type of the indexed field</expected-error>
-        <expected-error>Typed index on 'typed_f2' field could be created only for open datatype</expected-error>
-        <expected-error>Parameter invalid_date cannot be set</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl">
-      <compilation-unit name="drop-anonymous-nested-types">
-        <output-dir compare="Text">drop-anonymous-nested-types</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="dml">
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-with-autogenerated-pk_adm-with-sec-primary-index">
-        <output-dir compare="Text">insert-with-autogenerated-pk_adm-with-sec-primary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-returning-fieldname-qualified">
-        <output-dir compare="Text">insert-returning-fieldname</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="compact-dataset-and-its-indexes">
-        <output-dir compare="Text">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="Text">using-constant-merge-policy</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="using-prefix-merge-policy">
-        <output-dir compare="Text">using-prefix-merge-policy</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="using-concurrent-merge-policy">
-        <output-dir compare="Text">using-concurrent-merge-policy</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="using-correlated-prefix-merge-policy">
-        <output-dir compare="Text">using-correlated-prefix-merge-policy</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="using-correlated-prefix-merge-policy-with-feed">
-        <output-dir compare="Text">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="Text">using-no-merge-policy</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="query-issue382">
-        <output-dir compare="Text">query-issue382</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="query-issue433">
-        <output-dir compare="Text">query-issue433</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="query-issue288">
-        <output-dir compare="Text">query-issue288</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="query-issue205">
-        <output-dir compare="Text">query-issue205</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="delete-from-loaded-dataset-with-index">
-        <output-dir compare="Text">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="Text">delete-from-loaded-dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="delete-syntax-change">
-        <output-dir compare="Text">delete-syntax-change</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="drop-empty-secondary-indexes">
-        <output-dir compare="Text">drop-empty-secondary-indexes</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="drop-index">
-        <output-dir compare="Text">drop-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="create-drop-cltype">
-        <output-dir compare="Text">create-drop-cltype</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="create-drop-opntype">
-        <output-dir compare="Text">create-drop-opntype</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="empty-load-with-index">
-        <output-dir compare="Text">empty-load-with-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-into-empty-dataset">
-        <output-dir compare="Text">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="Text">insert-into-empty-dataset-with-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-syntax">
-        <output-dir compare="Text">insert-syntax</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-and-scan-dataset">
-        <output-dir compare="Text">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="Text">insert-and-scan-dataset-with-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="recreate-index">
-        <output-dir compare="Text">recreate-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-and-scan-joined-datasets">
-        <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">insert-src-dst-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert">
-        <output-dir compare="Text">insert</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-closed">
-        <output-dir compare="Text">insert-closed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-duplicated-keys">
-        <output-dir compare="Text">insert-duplicated-keys</output-dir>
-        <expected-error>Inserting duplicate keys into the primary storage</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-duplicated-keys-with-pk-index">
-        <output-dir compare="Text">insert-duplicated-keys-with-pk-index</output-dir>
-        <expected-error>Inserting duplicate keys into the primary storage</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert_less_nc">
-        <output-dir compare="Text">insert_less_nc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="dml">
-          <compilation-unit name="load-from-hdfs">
-            <output-dir compare="Text">load-from-hdfs</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-with-autogenerated-pk_adm-with-sec-primary-index">
-        <output-dir compare="Text">insert-with-autogenerated-pk_adm-with-sec-primary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-with-autogenerated-pk_adm_01">
-        <output-dir compare="Text">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="Text">insert-with-autogenerated-pk_adm_02</output-dir>
-        <expected-error>Field type string cannot be promoted to type uuid</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-with-autogenerated-pk_adm_03">
-        <output-dir compare="Text">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="Text">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="Text">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="Text">load-with-autogenerated-pk_adm_02</output-dir>
-        <expected-error>ASX3058: This record is closed, you can not add extra fields! new field name: id</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="load-with-autogenerated-pk_adm_03">
-        <output-dir compare="Text">load-with-autogenerated-pk_adm_03</output-dir>
-        <expected-error>ASX3058: This record is closed, you can not add extra fields! new field name: id</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="load-with-autogenerated-pk_adm_04">
-        <output-dir compare="Text">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="Text">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="Text">load-with-autogenerated-pk_csv_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="load-with-autogenerated-no-field">
-        <output-dir compare="Text">load-with-autogenerated-no-field</output-dir>
-        <expected-error>ASX1014: Field 'not_id' is not found</expected-error>
-        <expected-error>ASX1014: Field 'not_id' is not found</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-return-records">
-        <output-dir compare="Text">insert-return-records</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-returning-udf">
-        <output-dir compare="Text">insert-returning-fieldname</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-returning-fieldname">
-        <output-dir compare="Text">insert-returning-fieldname</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-returning-fieldname-implicit">
-        <output-dir compare="Text">insert-returning-fieldname</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-returning-fieldname-implicit-2">
-        <output-dir compare="Text">insert-returning-fieldname</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert_uuid_autogenerate">
-        <output-dir compare="Text">insert_uuid_autogenerate</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert_uuid_autogenerate">
-        <output-dir compare="Text">upsert_uuid_autogenerate</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert_uuid_manual">
-        <output-dir compare="Text">insert_uuid_manual</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert_uuid_manual">
-        <output-dir compare="Text">upsert_uuid_manual</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert_uuid_manual_exists">
-        <output-dir compare="Text">insert_uuid_manual_exists</output-dir>
-        <expected-error>Inserting duplicate keys into the primary storage</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert_uuid_manual_exists">
-        <output-dir compare="Text">upsert_uuid_manual_exists</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert_uuid_manual_exists_select">
-        <output-dir compare="Text">insert_uuid_manual_exists_select</output-dir>
-        <expected-error>Inserting duplicate keys into the primary storage</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert_uuid_manual_exists_select">
-        <output-dir compare="Text">upsert_uuid_manual_exists_select</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert_nested_uuid_autogenerate">
-        <output-dir compare="Text">insert_nested_uuid_autogenerate</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert_nested_uuid_autogenerate">
-        <output-dir compare="Text">upsert_nested_uuid_autogenerate</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert_nested_uuid_manual">
-        <output-dir compare="Text">insert_nested_uuid_manual</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert_nested_uuid_manual">
-        <output-dir compare="Text">upsert_nested_uuid_manual</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert_nested_uuid_manual_exists">
-        <output-dir compare="Text">insert_nested_uuid_manual_exists</output-dir>
-        <expected-error>Inserting duplicate keys into the primary storage</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert_nested_uuid_manual_exists">
-        <output-dir compare="Text">upsert_nested_uuid_manual_exists</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert_nested_uuid_manual_exists_select">
-        <output-dir compare="Text">insert_nested_uuid_manual_exists_select</output-dir>
-        <expected-error>Inserting duplicate keys into the primary storage</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert_nested_uuid_manual_exists_select">
-        <output-dir compare="Text">upsert_nested_uuid_manual_exists_select</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-with-bad-return">
-        <output-dir compare="Text">insert-with-bad-return</output-dir>
-        <expected-error>A returning expression cannot contain dataset access</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="load-with-index">
-        <output-dir compare="Text">load-with-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="load-with-ngram-index">
-        <output-dir compare="Text">load-with-ngram-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="load-with-rtree-index">
-        <output-dir compare="Text">load-with-rtree-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="load-with-word-index">
-        <output-dir compare="Text">load-with-word-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="opentype-c2o-recursive">
-        <output-dir compare="Text">opentype-c2o-recursive</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="opentype-c2o">
-        <output-dir compare="Text">opentype-c2o</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="opentype-closed-optional">
-        <output-dir compare="Text">opentype-closed-optional</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="opentype-insert">
-        <output-dir compare="Text">opentype-insert</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="opentype-insert2">
-        <output-dir compare="Text">opentype-insert2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="opentype-noexpand">
-        <output-dir compare="Text">opentype-noexpand</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="opentype-o2c-recursive">
-        <output-dir compare="Text">opentype-o2c-recursive</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="opentype-o2c">
-        <output-dir compare="Text">opentype-o2c</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="opentype-o2o">
-        <output-dir compare="Text">opentype-o2o</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-delete-btree-secondary-index-nullable">
-        <output-dir compare="Text">scan-delete-btree-secondary-index-nullable</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit
-              name="scan-delete-btree-correlated-secondary-index-nullable">
-        <output-dir compare="Text">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="Text">scan-delete-rtree-secondary-index-nullable</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-delete-rtree-correlated-secondary-index-nullable">
-        <output-dir compare="Text">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="Text">scan-delete-rtree-secondary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-delete-rtree-correlated-secondary-index">
-        <output-dir compare="Text">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="Text">scan-insert-btree-secondary-index-nullable</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-btree-correlated-secondary-index-nullable">
-        <output-dir compare="Text">scan-delete-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="Text">scan-insert-rtree-secondary-index-nullable</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-rtree-correlated-secondary-index-nullable">
-        <output-dir compare="Text">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="Text">scan-insert-rtree-secondary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-rtree-correlated-secondary-index">
-        <output-dir compare="Text">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="Text">scan-insert-inverted-index-ngram-secondary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-inverted-index-ngram-secondary-index-string-as-primary-key">
-        <output-dir compare="Text">scan-insert-inverted-index-ngram-secondary-index-string-as-primary-key</output-dir>
-      </compilation-unit>
-    </test-case>
-
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-inverted-index-ngram-correlated-secondary-index">
-        <output-dir compare="Text">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="Text">scan-insert-inverted-index-word-secondary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-inverted-index-word-secondary-index-string-as-primary-key">
-        <output-dir compare="Text">scan-insert-inverted-index-word-secondary-index-string-as-primary-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-inverted-index-word-correlated-secondary-index">
-        <output-dir compare="Text">scan-insert-inverted-index-word-secondary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-inverted-index-word-correlated-secondary-index-string-as-primary-key">
-        <output-dir compare="Text">scan-insert-inverted-index-word-secondary-index-string-as-primary-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-inverted-index-ngram-secondary-index-nullable">
-        <output-dir compare="Text">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-ngram-secondary-index-nullable-string-as-primary-key">
-        <output-dir compare="Text">scan-insert-inverted-index-ngram-secondary-index-nullable-string-as-primary-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-inverted-index-ngram-correlated-secondary-index-nullable">
-        <output-dir compare="Text">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-ngram-correlated-secondary-index-nullable-string-as-primary-key">
-        <output-dir compare="Text">scan-insert-inverted-index-ngram-secondary-index-nullable-string-as-primary-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-inverted-index-word-secondary-index-nullable">
-        <output-dir compare="Text">scan-insert-inverted-index-word-secondary-index-nullable</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-inverted-index-word-secondary-index-nullable-string-as-primary-key">
-        <output-dir compare="Text">scan-insert-inverted-index-word-secondary-index-nullable-string-as-primary-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-inverted-index-word-correlated-secondary-index-nullable">
-        <output-dir compare="Text">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="Text">scan-delete-inverted-index-ngram-secondary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-delete-inverted-index-ngram-secondary-index-string-as-primary-key">
-        <output-dir compare="Text">scan-delete-inverted-index-ngram-secondary-index-string-as-primary-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-delete-inverted-index-ngram-correlated-secondary-index">
-        <output-dir compare="Text">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="Text">scan-delete-inverted-index-word-secondary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-delete-inverted-index-word-correlated-secondary-index">
-        <output-dir compare="Text">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="Text">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-ngram-correlated-secondary-index-nullable">
-        <output-dir compare="Text">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="Text">scan-delete-inverted-index-word-secondary-index-nullable</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-delete-inverted-index-word-correlated-secondary-index-nullable">
-        <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">scan-delete-btree-secondary-index-open</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-delete-btree-correlated-secondary-index-open">
-        <output-dir compare="Text">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="Text">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-ngram-correlated-secondary-index-open">
-        <output-dir compare="Text">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="Text">scan-delete-inverted-index-word-secondary-index-open</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-delete-inverted-index-word-correlated-secondary-index-open">
-        <output-dir compare="Text">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="Text">scan-delete-rtree-secondary-index-open</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-delete-rtree-correlated-secondary-index-open">
-        <output-dir compare="Text">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="Text">scan-insert-btree-secondary-index-open</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-btree-correlated-secondary-index-open">
-        <output-dir compare="Text">scan-delete-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="Text">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-ngram-correlated-secondary-index-open">
-        <output-dir compare="Text">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="Text">scan-insert-inverted-index-word-secondary-index-open</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-inverted-index-word-correlated-secondary-index-open">
-        <output-dir compare="Text">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="Text">scan-insert-rtree-secondary-index-open</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="scan-insert-rtree-correlated-secondary-index-open">
-        <output-dir compare="Text">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="Text">delete-multi-statement</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert-dataset-with-meta">
-        <output-dir compare="Text">upsert-dataset-with-meta</output-dir>
-        <expected-error>upsert into dataset is not supported on datasets with meta records</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert-return-custom-result">
-        <output-dir compare="Text">upsert-return-custom-result</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert-returning-fieldname">
-        <output-dir compare="Text">insert-returning-fieldname</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert-returning-fieldname-implicit">
-        <output-dir compare="Text">insert-returning-fieldname</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert-returning-fieldname-implicit-2">
-        <output-dir compare="Text">insert-returning-fieldname</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="delete-dataset-with-meta">
-        <output-dir compare="Text">delete-dataset-with-meta</output-dir>
-        <expected-error>delete from dataset is not supported on datasets with meta records</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-dataset-with-meta">
-        <output-dir compare="Text">insert-dataset-with-meta</output-dir>
-        <expected-error>insert into dataset is not supported on datasets with meta records</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-duplicated-keys-from-query">
-        <output-dir compare="Text">insert-duplicated-keys-from-query</output-dir>
-        <expected-error>HYR0033: Inserting duplicate keys into the primary storage</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="load-with-autogenerated-no-field">
-        <output-dir compare="Text">load-with-autogenerated-no-field</output-dir>
-        <expected-error>ASX1014: Field 'not_id' is not found</expected-error>
-        <expected-error>ASX1014: Field 'not_id' is not found</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="load-with-index-open_02">
-        <output-dir compare="Text">load-with-index-open_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="query-ASTERIXDB-867">
-        <output-dir compare="Text">query-ASTERIXDB-867</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="query-ASTERIXDB-1406">
-        <output-dir compare="Text">query-ASTERIXDB-1406</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="query-issue382">
-        <output-dir compare="Text">query-issue382</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="create-index-unknown-key">
-        <output-dir compare="Text">index-unknown-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert-into-index-unknown-key">
-        <output-dir compare="Text">index-unknown-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="upsert-into-index-unknown-key">
-        <output-dir compare="Text">index-unknown-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="load-into-index-unknown-key">
-        <output-dir compare="Text">index-unknown-key</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="employee">
-    <test-case FilePath="employee">
-      <compilation-unit name="q_01">
-        <output-dir compare="Text">q_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="employee">
-      <compilation-unit name="q_02">
-        <output-dir compare="Text">q_02</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="failure">
-    <test-case FilePath="failure">
-      <compilation-unit name="group_by_failure">
-        <output-dir compare="Text">group_by_failure</output-dir>
-        <expected-error>Injected failure in inject-failure</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="failure">
-      <compilation-unit name="group_by_hash_failure">
-        <output-dir compare="Text">group_by_hash_failure</output-dir>
-        <expected-error>Injected failure in inject-failure</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="failure">
-      <compilation-unit name="q01_pricing_summary_report_failure">
-        <output-dir compare="Text">q01_pricing_summary_report_failure</output-dir>
-        <expected-error>Injected failure in inject-failure</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="failure">
-      <compilation-unit name="q18_large_volume_customer_failure">
-        <output-dir compare="Text">q18_large_volume_customer_failure</output-dir>
-        <expected-error>Injected failure in inject-failure</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="failure">
-      <compilation-unit name="order_by_failure">
-        <output-dir compare="Text">order_by_failure</output-dir>
-        <expected-error>Injected failure in inject-failure</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="fuzzyjoin">
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="basic-1_1">
-        <output-dir compare="Text">basic-1_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="basic-1_1_2">
-        <output-dir compare="Text">basic-1_1_2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="basic-1_1_3">
-        <output-dir compare="Text">basic-1_1_3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-string-as-primary-key">
-        <output-dir compare="Text">dblp-string-as-primary-key</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <!--
-    <test-group name="flwor">
-      <test-case FilePath="flwor">
-        <compilation-unit name="for01">
-          <output-dir compare="Text">for01</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for02">
-          <output-dir compare="Text">for02</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for03">
-          <output-dir compare="Text">for03</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for04">
-          <output-dir compare="Text">for04</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for05">
-          <output-dir compare="Text">for05</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for06">
-          <output-dir compare="Text">for06</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for07">
-          <output-dir compare="Text">for07</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for08">
-          <output-dir compare="Text">for08</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for09">
-          <output-dir compare="Text">for09</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for10">
-          <output-dir compare="Text">for10</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for11">
-          <output-dir compare="Text">for11</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for12">
-          <output-dir compare="Text">for12</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for13">
-          <output-dir compare="Text">for13</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for14">
-          <output-dir compare="Text">for14</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for15">
-          <output-dir compare="Text">for15</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for16">
-          <output-dir compare="Text">for16</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for17">
-          <output-dir compare="Text">for17</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for18">
-          <output-dir compare="Text">for18</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="for19">
-          <output-dir compare="Text">for19</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="grpby01">
-          <output-dir compare="Text">grpby01</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="grpby02">
-          <output-dir compare="Text">grpby02</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let01">
-          <output-dir compare="Text">let01</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let02">
-          <output-dir compare="Text">let02</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let03">
-          <output-dir compare="Text">let03</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let04">
-          <output-dir compare="Text">let04</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let05">
-          <output-dir compare="Text">let05</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let06">
-          <output-dir compare="Text">let06</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let07">
-          <output-dir compare="Text">let07</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let08">
-          <output-dir compare="Text">let08</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let09">
-          <output-dir compare="Text">let09</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let10">
-          <output-dir compare="Text">let10</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let11">
-          <output-dir compare="Text">let11</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let12">
-          <output-dir compare="Text">let12</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let13">
-          <output-dir compare="Text">let13</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let14">
-          <output-dir compare="Text">let14</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let15">
-          <output-dir compare="Text">let15</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let16">
-          <output-dir compare="Text">let16</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let17">
-          <output-dir compare="Text">let17</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let18">
-          <output-dir compare="Text">let18</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let19">
-          <output-dir compare="Text">let19</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let20">
-          <output-dir compare="Text">let20</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let21">
-          <output-dir compare="Text">let21</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let22">
-          <output-dir compare="Text">let22</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let23">
-          <output-dir compare="Text">let23</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let24">
-          <output-dir compare="Text">let24</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let25">
-          <output-dir compare="Text">let25</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let26">
-          <output-dir compare="Text">let26</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let27">
-          <output-dir compare="Text">let27</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let28">
-          <output-dir compare="Text">let28</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let29">
-          <output-dir compare="Text">let29</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let30">
-          <output-dir compare="Text">let30</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let31">
-          <output-dir compare="Text">let31</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="let32">
-          <output-dir compare="Text">let32</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-01">
-          <output-dir compare="Text">order-by-01</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-02">
-          <output-dir compare="Text">order-by-02</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-03">
-          <output-dir compare="Text">order-by-03</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-04">
-          <output-dir compare="Text">order-by-04</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-05">
-          <output-dir compare="Text">order-by-05</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-06">
-          <output-dir compare="Text">order-by-06</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-07">
-          <output-dir compare="Text">order-by-07</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-08">
-          <output-dir compare="Text">order-by-08</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-09">
-          <output-dir compare="Text">order-by-09</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-10">
-          <output-dir compare="Text">order-by-10</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-11">
-          <output-dir compare="Text">order-by-11</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="order-by-12">
-          <output-dir compare="Text">order-by-12</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-01">
-          <output-dir compare="Text">ret-01</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-02">
-          <output-dir compare="Text">ret-02</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-03">
-          <output-dir compare="Text">ret-03</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-04">
-          <output-dir compare="Text">ret-04</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-05">
-          <output-dir compare="Text">ret-05</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-06">
-          <output-dir compare="Text">ret-06</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-07">
-          <output-dir compare="Text">ret-07</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-08">
-          <output-dir compare="Text">ret-08</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-09">
-          <output-dir compare="Text">ret-09</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-10">
-          <output-dir compare="Text">ret-10</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-11">
-          <output-dir compare="Text">ret-11</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-12">
-          <output-dir compare="Text">ret-12</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-13">
-          <output-dir compare="Text">ret-13</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-14">
-          <output-dir compare="Text">ret-14</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-15">
-          <output-dir compare="Text">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="Text">print_01</output-dir>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-16">
-          <output-dir compare="Text">ret-16</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-17">
-          <output-dir compare="Text">ret-17</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-18">
-          <output-dir compare="Text">ret-18</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="flwor">
-        <compilation-unit name="ret-19">
-          <output-dir compare="Text">ret-19</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    -->
-  <test-group name="fulltext">
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-01">
-        <output-dir compare="Text">fulltext-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-02">
-        <output-dir compare="Text">fulltext-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-04">
-        <output-dir compare="Text">fulltext-04</output-dir>
-        <expected-error>ASX1010: Phrase search in Full-text is not yet supported. Only one keyword per expression is permitted</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-05">
-        <output-dir compare="Text">fulltext-05</output-dir>
-        <expected-error>ASX1010: Phrase search in Full-text is not yet supported. Only one keyword per expression is permitted</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-06">
-        <output-dir compare="Text">fulltext-06</output-dir>
-        <expected-error>ASX1010: Phrase search in Full-text is not yet supported. Only one keyword per expression is permitted</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-08">
-        <output-dir compare="Text">fulltext-08</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-09">
-        <output-dir compare="Text">fulltext-09</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-index-01">
-        <output-dir compare="Text">fulltext-index-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-index-02">
-        <output-dir compare="Text">fulltext-index-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-index-04">
-        <output-dir compare="Text">fulltext-index-04</output-dir>
-        <expected-error>ASX1010: Phrase search in Full-text is not yet supported. Only one keyword per expression is permitted</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-index-05">
-        <output-dir compare="Text">fulltext-index-05</output-dir>
-        <expected-error>ASX1010: Phrase search in Full-text is not yet supported. Only one keyword per expression is permitted</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-index-06">
-        <output-dir compare="Text">fulltext-index-06</output-dir>
-        <expected-error>ASX1010: Phrase search in Full-text is not yet supported. Only one keyword per expression is permitted</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-index-08">
-        <output-dir compare="Text">fulltext-index-08</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-index-09">
-        <output-dir compare="Text">fulltext-index-09</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="fulltext-index-large-data">
-        <output-dir compare="Text">fulltext-index-large-data</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fulltext">
-      <compilation-unit name="stopwords-full-text-filter-1">
-        <output-dir compare="Text">stopwords-full-text-filter-1</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="global-aggregate">
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q01">
-        <output-dir compare="Text">q01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q02">
-        <output-dir compare="Text">q02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q03">
-        <output-dir compare="Text">q01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q04">
-        <output-dir compare="Text">q01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q05_error">
-        <output-dir compare="Text">q01</output-dir>
-        <expected-error>ASX1073: Cannot resolve alias reference for undefined identifier u (in line 22, at column 8)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q06_error">
-        <output-dir compare="Text">q01</output-dir>
-        <expected-error>ASX0037: Type mismatch: expected value of type array or multiset, but got the value of type string (in line 22, at column 8)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q07_error">
-        <output-dir compare="Text">q01</output-dir>
-        <expected-error>count is a SQL-92 aggregate function. The SQL++ core aggregate function array_count could potentially express the intent.</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q08">
-        <output-dir compare="Text">q08</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q09">
-        <output-dir compare="Text">q09</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q10">
-        <output-dir compare="Text">q09</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q11">
-        <output-dir compare="Text">q01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="q12_error">
-        <output-dir compare="Text">q01</output-dir>
-        <expected-error>The parameter * can only be used in count().</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="query-ASTERIXDB-159">
-        <output-dir compare="Text">query-ASTERIXDB-159</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="query-ASTERIXDB-1626">
-        <output-dir compare="Text">query-ASTERIXDB-1626</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="query-ASTERIXDB-1626-2">
-        <output-dir compare="Text">query-ASTERIXDB-1626-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="global-aggregate">
-      <compilation-unit name="query-ASTERIXDB-2525">
-        <output-dir compare="Text">query-ASTERIXDB-2525</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="group-by">
-    <test-case FilePath="group-by">
-      <compilation-unit name="gby-array">
-        <output-dir compare="Text">gby-array</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="gby-case-01">
-        <output-dir compare="Text">gby-case-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="gby-cross-join">
-        <output-dir compare="Text">gby-cross-join</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="gby-nested-01">
-        <output-dir compare="Text">gby-nested-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="gby-record">
-        <output-dir compare="Text">gby-record</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="core-01">
-        <output-dir compare="Text">core-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="core-01-error">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>Cannot find dataset e in dataverse gby nor an alias with name e</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="core-02-error">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>Cannot find dataset f in dataverse gby nor an alias with name f</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="core-02">
-        <output-dir compare="Text">core-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="core-03">
-        <output-dir compare="Text">core-03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="core-04">
-        <output-dir compare="Text">core-04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="core-05">
-        <output-dir compare="Text">core-05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="core-06">
-        <output-dir compare="Text">core-06</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="core-07-error">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error><![CDATA[ASX1001: Syntax error: In line 25 >>GROUP BY x, y;<< Encountered "GROUP" at column 1]]></expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-01">
-        <output-dir compare="Text">core-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-01-negative">
-        <output-dir compare="Text">core-01</output-dir>
-        <expected-error>ASX0037: Type mismatch: expected value of type array or multiset, but got the value of type bigint (in line 26, at column 26)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-01-2">
-        <output-dir compare="Text">core-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-02">
-        <output-dir compare="Text">core-02</output-dir>
-        <expected-error>Cannot resolve ambiguous alias reference for identifier deptId</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-02-2">
-        <output-dir compare="Text">core-02</output-dir>
-        <expected-error>ASX1073: Cannot resolve alias reference for undefined identifier deptId (in line 28, at column 8)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-03">
-        <output-dir compare="Text">core-03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-03-2">
-        <output-dir compare="Text">core-03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-04">
-        <output-dir compare="Text">core-04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-04-2">
-        <output-dir compare="Text">core-04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-05">
-        <output-dir compare="Text">core-05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-05-2">
-        <output-dir compare="Text">core-05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-06-distinct">
-        <output-dir compare="Text">sugar-06-distinct</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-07-negative">
-        <output-dir compare="Text">core-01</output-dir>
-        <expected-error>Cannot resolve ambiguous alias reference for identifier IDENT</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-08-negative">
-        <output-dir compare="Text">core-01</output-dir>
-        <expected-error>ASX1103: Illegal use of identifier: x</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="sugar-09">
-        <output-dir compare="Text">sugar-09</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="two-step-agg-01">
-        <output-dir compare="Text">two-step-agg-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="null">
-        <output-dir compare="Text">null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="gby-expr">
-        <output-dir compare="Text">gby-expr</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="grouping-sets-1">
-        <output-dir compare="Text">grouping-sets-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="grouping-sets-2">
-        <output-dir compare="Text">grouping-sets-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="grouping-sets-3-negative">
-        <output-dir compare="Text">grouping-sets-2</output-dir>
-        <expected-error>ASX1120: Unexpected alias: v21</expected-error>
-        <expected-error>ASX1120: Unexpected alias: v22</expected-error>
-        <expected-error>ASX1120: Unexpected alias: v23</expected-error>
-        <expected-error>ASX1087: Invalid number of arguments for function grouping</expected-error>
-        <expected-error>ASX1119: Invalid argument to grouping() function</expected-error>
-        <expected-error>ASX1119: Invalid argument to grouping() function</expected-error>
-        <expected-error>ASX1119: Invalid argument to grouping() function</expected-error>
-        <expected-error>ASX1118: Too many grouping sets in group by clause: 512. Maximum allowed: 128.</expected-error>
-        <expected-error>ASX1129: Cannot compile SELECT variable.* with GROUP BY GROUPING SETS/ROLLUP/CUBE followed by ORDER BY/LIMIT</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="having">
-        <output-dir compare="Text">core-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="having-2">
-        <output-dir compare="Text">core-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="policy">
-        <output-dir compare="Text">policy</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="policy-02">
-        <output-dir compare="Text">policy-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="policy-03">
-        <output-dir compare="Text">policy-03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="policy-04">
-        <output-dir compare="Text">policy-04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by" check-warnings="true">
-      <compilation-unit name="policy-05">
-        <output-dir compare="Text">policy-05</output-dir>
-        <expected-warn>Unsupported type: agg-sum cannot process input type object (in line 29, at column 23)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="listify">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>The byte size of a single group</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="listify-2">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>The byte size of a single group</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="listify-3">
-        <output-dir compare="Text">listify-3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="redundant-var-in-groupby">
-        <output-dir compare="Text">redundant-var-in-groupby</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="group-by-all-ASTERIXDB-2611">
-        <output-dir compare="Text">group-by-all-ASTERIXDB-2611</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="group-by">
-      <compilation-unit name="hash-group-by-decor">
-        <output-dir compare="Text">hash-group-by-decor</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--test-case FilePath="group-by">
-      <compilation-unit name="query-ASTERIXDB-3016">
-        <output-dir compare="Text">query-ASTERIXDB-3016</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="Text">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="Text">btree-primary-equi-join</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="btree-pidx-to-sidx-idxonly-equi-join_01">
-        <output-dir compare="Text">btree-pidx-to-sidx-idxonly-equi-join_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="btree-secondary-equi-join_01">
-        <output-dir compare="Text">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="Text">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="Text">btree-secondary-equi-join_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="btree-secondary-equi-join_04">
-        <output-dir compare="Text">btree-secondary-equi-join_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="btree-sidx-idxonly-to-pidx-equi-join_01">
-        <output-dir compare="Text">btree-sidx-idxonly-to-pidx-equi-join_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="btree-sidx-idxonly-to-sidx-idxonly-equi-join_01">
-        <output-dir compare="Text">btree-sidx-idxonly-to-sidx-idxonly-equi-join_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="btree-sidx-non-idxonly-to-pidx-equi-join_01">
-        <output-dir compare="Text">btree-sidx-non-idxonly-to-pidx-equi-join_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="btree-sidx-non-idxonly-to-sidx-idxonly-equi-join_01">
-        <output-dir compare="Text">btree-sidx-non-idxonly-to-sidx-idxonly-equi-join_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="btree-secondary-self-equi-join_01">
-        <output-dir compare="Text">btree-secondary-self-equi-join_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join" check-warnings="true">
-      <compilation-unit name="hints-indexnl-params">
-        <output-dir compare="Text">hints-indexnl-params</output-dir>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint indexnl. ASX1001: Syntax error: In line 1 >>(8, idx_tenk2_1k_2k)<< Encountered <INTEGER_LITERAL> "8" at column 2.  (in line 35, at column 21)]]></expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="rtree-spatial-intersect-point_01">
-        <output-dir compare="Text">rtree-spatial-intersect-point_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="rtree-spatial-intersect-point_02">
-        <output-dir compare="Text">rtree-spatial-intersect-point_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="rtree-spatial-intersect-point_03">
-        <output-dir compare="Text">rtree-spatial-intersect-point_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="rtree-spatial-intersect-point_04">
-        <output-dir compare="Text">rtree-spatial-intersect-point_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="rtree-spatial-intersect-point_05">
-        <output-dir compare="Text">rtree-spatial-intersect-point_05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="rtree-spatial-self-intersect-point">
-        <output-dir compare="Text">rtree-spatial-self-intersect-point</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="btree-multiple-join">
-        <output-dir compare="Text">btree-multiple-join</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="index-selection">
-    <test-case FilePath="index-selection">
-      <compilation-unit name="batch-lookup">
-        <output-dir compare="Text">batch-lookup</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-index-composite-key">
-        <output-dir compare="Text">btree-index-composite-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-index-composite-key-02">
-        <output-dir compare="Text">btree-index-composite-key-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-index-composite-key-03">
-        <output-dir compare="Text">btree-index-composite-key-03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-index-composite-key-04">
-        <output-dir compare="Text">btree-index-composite-key-04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-sec-primary-index">
-        <output-dir compare="Text">btree-sec-primary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-sec-primary-index-01">
-        <output-dir compare="Text">btree-sec-primary-index-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-sec-primary-index-02">
-        <output-dir compare="Text">btree-sec-primary-index-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-sec-primary-index-03">
-        <output-dir compare="Text">btree-sec-primary-index-03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-sec-primary-index-04">
-        <output-dir compare="Text">btree-sec-primary-index-04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-index-composite-key-mixed-intervals">
-        <output-dir compare="Text">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="Text">btree-index-rewrite-multiple</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-sidx-composite-idxonly-01">
-        <output-dir compare="Text">btree-sidx-composite-idxonly-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-sidx-composite-idxonly-02">
-        <output-dir compare="Text">btree-sidx-composite-idxonly-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-sidx-composite-idxonly-03">
-        <output-dir compare="Text">btree-sidx-composite-idxonly-03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-sidx-composite-idxonly-04">
-        <output-dir compare="Text">btree-sidx-composite-idxonly-04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-sidx-idxonly-01">
-        <output-dir compare="Text">btree-sidx-idxonly-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-sidx-non-idxonly-01">
-        <output-dir compare="Text">btree-sidx-non-idxonly-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="cust-index-age-nullable">
-        <output-dir compare="Text">cust-index-age-nullable</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="intersection-misc-01">
-        <output-dir compare="Text">intersection-misc-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="intersection-with-between">
-        <output-dir compare="Text">intersection-with-between</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="inverted-index-ngram-contains">
-        <output-dir compare="Text">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="Text">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="Text">inverted-index-ngram-edit-distance</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="inverted-index-ngram-edit-distance-large-data">
-        <output-dir compare="Text">inverted-index-ngram-edit-distance-large-data</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="inverted-index-ngram-edit-distance-word-tokens">
-        <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">orders-index-custkey-open</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="orders-index-custkey">
-        <output-dir compare="Text">orders-index-custkey</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="range-search-open">
-        <output-dir compare="Text">range-search-open</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="range-search">
-        <output-dir compare="Text">range-search</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="rtree-secondary-index-nullable">
-        <output-dir compare="Text">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="Text">rtree-secondary-index-open</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="rtree-secondary-index">
-        <output-dir compare="Text">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="Text">rtree-secondary-index-circular-query</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="rtree-sidx-idxonly-01">
-        <output-dir compare="Text">rtree-sidx-idxonly-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="rtree-sidx-non-idxonly-01">
-        <output-dir compare="Text">rtree-sidx-non-idxonly-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="rtree-sidx-non-idxonly-02">
-        <output-dir compare="Text">rtree-sidx-non-idxonly-02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="disjunctive-predicate-1">
-        <output-dir compare="Text">disjunctive-predicate-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="dataset-with-meta">
-        <output-dir compare="Text">dataset-with-meta</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection" check-warnings="true">
-      <compilation-unit name="hints-skip-index">
-        <output-dir compare="Text">hints-skip-index</output-dir>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint skip-index. ASX1001: Syntax error: In line 1 >>(13, idx_1k)<< Encountered <INTEGER_LITERAL> "13" at column 2.  (in line 32, at column 19)]]></expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection" check-warnings="true">
-      <compilation-unit name="hints-use-index">
-        <output-dir compare="Text">hints-use-index</output-dir>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint use-index. ASX1001: Syntax error: In line 1 >>(18, idx_1k_2k)<< Encountered <INTEGER_LITERAL> "18" at column 2.  (in line 33, at column 15)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint use-index. ASX1001: Syntax error: In line 1 >>()<< Encountered ")" at column 2.  (in line 33, at column 15)]]></expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="inverted-index-ngram-edit-distance-with-two-ngram-index">
-        <output-dir compare="Text">inverted-index-ngram-edit-distance-with-two-ngram-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="intersection">
-        <output-dir compare="Text">intersection</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="intersection-with-filter">
-        <output-dir compare="Text">intersection-with-filter</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="intersection_with_nodegroup">
-        <output-dir compare="Text">intersection</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="verify">
-        <output-dir compare="Text">verify</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="Text">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="Text">ngram-edit-distance-inline</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join">
-      <compilation-unit name="ngram-jaccard">
-        <output-dir compare="Text">ngram-jaccard</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join">
-      <compilation-unit name="ngram-jaccard-inline">
-        <output-dir compare="Text">ngram-jaccard-inline</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join">
-      <compilation-unit name="olist-edit-distance">
-        <output-dir compare="Text">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="Text">olist-edit-distance-inline</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join">
-      <compilation-unit name="olist-jaccard">
-        <output-dir compare="Text">olist-jaccard</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join">
-      <compilation-unit name="olist-jaccard-inline">
-        <output-dir compare="Text">olist-jaccard-inline</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join">
-      <compilation-unit name="ulist-jaccard">
-        <output-dir compare="Text">ulist-jaccard</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join">
-      <compilation-unit name="ulist-jaccard-inline">
-        <output-dir compare="Text">ulist-jaccard-inline</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join">
-      <compilation-unit name="word-jaccard">
-        <output-dir compare="Text">word-jaccard</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join">
-      <compilation-unit name="word-jaccard-inline">
-        <output-dir compare="Text">word-jaccard-inline</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="cast-default-null">
-        <placeholder name="with" value="" />
-        <output-dir compare="Text">cast-default-null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="cast-default-null">
-        <placeholder name="with" value="WITH {'merge-policy': {'name': 'correlated-prefix','parameters': { 'max-mergable-component-size': 16384, 'max-tolerance-component-count': 3 }}}" />
-        <output-dir compare="Text">cast-default-null</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="Text">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="Text">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="Text">ngram-jaccard</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join-noeqjoin">
-      <compilation-unit name="ngram-jaccard-inline">
-        <output-dir compare="Text">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="Text">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="Text">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="Text">olist-jaccard</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join-noeqjoin">
-      <compilation-unit name="olist-jaccard-inline">
-        <output-dir compare="Text">olist-jaccard-inline</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join-noeqjoin">
-      <compilation-unit name="ulist-jaccard">
-        <output-dir compare="Text">ulist-jaccard</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join-noeqjoin">
-      <compilation-unit name="ulist-jaccard-inline">
-        <output-dir compare="Text">ulist-jaccard-inline</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join-noeqjoin">
-      <compilation-unit name="word-jaccard">
-        <output-dir compare="Text">word-jaccard</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="inverted-index-join-noeqjoin">
-      <compilation-unit name="word-jaccard-inline">
-        <output-dir compare="Text">word-jaccard-inline</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="join">
-    <test-case FilePath="join">
-      <compilation-unit name="cross-join-01">
-        <output-dir compare="Text">cross-join-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="join">
-      <compilation-unit name="cross-join-02-negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1077: Cannot find dataset x in dataverse Default nor an alias with name x (in line 26, at column 39)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="join">
-      <compilation-unit name="hash-join-with-redundant-variable">
-        <output-dir compare="Text">hash-join-with-redundant-variable</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="join">
-      <compilation-unit name="hash_join_array">
-        <output-dir compare="Text">hash_join_array</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="join">
-      <compilation-unit name="hash_join_missing">
-        <output-dir compare="Text">hash_join_missing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="join">
-      <compilation-unit name="hash_join_record">
-        <output-dir compare="Text">hash_join_record</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="join">
-      <compilation-unit name="join-with-empty-dataset">
-        <output-dir compare="Text">join-with-empty-dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="join">
-      <compilation-unit name="nlj_partitioning_property">
-        <output-dir compare="Text">nlj_partitioning_property</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="join">
-      <compilation-unit name="inner_right_corr">
-        <output-dir compare="Text">inner_right_corr</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="Text">any-collection-member_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="array_length">
-        <output-dir compare="Text">array_length</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="enforcing_item_type">
-        <output-dir compare="Text">enforcing_item_type</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="exists">
-        <output-dir compare="Text">exists</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="get-item_01">
-        <output-dir compare="Text">get-item_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="get-item_02">
-        <output-dir compare="Text">get-item_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="get-item_03">
-        <output-dir compare="Text">get-item_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="len_01">
-        <output-dir compare="Text">len_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="len_null_01">
-        <output-dir compare="Text">len_null_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="list-range">
-        <output-dir compare="Text">list-range</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="list-slice_01">
-        <output-dir compare="Text">list-slice_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="list-slice_02">
-        <output-dir compare="Text">list-slice_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="list-slice_03">
-        <output-dir compare="Text">list-slice_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="list-star_01">
-        <output-dir compare="Text">list-star_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="listify_01">
-        <output-dir compare="Text">listify_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="listify_02">
-        <output-dir compare="Text">listify_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="listify_03">
-        <output-dir compare="Text">listify_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="ordered-list-constructor_01">
-        <output-dir compare="Text">ordered-list-constructor_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="ordered-list-constructor_02">
-        <output-dir compare="Text">ordered-list-constructor_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="ordered-list-constructor_03">
-        <output-dir compare="Text">ordered-list-constructor_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="ordered-list-constructor_04">
-        <output-dir compare="Text">ordered-list-constructor_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="ordered-list-constructor_05">
-        <output-dir compare="Text">ordered-list-constructor_05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="ordered-list-constructor_06_negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error><![CDATA[ASX1001: Syntax error: In line 26 >>    from [r, r+1] x select value count(x),<< Encountered "," at column 42]]></expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="scan-collection_01">
-        <output-dir compare="Text">scan-collection_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--         <test-case FilePath="list">
-                    <compilation-unit name="union_01">
-                        <output-dir compare="Text">union_01</output-dir>
-                    </compilation-unit>
-                </test-case>
-                <test-case FilePath="list">
-                    <compilation-unit name="union_02">
-                        <output-dir compare="Text">union_02</output-dir>
-                    </compilation-unit>
-                </test-case>
-         -->
-    <test-case FilePath="list">
-      <compilation-unit name="unordered-list-constructor_01">
-        <output-dir compare="Text">unordered-list-constructor_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="unordered-list-constructor_02">
-        <output-dir compare="Text">unordered-list-constructor_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="unordered-list-constructor_03">
-        <output-dir compare="Text">unordered-list-constructor_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="query-issue428">
-        <output-dir compare="Text">query-issue428</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="query-ASTERIXDB-159-2">
-        <output-dir compare="Text">query-ASTERIXDB-159-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="query-ASTERIXDB-159-3">
-        <output-dir compare="Text">query-ASTERIXDB-159-3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="query-ASTERIXDB-1131-2">
-        <output-dir compare="Text">query-ASTERIXDB-1131-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="query-ASTERIXDB-1131">
-        <output-dir compare="Text">query-ASTERIXDB-1131</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="query-ASTERIXDB-1212-2-open">
-        <output-dir compare="Text">query-ASTERIXDB-1212-2-open</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="query-ASTERIXDB-1212-2">
-        <output-dir compare="Text">query-ASTERIXDB-1212-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="query-ASTERIXDB-1212-open">
-        <output-dir compare="Text">query-ASTERIXDB-1212-open</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="query-ASTERIXDB-1212">
-        <output-dir compare="Text">query-ASTERIXDB-1212</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="query-ASTERIXDB-673">
-        <output-dir compare="Text">query-ASTERIXDB-673</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="list">
-      <compilation-unit name="var-in-list">
-        <output-dir compare="Text">var-in-list</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="misc">
-    <test-case FilePath="misc">
-      <compilation-unit name="big_in_list/000">
-        <output-dir compare="Text">big_in_list/000</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="big_in_list/001">
-        <output-dir compare="Text">big_in_list/001</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="multiple_and/000">
-        <output-dir compare="Text">multiple_and/000</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="record-serialization-ASTERIXDB-2567">
-        <output-dir compare="Text">record-serialization-ASTERIXDB-2567</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="record-serialization-ASTERIXDB-2613">
-        <output-dir compare="Text">record-serialization-ASTERIXDB-2613</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="field_access-ASTERIXDB-2289">
-        <output-dir compare="Text">field_access-ASTERIXDB-2289</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="comp-ASTERIXDB-2415">
-        <output-dir compare="Text">query-ASTERIXDB-1671</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="comp-ASTERIXDB-2412">
-        <output-dir compare="Text">comp-ASTERIXDB-2412</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="field_access_union-ASTERIXDB-2288">
-        <output-dir compare="Text">field_access_union-ASTERIXDB-2288</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="constant_folding">
-        <output-dir compare="Text">constant_folding</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="join-ASTERIXDB-2686">
-        <output-dir compare="Text">join-ASTERIXDB-2686</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="poll-dynamic">
-        <output-dir compare="Text">poll-dynamic</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="validate-expected">
-        <output-dir compare="Text">validate-expected</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="dataset-resources">
-        <output-dir compare="Text">dataset-resources</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="ping">
-        <output-dir compare="Text">ping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="case_01">
-        <output-dir compare="Text">case_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="case_02">
-        <output-dir compare="Text">case_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="case_03">
-        <output-dir compare="Text">case_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="case_04">
-        <output-dir compare="Text">case_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="case_05">
-        <output-dir compare="Text">case_05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="case_06">
-        <output-dir compare="Text">case_06</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="case_07">
-        <output-dir compare="Text">case_05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="case_08">
-        <output-dir compare="Text">case_08</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="case_09">
-        <output-dir compare="Text">case_09</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="dataset_nodegroup">
-        <output-dir compare="Text">dataset_nodegroup</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="ensure_result_numeric_type">
-        <output-dir compare="Text">ensure_result_numeric_type</output-dir>
-        <expected-error>expected &lt; 3.0</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="partition-by-nonexistent-field">
-        <output-dir compare="Text">partition-by-nonexistent-field</output-dir>
-        <expected-error>Field 'id' is not found</expected-error>
-        <expected-error>Cannot find dataset with name testds in dataverse test</expected-error>
-        <expected-error>Cannot find dataset testds in dataverse test nor an alias with name testds</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="float_01">
-        <output-dir compare="Text">float_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="flushtest">
-        <output-dir compare="Text">flushtest</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="groupby-orderby-count">
-        <output-dir compare="Text">groupby-orderby-count</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="identifier_01">
-        <output-dir compare="Text">identifier_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="ifthenelse_01">
-        <output-dir compare="Text">ifthenelse_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="is-null_01">
-        <output-dir compare="Text">is-null_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="nested-loop-join_01">
-        <output-dir compare="Text">nested-loop-join_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query_issue267">
-        <output-dir compare="Text">query_issue267</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="random">
-        <output-dir compare="Text">random</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="stable_sort">
-        <output-dir compare="Text">stable_sort</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-         <test-case FilePath="misc">
-           <compilation-unit name="range_01">
-             <output-dir compare="Text">range_01</output-dir>
-           </compilation-unit>
-         </test-case>
-        -->
-    <!--
-          <test-case FilePath="misc">
-            <compilation-unit name="tid_01">
-              <output-dir compare="Text">tid_01</output-dir>
-            </compilation-unit>
-          </test-case>
-         -->
-    <test-case FilePath="misc">
-      <compilation-unit name="year_01">
-        <output-dir compare="Text">year_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="string_eq_01">
-        <output-dir compare="Text">string_eq_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="prefix-search">
-        <output-dir compare="Text">prefix-search</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-1490">
-        <output-dir compare="Text">query-ASTERIXDB-1490</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-971">
-        <output-dir compare="Text">query-ASTERIXDB-971-sqlpp</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-1531">
-        <output-dir compare="Text">query-ASTERIXDB-1531</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-1577">
-        <output-dir compare="Text">query-ASTERIXDB-1577</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-1671">
-        <output-dir compare="Text">query-ASTERIXDB-1671</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-1671-2">
-        <output-dir compare="Text">query-ASTERIXDB-1671</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-2354">
-        <output-dir compare="Text">query-ASTERIXDB-2354</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-2355">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error><![CDATA[ASX1001: Syntax error: In line 22 >> %%%<< Encountered "%" at column 2.]]></expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-2380">
-        <output-dir compare="Text">query-ASTERIXDB-2380</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-2550">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX0037: Type mismatch: expected value of type array or multiset, but got the value of type object (in line 28, at column 2)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-2886">
-        <output-dir compare="Text">query-ASTERIXDB-2886</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="unsupported_parameter">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>Query parameter compiler.joinmem is not supported</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="unsupported_parameter_value">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>The given string: 4LS is not a byte unit string (e.g., 320KB or 1024)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="uuid">
-        <output-dir compare="Text">uuid</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="p_sort_join">
-        <output-dir compare="Text">p_sort_join</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="p_sort_seq_merge">
-        <output-dir compare="Text">p_sort_seq_merge</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="p_sort_num_samples">
-        <output-dir compare="Text">p_sort_num_samples</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="p_sort_static_range_map">
-        <output-dir compare="Text">p_sort_static_range_map</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="active_requests">
-        <output-dir compare="Text">active_requests</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="jobs">
-        <output-dir compare="Text">jobs</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="completed_requests">
-        <output-dir compare="Text">completed_requests</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="dump_index">
-        <output-dir compare="Text">dump_index</output-dir>
-        <expected-error>Cannot find index with name noindex</expected-error>
-        <expected-error>Cannot find dataset with name nodataset in dataverse test</expected-error>
-        <expected-error>Cannot find dataset with name ds in dataverse nodataverse</expected-error>
-        <expected-error>Unsupported type: dump-index cannot process input type null</expected-error>
-        <expected-error>Unsupported type: dump-index cannot process input type null</expected-error>
-        <expected-error>Unsupported type: dump-index cannot process input type null</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="metadata_only_01">
-        <output-dir compare="Text">metadata_only_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="metadata_only_02">
-        <output-dir compare="Text">metadata_only_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="cast-ASTERIXDB-2458">
-        <output-dir compare="Text">cast-ASTERIXDB-2458</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="insert_nulls_with_secondary_idx">
-        <output-dir compare="Text">insert_nulls_with_secondary_idx</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-2700">
-        <output-dir compare="Text">query-ASTERIXDB-2700</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-1203">
-        <output-dir compare="Text">query-ASTERIXDB-1203</output-dir>
-      </compilation-unit>
-    </test-case>
-    -->
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-819-2">
-        <output-dir compare="Text">query-ASTERIXDB-819-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-819">
-        <output-dir compare="Text">query-ASTERIXDB-819</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="query-ASTERIXDB-865">
-        <output-dir compare="Text">query-ASTERIXDB-865</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="misc">
-      <compilation-unit name="serialized_size_fun">
-        <output-dir compare="Text">serialized_size_fun</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="multipart-dataverse">
-    <test-case FilePath="multipart-dataverse">
-      <compilation-unit name="index_1">
-        <output-dir compare="Text">index_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="multipart-dataverse">
-      <compilation-unit name="resolution_1">
-        <output-dir compare="Text">resolution_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="multipart-dataverse">
-      <compilation-unit name="special_chars_1">
-        <output-dir compare="Text">special_chars_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="multipart-dataverse">
-      <compilation-unit name="special_chars_2">
-        <output-dir compare="Text">special_chars_2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="multipart-dataverse">
-      <compilation-unit name="udf_1">
-        <output-dir compare="Text">udf_1</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="index">
-    <test-group name="index/validations">
-      <test-case FilePath="index/validations">
-        <compilation-unit name="keys-same-as-pk-but-different-order">
-          <output-dir compare="Text">keys-same-as-pk-but-different-order</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="index/validations">
-        <compilation-unit name="keys-same-as-pk-in-same-order">
-          <output-dir compare="Text">keys-same-as-pk-in-same-order</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="index/validations">
-        <compilation-unit name="repetitive-keys">
-          <output-dir compare="Text">repetitive-keys</output-dir>
-          <expected-error>Cannot create index with the same field '[value]' specified more than once.</expected-error>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-  </test-group>
-  <test-group name="open-index-enforced">
-    <test-group name="open-index-enforced/error-checking">
-      <test-case FilePath="open-index-enforced/error-checking">
-        <compilation-unit name="enforced-field-name-collision">
-          <output-dir compare="Text">enforced-field-name-collision</output-dir>
-          <expected-error>Cannot create enforced index on '[value]' field. The field is closed type.</expected-error>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-enforced/error-checking">
-        <compilation-unit name="enforced-field-type-collision">
-          <output-dir compare="Text">enforced-field-type-collision</output-dir>
-          <expected-error>Cannot create enforced index on '[value]' field. The field is closed type.</expected-error>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-enforced/error-checking">
-        <compilation-unit name="missing-enforce-statement">
-          <output-dir compare="Text">missing-enforce-statement</output-dir>
-          <expected-error>ASX1042: Cannot create non-enforced typed index of this kind: RTREE</expected-error>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-enforced/error-checking">
-        <compilation-unit name="missing-optionality">
-          <output-dir compare="Text">missing-optionality</output-dir>
-          <expected-error>Cannot create enforced index on '[value]' field with non-optional type</expected-error>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-enforced/error-checking">
-        <compilation-unit name="index-on-closed-type">
-          <output-dir compare="Text">index-on-closed-type</output-dir>
-          <expected-error>ASX1014: Field 'value' is not found (in line 33, at column 34)</expected-error>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-enforced/error-checking">
-        <compilation-unit name="index-type-collision">
-          <output-dir compare="Text">index-type-collision</output-dir>
-          <expected-error>Cannot create index testIdx2 , enforced index testIdx1 on field(s) 'value' is already defined with type(s) 'integer'</expected-error>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-enforced/error-checking">
-        <compilation-unit name="index-type-promotion-collision">
-          <output-dir compare="Text">index-type-promotion-collision</output-dir>
-          <expected-error>Cannot create index testIdx2 , enforced index testIdx1 on field(s) 'value' is already defined with type(s) 'bigint'</expected-error>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-enforced/error-checking">
-        <compilation-unit name="object-type-collision">
-          <output-dir compare="Text">object-type-collision</output-dir>
-          <expected-error>ASX1051: Cannot create enforced index on '[value]' field. The field is closed type.</expected-error>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="open-index-enforced/index-join">
-      <test-case FilePath="open-index-enforced/index-join">
-        <compilation-unit name="btree-secondary-equi-join">
-          <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">word-jaccard-inline</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="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="Text">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="Text">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-sidx2">
-          <output-dir compare="Text">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="Text">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="Text">probe-pidx-with-join-rtree-sidx2</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="open-index-enforced/index-selection">
-      <test-case FilePath="open-index-enforced/index-selection">
-        <compilation-unit name="btree-index-composite-key">
-          <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">rtree-secondary-index</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-enforced/index-selection">
-        <compilation-unit name="multi-index-composite-key">
-          <output-dir compare="Text">multi-index-composite-key</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-enforced/index-selection">
-        <compilation-unit name="multi-index">
-          <output-dir compare="Text">multi-index</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="open-index-enforced/type-checking">
-      <test-case FilePath="open-index-enforced/type-checking">
-        <compilation-unit name="enforced-type-delete">
-          <output-dir compare="Text">enforced-type-delete</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-enforced/type-checking">
-        <compilation-unit name="enforced-type-upsert">
-          <output-dir compare="Text">enforced-type-upsert</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="open-index-non-enforced/index-selection">
-      <test-case FilePath="open-index-non-enforced/index-selection">
-        <compilation-unit name="btree-index-01">
-          <output-dir compare="Text">btree-index-01</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-non-enforced/index-selection">
-        <compilation-unit name="btree-index-02">
-          <output-dir compare="Text">btree-index-02</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-non-enforced/index-selection">
-        <compilation-unit name="btree-index-03">
-          <output-dir compare="Text">btree-index-03</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-non-enforced/index-selection">
-        <compilation-unit name="btree-index-04">
-          <output-dir compare="Text">btree-index-04</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-non-enforced/index-selection">
-        <compilation-unit name="btree-index-composite-key-03">
-          <output-dir compare="Text">btree-index-composite-key-03</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-non-enforced/index-selection">
-        <compilation-unit name="btree-index-composite-key-04">
-          <output-dir compare="Text">btree-index-composite-key-04</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="open-index-non-enforced/correlated-index-selection">
-        <compilation-unit name="btree-index-01">
-          <output-dir compare="Text">btree-index-01</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="open-index-non-enforced/index-join">
-      <test-case FilePath="open-index-non-enforced/index-join">
-        <compilation-unit name="btree-equi-join-01">
-          <output-dir compare="Text">btree-equi-join-01</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-  </test-group>
-  <test-group name="nested-open-index">
-    <test-group name="nested-open-index/index-join">
-      <test-case FilePath="nested-open-index/index-join">
-        <compilation-unit name="btree-secondary-equi-join">
-          <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">word-jaccard-inline</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="nested-open-index/index-join">
-        <compilation-unit name="btree-secondary-non-enforced-equi-join">
-          <output-dir compare="Text">btree-secondary-non-enforced-equi-join</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="nested-open-index/index-join">
-        <compilation-unit name="btree-secondary-non-enforced-equi-join-2">
-          <output-dir compare="Text">btree-secondary-non-enforced-equi-join-2</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="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="Text">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="Text">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-sidx2">
-          <output-dir compare="Text">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="Text">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="Text">probe-pidx-with-join-rtree-sidx2</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="nested-open-index/index-selection">
-      <test-case FilePath="nested-open-index/index-selection">
-        <compilation-unit name="btree-index-composite-key">
-          <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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-word-tokens">
-          <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">rtree-secondary-index</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="nested-open-index/index-selection">
-        <compilation-unit name="non-enforced-01">
-          <output-dir compare="Text">non-enforced-01</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="nested-open-index/index-selection">
-        <compilation-unit name="non-enforced-02">
-          <output-dir compare="Text">non-enforced-02</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="nested-open-index/index-selection">
-        <compilation-unit name="non-enforced-03">
-          <output-dir compare="Text">non-enforced-03</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="nested-open-index/index-selection">
-        <compilation-unit name="non-enforced-04">
-          <output-dir compare="Text">non-enforced-04</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="Text">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="Text">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="Text">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="Text">bottom-open-top-open</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-  </test-group>
-  <test-group name="nested-index">
-    <test-group name="nested-index/index-join">
-      <test-case FilePath="nested-index/index-join">
-        <compilation-unit name="btree-primary-equi-join">
-          <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">ngram-jaccard</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="nested-index/index-join">
-        <compilation-unit name="ngram-jaccard-inline">
-          <output-dir compare="Text">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="Text">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="Text">word-jaccard</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="nested-index/index-join">
-        <compilation-unit name="word-jaccard-inline">
-          <output-dir compare="Text">word-jaccard-inline</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="nested-index/index-leftouterjoin">
-      <test-case FilePath="nested-index/index-leftouterjoin">
-        <compilation-unit name="probe-pidx-with-join-btree-sidx1">
-          <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">probe-pidx-with-join-rtree-sidx2</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="nested-index/index-selection">
-      <test-case FilePath="nested-index/index-selection">
-        <compilation-unit name="btree-index-composite-key">
-          <output-dir compare="Text">btree-index-composite-key</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="nested-index/index-selection">
-        <compilation-unit name="btree-sec-primary-index">
-          <output-dir compare="Text">btree-sec-primary-index</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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">range-search</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="nested-index/index-selection">
-        <compilation-unit name="range-search-open">
-          <output-dir compare="Text">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="Text">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="Text">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="Text">rtree-secondary-index-open</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="nested-index/index-selection">
-        <compilation-unit name="rtree-secondary-index-optional">
-          <output-dir compare="Text">rtree-secondary-index-open</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="Text">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="Text">nested-uuid-load</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="nested-index-dml">
-      <compilation-unit name="nested-uuid-insert">
-        <output-dir compare="Text">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="Text">delete-from-loaded-dataset-with-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="nested-index-dml">
-      <compilation-unit name="delete-from-loaded-dataset-with-sec-primary-index">
-        <output-dir compare="Text">delete-from-loaded-dataset-with-sec-primary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="nested-index-dml">
-      <compilation-unit name="drop-index">
-        <output-dir compare="Text">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="Text">insert-into-empty-dataset-with-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="nested-index-dml">
-      <compilation-unit name="insert-into-empty-dataset-with-sec-primary-index">
-        <output-dir compare="Text">insert-into-empty-dataset-with-sec-primary-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="Text">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="Text">insert-into-loaded-dataset-with-index_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="nested-index-dml">
-      <compilation-unit name="insert-into-loaded-dataset-with-sec-primary-index">
-        <output-dir compare="Text">insert-into-loaded-dataset-with-sec-primary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="nested-index-dml">
-      <compilation-unit name="load-with-index">
-        <output-dir compare="Text">load-with-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="nested-index-dml">
-      <compilation-unit name="load-with-sec-primary-index">
-        <output-dir compare="Text">load-with-sec-primary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="nested-index-dml">
-      <compilation-unit name="load-with-ngram-index">
-        <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">scan-delete-inverted-index-word-secondary-index-nullable</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="array-index">
-    <test-group name="array-index/error-handling">
-      <test-case FilePath="array-index/error-handling">
-        <compilation-unit name="index-include-unknown-key">
-          <output-dir compare="Text">index-include-unknown-key</output-dir>
-          <expected-error>ASX1079: Compilation error: Array indexes must specify EXCLUDE UNKNOWN KEY</expected-error>
-          <expected-error>ASX1079: Compilation error: Array indexes must specify EXCLUDE UNKNOWN KEY</expected-error>
-          <source-location>false</source-location>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/error-handling">
-        <compilation-unit name="index-two-array-fields">
-          <output-dir compare="Text">index-two-array-fields</output-dir>
-          <expected-error>ASX1079: Compilation error: Cannot create composite index with multiple array fields using different arrays</expected-error>
-          <expected-error>ASX1079: Compilation error: Cannot create composite index with multiple array fields using different arrays</expected-error>
-          <source-location>false</source-location>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/error-handling">
-        <compilation-unit name="invalid-array-path">
-          <output-dir compare="Text">invalid-array-path</output-dir>
-          <expected-error>ASX0037: Type mismatch: expected value of type array or multiset, but got the value of type CheckinType_checkin_time:</expected-error>
-          <expected-error>ASX0037: Type mismatch: expected value of type array or multiset, but got the value of type string</expected-error>
-          <source-location>false</source-location>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/error-handling">
-        <compilation-unit name="index-on-closed-array">
-          <output-dir compare="Text">index-on-closed-array</output-dir>
-          <expected-error>ASX1014: Field 'date' is not found</expected-error>
-          <source-location>false</source-location>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/error-handling">
-        <compilation-unit name="index-with-enforced-type">
-          <output-dir compare="Text">index-with-enforced-type</output-dir>
-          <expected-error>ASX1155: Incompatible index type ARRAY</expected-error>
-          <source-location>false</source-location>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/error-handling">
-        <compilation-unit name="no-field-type">
-          <output-dir compare="Text">no-field-type</output-dir>
-          <expected-error>ASX1079: Compilation error: cannot find type of elements of field 'open_array_f'</expected-error>
-          <expected-error>ASX1079: Compilation error: cannot find type of elements of field 'nested_array'</expected-error>
-          <expected-error>ASX1079: Compilation error: cannot find type of elements of field 'nested_array'</expected-error>
-          <expected-error>ASX1079: Compilation error: cannot find type of field 'proj1'</expected-error>
-          <expected-error>ASX1079: Compilation error: cannot find type of field 'proj1'</expected-error>
-          <expected-error>ASX1079: Compilation error: cannot find type of field 'proj1'</expected-error>
-          <expected-error>ASX1079: Compilation error: cannot find type of field 'proj1'</expected-error>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="array-index/metadata">
-      <test-case FilePath="array-index/metadata/closed">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/open">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/closed">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/open">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/closed">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/open">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/closed">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/open">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/open">
-        <compilation-unit name="complex-structures">
-          <output-dir compare="Text">complex-structures</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/closed">
-        <compilation-unit name="with-composite-sk">
-          <output-dir compare="Text">with-composite-sk</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/open">
-        <compilation-unit name="with-composite-sk">
-          <output-dir compare="Text">with-composite-sk</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/closed">
-        <compilation-unit name="with-composite-array-different-indicators">
-          <output-dir compare="Text">with-composite-array-different-indicators</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/open">
-        <compilation-unit name="with-composite-array-different-indicators">
-          <output-dir compare="Text">with-composite-array-different-indicators</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/closed">
-        <compilation-unit name="with-3-level-record-path">
-          <output-dir compare="Text">with-3-level-record-path</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/metadata/open">
-        <compilation-unit name="with-3-level-record-path">
-          <output-dir compare="Text">with-3-level-record-path</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="array-index/bulk-loading/on-index-creation">
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/closed">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/open">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/closed">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/open">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/closed">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/open">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/closed">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/open">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/closed">
-        <compilation-unit name="with-composite-pk">
-          <output-dir compare="Text">with-composite-pk</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/closed">
-        <compilation-unit name="with-filter-fields">
-          <output-dir compare="Text">with-filter-fields</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/closed">
-        <compilation-unit name="with-3-level-record-path">
-          <output-dir compare="Text">with-3-level-record-path</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/on-index-creation/open">
-        <compilation-unit name="composite-atomic">
-          <output-dir compare="Text">composite-atomic</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="array-index/bulk-loading/after-index-creation">
-      <test-case FilePath="array-index/bulk-loading/after-index-creation">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/after-index-creation">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/after-index-creation">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/after-index-creation">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/after-index-creation">
-        <compilation-unit name="with-3-level-record-path">
-          <output-dir compare="Text">with-3-level-record-path</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/after-index-creation">
-        <compilation-unit name="with-composite-pk">
-          <output-dir compare="Text">with-composite-pk</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/after-index-creation">
-        <compilation-unit name="with-filter-fields">
-          <output-dir compare="Text">with-filter-fields</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/bulk-loading/after-index-creation">
-        <compilation-unit name="with-open-index">
-          <output-dir compare="Text">with-open-index</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="array-index/insert-upsert-delete">
-      <test-case FilePath="array-index/insert-upsert-delete/closed">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/open">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/closed">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/open">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/closed">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/open">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/closed">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/open">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/closed">
-        <compilation-unit name="with-composite-sk">
-          <output-dir compare="Text">with-composite-sk</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/open">
-        <compilation-unit name="with-composite-sk">
-          <output-dir compare="Text">with-composite-sk</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/closed">
-        <compilation-unit name="with-additional-atomic-index">
-          <output-dir compare="Text">with-additional-atomic-index</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/open">
-        <compilation-unit name="with-additional-atomic-index">
-          <output-dir compare="Text">with-additional-atomic-index</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/insert-upsert-delete/closed">
-        <compilation-unit name="with-filter-fields">
-          <output-dir compare="Text">with-filter-fields</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="array-index/join-quantified-queries">
-      <test-case FilePath="array-index/join-quantified-queries">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/join-quantified-queries">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/join-quantified-queries">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/join-quantified-queries">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="array-index/join-unnest-queries">
-      <test-case FilePath="array-index/join-unnest-queries">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/join-unnest-queries">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/join-unnest-queries">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/join-unnest-queries">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/join-unnest-queries">
-        <compilation-unit name="with-open-index">
-          <output-dir compare="Text">with-open-index</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/join-unnest-queries">
-        <compilation-unit name="loj-subquery">
-          <output-dir compare="Text">loj-subquery</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="array-index/select-unnest-queries">
-      <test-case FilePath="array-index/select-unnest-queries/closed">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/open">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/closed">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/open">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/closed">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/open">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/closed">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/open">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/closed">
-        <compilation-unit name="with-3-level-record-path">
-          <output-dir compare="Text">with-3-level-record-path</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/open">
-        <compilation-unit name="with-3-level-record-path">
-          <output-dir compare="Text">with-3-level-record-path</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/closed">
-        <compilation-unit name="with-composite-sk">
-          <output-dir compare="Text">with-composite-sk</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/open">
-        <compilation-unit name="with-composite-sk">
-          <output-dir compare="Text">with-composite-sk</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/closed">
-        <compilation-unit name="with-composite-pk">
-          <output-dir compare="Text">with-composite-pk</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/closed">
-        <compilation-unit name="with-filter-fields">
-          <output-dir compare="Text">with-filter-fields</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/open">
-        <compilation-unit name="using-feed-new-index">
-          <output-dir compare="Text">using-feed</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/open">
-        <compilation-unit name="using-feed-old-index">
-          <output-dir compare="Text">using-feed</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-unnest-queries/open">
-        <compilation-unit name="multiple-indexes">
-          <output-dir compare="Text">multiple-indexes</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="array-index/select-quantified-queries">
-      <test-case FilePath="array-index/select-quantified-queries">
-        <compilation-unit name="use-case-1">
-          <output-dir compare="Text">use-case-1</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-quantified-queries">
-        <compilation-unit name="use-case-2">
-          <output-dir compare="Text">use-case-2</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-quantified-queries">
-        <compilation-unit name="use-case-3">
-          <output-dir compare="Text">use-case-3</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-quantified-queries">
-        <compilation-unit name="use-case-4">
-          <output-dir compare="Text">use-case-4</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-quantified-queries">
-        <compilation-unit name="with-composite-pk">
-          <output-dir compare="Text">with-composite-pk</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-quantified-queries">
-        <compilation-unit name="with-open-index">
-          <output-dir compare="Text">with-open-index</output-dir>
-        </compilation-unit>
-      </test-case>
-      <test-case FilePath="array-index/select-quantified-queries">
-        <compilation-unit name="multiple-indexes">
-          <output-dir compare="Text">multiple-indexes</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-    <test-group name="array-index/composite-index-queries">
-      <test-case FilePath="array-index">
-        <compilation-unit name="composite-index-queries">
-          <output-dir compare="Text">composite-index-queries</output-dir>
-        </compilation-unit>
-      </test-case>
-    </test-group>
-  </test-group>
-  <test-group name="nestrecords">
-    <test-case FilePath="nestrecords">
-      <compilation-unit name="nestrecord">
-        <output-dir compare="Text">nestrecord</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="nestrecords">
-      <compilation-unit name="nested-optional-pk">
-        <output-dir compare="Text">nested-optional-pk</output-dir>
-        <expected-error>ASX1021: The primary key field 'nested.id' cannot be nullable</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="nestrecords">
-      <compilation-unit name="query-ASTERIXDB-1025">
-        <output-dir compare="Text">query-ASTERIXDB-1025</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="null-missing">
-    <test-case FilePath="null-missing">
-      <compilation-unit name="array">
-        <output-dir compare="Text">array</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="boolean">
-        <output-dir compare="Text">boolean</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="ceil">
-        <output-dir compare="Text">ceil</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="comparison">
-        <output-dir compare="Text">comparison</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="field-access">
-        <output-dir compare="Text">field-access</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="group-by">
-        <output-dir compare="Text">group-by</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="group-by-from-dataset">
-        <output-dir compare="Text">group-by-from-dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="length">
-        <output-dir compare="Text">length</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="lower">
-        <output-dir compare="Text">lower</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="order-by">
-        <output-dir compare="Text">order-by</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="order-by-2">
-        <output-dir compare="Text">order-by-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="order-by-3-negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error><![CDATA[ASX1001: Syntax error: In line 33 >>ORDER BY d.a NULLS;<< Encountered ";" at column 19]]></expected-error>
-        <expected-error><![CDATA[ASX1001: Syntax error: Unexpected token: NULLS (in line 33, at column 20)]]></expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="order-by-from-dataset">
-        <output-dir compare="Text">order-by-from-dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="order-by-from-dataset-2">
-        <output-dir compare="Text">order-by-from-dataset-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="scan-collection">
-        <output-dir compare="Text">scan-collection</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="spatial-intersect">
-        <output-dir compare="Text">spatial-intersect</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="substr">
-        <output-dir compare="Text">substr</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="upper">
-        <output-dir compare="Text">upper</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="is">
-        <output-dir compare="Text">is</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="ifmissing">
-        <output-dir compare="Text">ifmissing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="ifnull">
-        <output-dir compare="Text">ifnull</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="ifmissingornull">
-        <output-dir compare="Text">ifmissingornull</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="coalesce">
-        <output-dir compare="Text">coalesce</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="query-ASTERIXDB-1689">
-        <output-dir compare="Text">query-ASTERIXDB-1689</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="null-missing">
-      <compilation-unit name="print-ASTERIXDB-1885">
-        <output-dir compare="Text">print-ASTERIXDB-1885</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="numeric">
-    <test-case FilePath="numeric">
-      <compilation-unit name="caret0">
-        <output-dir compare="Text">caret0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="caret1">
-        <output-dir compare="Text">caret1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="abs0">
-        <output-dir compare="Text">abs0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="abs1">
-        <output-dir compare="Text">abs1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="abs2">
-        <output-dir compare="Text">abs2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="abs3">
-        <output-dir compare="Text">abs3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="abs4">
-        <output-dir compare="Text">abs4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="add_double">
-        <output-dir compare="Text">add_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="add_float">
-        <output-dir compare="Text">add_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="add_int16">
-        <output-dir compare="Text">add_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="add_int32">
-        <output-dir compare="Text">add_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="add_int64">
-        <output-dir compare="Text">add_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="add_int8">
-        <output-dir compare="Text">add_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-    <test-case FilePath="numeric">
-      <compilation-unit name="issue_1166">
-        <output-dir compare="Text">issue_1166</output-dir>
-      </compilation-unit>
-    </test-case>
-    -->
-    <test-case FilePath="numeric">
-      <compilation-unit name="ceiling0">
-        <output-dir compare="Text">ceiling0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="ceiling1">
-        <output-dir compare="Text">ceiling1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="ceiling2">
-        <output-dir compare="Text">ceiling2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="ceiling3">
-        <output-dir compare="Text">ceiling3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="ceiling4">
-        <output-dir compare="Text">ceiling4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="const">
-        <output-dir compare="Text">const</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="degrees">
-        <output-dir compare="Text">degrees</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="divide_double">
-        <output-dir compare="Text">divide_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="divide_float">
-        <output-dir compare="Text">divide_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="divide_int16">
-        <output-dir compare="Text">divide_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="divide_int32">
-        <output-dir compare="Text">divide_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="divide_int64">
-        <output-dir compare="Text">divide_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="divide_int8">
-        <output-dir compare="Text">divide_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="div_mod_case_insensitive">
-        <output-dir compare="Text">div_mod_case_insensitive</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="floor0">
-        <output-dir compare="Text">floor0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="floor1">
-        <output-dir compare="Text">floor1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="floor2">
-        <output-dir compare="Text">floor2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="floor3">
-        <output-dir compare="Text">floor3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="floor4">
-        <output-dir compare="Text">floor4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="ifinf">
-        <output-dir compare="Text">ifinf</output-dir>
-        <expected-error>Invalid number of arguments for function if-inf (in line 25, at column 14)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="ifnan">
-        <output-dir compare="Text">ifnan</output-dir>
-        <expected-error>Invalid number of arguments for function if-nan (in line 25, at column 14)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="ifnanorinf">
-        <output-dir compare="Text">ifnanorinf</output-dir>
-        <expected-error>Invalid number of arguments for function if-nan-or-inf (in line 25, at column 14)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="infinity">
-        <output-dir compare="Text">infinity</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="multiply_double">
-        <output-dir compare="Text">multiply_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="multiply_float">
-        <output-dir compare="Text">multiply_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="multiply_int16">
-        <output-dir compare="Text">multiply_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="multiply_int32">
-        <output-dir compare="Text">multiply_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="multiply_int64">
-        <output-dir compare="Text">multiply_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="multiply_int8">
-        <output-dir compare="Text">multiply_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="power">
-        <output-dir compare="Text">power</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="query-ASTERIXDB-2530">
-        <output-dir compare="Text">query-ASTERIXDB-2530</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="radians">
-        <output-dir compare="Text">radians</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-to-even0">
-        <output-dir compare="Text">round-half-to-even0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-to-even1">
-        <output-dir compare="Text">round-half-to-even1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-to-even2">
-        <output-dir compare="Text">round-half-to-even2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-to-even20">
-        <output-dir compare="Text">round-half-to-even20</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-to-even21">
-        <output-dir compare="Text">round-half-to-even21</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-to-even22">
-        <output-dir compare="Text">round-half-to-even22</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-to-even23">
-        <output-dir compare="Text">round-half-to-even23</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-to-even24">
-        <output-dir compare="Text">round-half-to-even24</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-to-even3">
-        <output-dir compare="Text">round-half-to-even3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-to-even4">
-        <output-dir compare="Text">round-half-to-even4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-to-even5">
-        <output-dir compare="Text">round-half-to-even5</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round-half-up">
-        <output-dir compare="Text">round-half-up</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round0">
-        <output-dir compare="Text">round0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round1">
-        <output-dir compare="Text">round1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round2">
-        <output-dir compare="Text">round2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round3">
-        <output-dir compare="Text">round3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round4">
-        <output-dir compare="Text">round4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round5_with_digit_int8">
-        <output-dir compare="Text">round5_with_digit_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round6_with_digit_int16">
-        <output-dir compare="Text">round6_with_digit_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round7_with_digit_int32">
-        <output-dir compare="Text">round7_with_digit_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round8_with_digit_int64">
-        <output-dir compare="Text">round8_with_digit_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round9_with_digit_float">
-        <output-dir compare="Text">round9_with_digit_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round10_with_digit_double">
-        <output-dir compare="Text">round10_with_digit_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="round11_invalid">
-        <output-dir compare="Text">round11_invalid</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="subtract_double">
-        <output-dir compare="Text">subtract_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="subtract_float">
-        <output-dir compare="Text">subtract_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="subtract_int16">
-        <output-dir compare="Text">subtract_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="subtract_int32">
-        <output-dir compare="Text">subtract_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="subtract_int64">
-        <output-dir compare="Text">subtract_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="subtract_int8">
-        <output-dir compare="Text">subtract_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="trunc">
-        <output-dir compare="Text">trunc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="unary-minus_double_02">
-        <output-dir compare="Text">unary-minus_double_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="unary-minus_float_02">
-        <output-dir compare="Text">unary-minus_float_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="unary-minus_int_02">
-        <output-dir compare="Text">unary-minus_int_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="unary-minus_null">
-        <output-dir compare="Text">unary-minus_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="query-issue355"> <!-- @Yingyi, This one fails in the aql tests!! -->
-        <output-dir compare="Text">query-issue355</output-dir>
-        <!-- <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error> -->
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="acos">
-        <output-dir compare="Text">acos</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="asin">
-        <output-dir compare="Text">asin</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="atan">
-        <output-dir compare="Text">atan</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="atan2">
-        <output-dir compare="Text">atan2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="cos">
-        <output-dir compare="Text">cos</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="cosh">
-        <output-dir compare="Text">cosh</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="sin">
-        <output-dir compare="Text">sin</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="sinh">
-        <output-dir compare="Text">sinh</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="tan">
-        <output-dir compare="Text">tan</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="tanh">
-        <output-dir compare="Text">tanh</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="exp">
-        <output-dir compare="Text">exp</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="ln">
-        <output-dir compare="Text">ln</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="log">
-        <output-dir compare="Text">log</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="sqrt">
-        <output-dir compare="Text">sqrt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="scientific">
-        <output-dir compare="Text">scientific</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="scientific_error">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1073: Cannot resolve alias reference for undefined identifier e (in line 24, at column 10)</expected-error>
-        <expected-error>ASX1073: Cannot resolve alias reference for undefined identifier e (in line 24, at column 8)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="sign">
-        <output-dir compare="Text">sign</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="non-finite">
-        <output-dir compare="Clean-JSON">non-finite</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="add_int8">
-        <output-dir compare="Text">add_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="multiply_int8">
-        <output-dir compare="Text">multiply_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="numeric">
-      <compilation-unit name="unary-minus_double_02">
-        <output-dir compare="Text">unary-minus_double_02</output-dir>
-      </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="Text">c2c-w-optional</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="c2c-wo-optional">
-            <output-dir compare="Text">c2c-wo-optional</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="c2c">
-            <output-dir compare="Text">c2c</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="open-closed">
-      <compilation-unit name="heterog-list-ordered01">
-        <output-dir compare="Text">heterog-list-ordered01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="heterog-list01">
-        <output-dir compare="Text">heterog-list01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="heterog-list02">
-            <output-dir compare="Text">heterog-list02</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="heterog-list03">
-            <output-dir compare="Text">heterog-list03</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="open-closed">
-      <compilation-unit name="open-closed-01">
-        <output-dir compare="Text">open-closed-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="open-closed-12">
-        <output-dir compare="Text">open-closed-12</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="open-closed-14">
-        <output-dir compare="Text">open-closed-14</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue134">
-        <output-dir compare="Text">query-issue134</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue55">
-        <output-dir compare="Text">query-issue55</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue55-1">
-        <output-dir compare="Text">query-issue55-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue166">
-        <output-dir compare="Text">query-issue166</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue208">
-        <output-dir compare="Text">query-issue208</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue236">
-        <output-dir compare="Text">query-issue236</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="open-closed-15">
-            <output-dir compare="Text">open-closed-15</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="open-closed-16">
-            <output-dir compare="Text">open-closed-16</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="open-closed-17">
-            <output-dir compare="Text">open-closed-17</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="open-closed-19">
-            <output-dir compare="Text">open-closed-19</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="open-closed-20">
-            <output-dir compare="Text">open-closed-20</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="open-closed-21">
-            <output-dir compare="Text">open-closed-21</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="open-closed-22">
-            <output-dir compare="Text">open-closed-22</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="open-closed">
-      <compilation-unit name="open-closed-24">
-        <output-dir compare="Text">open-closed-24</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="open-closed-25">
-        <output-dir compare="Text">open-closed-25</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="open-closed-26">
-        <output-dir compare="Text">open-closed-26</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="open-closed-28">
-            <output-dir compare="Text">open-closed-28</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="open-closed">
-      <compilation-unit name="open-closed-29">
-        <output-dir compare="Text">open-closed-29</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="open-closed">
-          <compilation-unit name="open-closed-30">
-            <output-dir compare="Text">open-closed-30</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="open-closed">
-      <compilation-unit name="open-closed-31">
-        <output-dir compare="Text">open-closed-31</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="open-closed-32">
-        <output-dir compare="Text">open-closed-32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="open-closed-33">
-        <output-dir compare="Text">open-closed-33</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-proposal02">
-        <output-dir compare="Text">query-proposal02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-proposal">
-        <output-dir compare="Text">query-proposal</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue350">
-        <output-dir compare="Text">query-issue350</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue350-2">
-        <output-dir compare="Text">query-issue350-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue343">
-        <output-dir compare="Text">query-issue343</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue343-2">
-        <output-dir compare="Text">query-issue343-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue196">
-        <output-dir compare="Text">query-issue196</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue377">
-        <output-dir compare="Text">query-issue377</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue410">
-        <output-dir compare="Text">query-issue410</output-dir>
-        <expected-error>Field type double cannot be promoted to type string</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue453">
-        <output-dir compare="Text">query-issue453</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue453-2">
-        <output-dir compare="Text">query-issue453-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue456">
-        <output-dir compare="Text">query-issue456</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue465">
-        <output-dir compare="Text">query-issue465</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue258">
-        <output-dir compare="Text">query-issue258</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue423">
-        <output-dir compare="Text">query-issue423</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue423-2">
-        <output-dir compare="Text">query-issue423-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue442"><!-- Exception is not thrown!! -->
-        <output-dir compare="Text">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="Text">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="Text">query-issue592</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue625">
-        <output-dir compare="Text">query-issue625</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue208">
-        <output-dir compare="Text">query-issue208</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="open-closed">
-      <compilation-unit name="query-issue236">
-        <output-dir compare="Text">query-issue236</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="quantifiers">
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="any_and_every_01">
-        <output-dir compare="Text">any_and_every_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="anysat_01">
-        <output-dir compare="Text">somesat_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="everysat_01">
-        <output-dir compare="Text">everysat_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="query-ASTERIXDB-1005">
-        <output-dir compare="Text">query-ASTERIXDB-1005</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="query-ASTERIXDB-1674">
-        <output-dir compare="Text">query-ASTERIXDB-1674</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="query-ASTERIXDB-2307">
-        <output-dir compare="Text">query-ASTERIXDB-2307</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="query-ASTERIXDB-2696">
-        <output-dir compare="Text">query-ASTERIXDB-2696</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="query-ASTERIXDB-2947">
-        <output-dir compare="Text">query-ASTERIXDB-2947</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="quantifiers">
-          <compilation-unit name="everysat_02">
-            <output-dir compare="Text">everysat_02</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="quantifiers">
-          <compilation-unit name="everysat_03">
-            <output-dir compare="Text">everysat_03</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="everysat_04">
-        <output-dir compare="Text">everysat_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="somesat_01">
-        <output-dir compare="Text">somesat_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="somesat_02">
-        <output-dir compare="Text">somesat_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="quantifiers">
-          <compilation-unit name="somesat_03">
-            <output-dir compare="Text">somesat_03</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="quantifiers">
-          <compilation-unit name="somesat_04">
-            <output-dir compare="Text">somesat_04</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--
-        <test-case FilePath="quantifiers">
-          <compilation-unit name="somesat_05">
-            <output-dir compare="Text">somesat_05</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="somesat_06">
-        <output-dir compare="Text">somesat_06</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="query_index">
-    <test-case FilePath="query_index">
-      <compilation-unit name="q01">
-        <output-dir compare="Text">q01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="query_index">
-      <compilation-unit name="negative">
-        <output-dir compare="Text">negative</output-dir>
-        <expected-error>ASX1105: Operation not supported on primary index ds1</expected-error>
-        <expected-error>ASX1026: The given function expression query-index("test", "ds1", "pk_idx") cannot utilize index</expected-error>
-        <expected-error>ASX1026: The given function expression query-index("test", "ds1", "sample_idx_1_ds1") cannot utilize index</expected-error>
-        <expected-error>ASX1026: The given function expression query-index("test", "ds1", "ds1_array_idx") cannot utilize index</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="range-hints">
-    <test-case FilePath="range-hints">
-      <compilation-unit name="order-by">
-        <output-dir compare="Text">order-by</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!-- Fail sporadically        <test-case FilePath="range-hints">
-            <compilation-unit name="order-by-exception_01">
-                <output-dir compare="Text">order-by</output-dir>
-                <expected-error>org.json.JSONException: JSONObject['summary'] not found</expected-error>
-            </compilation-unit>
-        </test-case>
-        <test-case FilePath="range-hints">
-            <compilation-unit name="order-by-exception_02">
-                <output-dir compare="Text">order-by</output-dir>
-                <expected-error>org.json.JSONException: JSONObject['summary'] not found</expected-error>
-            </compilation-unit>
-        </test-case> -->
-  </test-group>
-  <test-group name="resolution">
-    <test-case FilePath="resolution">
-      <compilation-unit name="conflict-field-dataset">
-        <output-dir compare="Text">conflict-field-dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="conflict-field-dataset-from">
-        <output-dir compare="Text">conflict-field-dataset-from</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="conflict-field-dataset-fromterm">
-        <output-dir compare="Text">conflict-field-dataset-from</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="conflict-field-dataset-join">
-        <output-dir compare="Text">conflict-field-dataset-from</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="conflict-field-dataset-quantifier">
-        <output-dir compare="Text">conflict-field-dataset-from</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="conflict-field-dataset-unnest">
-        <output-dir compare="Text">conflict-field-dataset-from</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="conflict-fields-dataset">
-        <output-dir compare="Text">conflict-field-dataset</output-dir>
-        <expected-error>Cannot resolve ambiguous alias reference for identifier samptable</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="fullyqualified">
-        <output-dir compare="Text">fullyqualified</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="fullyqualified2">
-        <output-dir compare="Text">fullyqualified2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="order_1">
-        <output-dir compare="Text">order_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="groupby_rename_with_sugar">
-        <output-dir compare="Text">groupby_rename_with_sugar</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="function_dataverse">
-        <output-dir compare="Text">function_dataverse</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="field_accessor_1">
-        <output-dir compare="Text">field_accessor_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="resolution">
-      <compilation-unit name="field_accessor_2_negative">
-        <output-dir compare="Text">field_accessor_1</output-dir>
-        <expected-error>ASX1074: Cannot resolve ambiguous alias reference for identifier c2 (in line 25, at column 7)</expected-error>
-        <expected-error>ASX1074: Cannot resolve ambiguous alias reference for identifier c2 (in line 25, at column 7)</expected-error>
-        <expected-error>ASX1074: Cannot resolve ambiguous alias reference for identifier c2 (in line 25, at column 7)</expected-error>
-        <expected-error>ASX1074: Cannot resolve ambiguous alias reference for identifier c10 (in line 25, at column 51)</expected-error>
-        <expected-error>ASX1073: Cannot resolve alias reference for undefined identifier c20 (in line 26, at column 8)</expected-error>
-        <expected-error>ASX1073: Cannot resolve alias reference for undefined identifier c1 (in line 25, at column 19)</expected-error>
-        <expected-error>ASX1073: Cannot resolve alias reference for undefined identifier samptable (in line 25, at column 14)</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="scan">
-    <test-case FilePath="scan">
-      <compilation-unit name="10">
-        <output-dir compare="Text">10</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="scan">
-      <compilation-unit name="20">
-        <output-dir compare="Text">20</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="scan">
-      <compilation-unit name="issue238_query_1">
-        <output-dir compare="Text">issue238_query_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="scan">
-      <compilation-unit name="issue238_query_2">
-        <output-dir compare="Text">issue238_query_2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!-- The syntax this test case tets isn't really invalid
-        <test-case FilePath="scan">
-            <compilation-unit name="invalid-scan-syntax">
-                <output-dir compare="Text">invalid-scan-syntax</output-dir>
-                <expected-error>java.lang.IllegalStateException: no result file</expected-error>
-            </compilation-unit>
-        </test-case>-->
-    <test-case FilePath="scan">
-      <compilation-unit name="30">
-        <output-dir compare="Text">30</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="scan">
-      <compilation-unit name="alltypes_01">
-        <output-dir compare="Text">alltypes_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="scan">
-      <compilation-unit name="alltypes_01">
-        <output-dir compare="Clean-JSON">alltypes_01-cleanjson</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="scan">
-      <compilation-unit name="alltypes_01">
-        <output-dir compare="Lossless-JSON">alltypes_01-losslessjson</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="scan">
-      <compilation-unit name="alltypes_01">
-        <output-dir compare="Lossless-ADM-JSON">alltypes_01-losslessadmjson</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="scan">
-      <compilation-unit name="alltypes_02">
-        <output-dir compare="Text">alltypes_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="scan">
-      <compilation-unit name="numeric_types_01">
-        <output-dir compare="Text">numeric_types_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="scan">
-      <compilation-unit name="spatial_types_01">
-        <output-dir compare="Text">spatial_types_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="scan">
-          <compilation-unit name="spatial_types_02">
-            <output-dir compare="Text">spatial_types_02</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="scan">
-      <compilation-unit name="temp_types_01">
-        <output-dir compare="Text">temp_types_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
-        <test-case FilePath="scan">
-          <compilation-unit name="temp_types_02">
-            <output-dir compare="Text">temp_types_02</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-  </test-group>
-  <test-group name="select-star">
-    <test-case FilePath="select-star">
-      <compilation-unit name="group_by">
-        <output-dir compare="Text">group_by</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="select-star">
-      <compilation-unit name="from">
-        <output-dir compare="Text">from</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="select-star">
-      <compilation-unit name="join">
-        <output-dir compare="Text">join</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="select-star">
-      <compilation-unit name="mixed">
-        <output-dir compare="Text">mixed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="select-star">
-      <compilation-unit name="no_star">
-        <output-dir compare="Text">no_star</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="select-star">
-      <compilation-unit name="var_star">
-        <output-dir compare="Text">var_star</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="select-star">
-      <compilation-unit name="var_star_2">
-        <output-dir compare="Text">var_star_2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="select-star">
-      <compilation-unit name="escaping/success">
-        <output-dir compare="Text">escaping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="select-star">
-      <compilation-unit name="escaping/failure">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1001: Syntax error</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="select-exclude">
-    <test-case FilePath="select-exclude">
-      <compilation-unit name="tiny-social">
-        <output-dir compare="Text">tiny-social</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="select-exclude">
-      <compilation-unit name="complex-exclude">
-        <output-dir compare="Text">complex-exclude</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="select-exclude">
-      <compilation-unit name="exclude-negative">
-        <output-dir compare="Text">exclude-negative</output-dir>
-        <expected-error>ASX1001: Syntax error</expected-error>
-        <expected-error>ASX1001: Syntax error</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="semistructured">
-    <test-case FilePath="semistructured">
-      <compilation-unit name="count-nullable">
-        <output-dir compare="Text">count-nullable</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="semistructured">
-      <compilation-unit name="cust-filter">
-        <output-dir compare="Text">cust-filter</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="semistructured">
-      <compilation-unit name="has-param1">
-        <output-dir compare="Text">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="Text">edit-distance-check_ints</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="edit-distance-check_strings">
-        <output-dir compare="Text">edit-distance-check_strings</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="edit-distance-check_unicode">
-        <output-dir compare="Text">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="Text">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="Text">edit-distance-string-is-filterable</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="edit-distance_ints">
-        <output-dir compare="Text">edit-distance_ints</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="edit-distance_strings">
-        <output-dir compare="Text">edit-distance_strings</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="fuzzyeq-edit-distance">
-        <output-dir compare="Text">fuzzyeq-edit-distance</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="fuzzyeq-similarity-jaccard">
-        <output-dir compare="Text">fuzzyeq-similarity-jaccard</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="prefix-len-jaccard">
-        <output-dir compare="Text">prefix-len-jaccard</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard-check_ints">
-        <output-dir compare="Text">similarity-jaccard-check_ints</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard-check_query">
-        <output-dir compare="Text">similarity-jaccard-check_query</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard-check_strings">
-        <output-dir compare="Text">similarity-jaccard-check_strings</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard-prefix-check">
-        <output-dir compare="Text">similarity-jaccard-prefix-check</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard-prefix">
-        <output-dir compare="Text">similarity-jaccard-prefix</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard-sorted-check_ints">
-        <output-dir compare="Text">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="Text">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="Text">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="Text">similarity-jaccard-sorted_ints</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard-sorted_query">
-        <output-dir compare="Text">similarity-jaccard-sorted_query</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard-sorted_strings">
-        <output-dir compare="Text">similarity-jaccard-sorted_strings</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard_ints">
-        <output-dir compare="Text">similarity-jaccard_ints</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard_query">
-        <output-dir compare="Text">similarity-jaccard_query</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard_strings">
-        <output-dir compare="Text">similarity-jaccard_strings</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="similarity">
-      <compilation-unit name="similarity-jaccard-check_strings_issue628">
-        <output-dir compare="Text">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="Text">cell-aggregation-with-filtering</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="cell-aggregation">
-        <output-dir compare="Text">cell-aggregation</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="circle_accessor">
-        <output-dir compare="Text">circle_accessor</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="circle-intersect-circle">
-        <output-dir compare="Text">circle-intersect-circle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="create-rtree-index">
-        <output-dir compare="Text">create-rtree-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="distance-between-points">
-        <output-dir compare="Text">distance-between-points</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="hints_spatial_partitioning">
-        <output-dir compare="Text">hints_spatial_partitioning</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="line_accessor">
-        <output-dir compare="Text">line_accessor</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="line-intersect-circle">
-        <output-dir compare="Text">line-intersect-circle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="line-intersect-line">
-        <output-dir compare="Text">line-intersect-line</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="line-intersect-polygon">
-        <output-dir compare="Text">line-intersect-polygon</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="line-intersect-rectangle">
-        <output-dir compare="Text">line-intersect-rectangle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="point_accessor">
-        <output-dir compare="Text">point_accessor</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="point-equals-point">
-        <output-dir compare="Text">point-equals-point</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="point-in-circle">
-        <output-dir compare="Text">point-in-circle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="point-in-polygon">
-        <output-dir compare="Text">point-in-polygon</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="point-in-rectangle">
-        <output-dir compare="Text">point-in-rectangle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="point-on-line">
-        <output-dir compare="Text">point-on-line</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="polygon_accessor">
-        <output-dir compare="Text">polygon_accessor</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="polygon-intersect-circle">
-        <output-dir compare="Text">polygon-intersect-circle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="polygon-intersect-polygon">
-        <output-dir compare="Text">polygon-intersect-polygon</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="polygon-intersect-rectangle">
-        <output-dir compare="Text">polygon-intersect-rectangle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="rectangle_accessor">
-        <output-dir compare="Text">rectangle_accessor</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="rectangle-intersect-circle">
-        <output-dir compare="Text">rectangle-intersect-circle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="rectangle-intersect-rectangle">
-        <output-dir compare="Text">rectangle-intersect-rectangle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="spatial-area">
-        <output-dir compare="Text">spatial-area</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="spatial-large-data">
-        <output-dir compare="Text">spatial-large-data</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="spatial_join_dynamic_partitioning">
-        <output-dir compare="Text">spatial_join_dynamic_partitioning</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="spatial_join_static_partitioning">
-        <output-dir compare="Text">spatial_join_static_partitioning</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="spatial_left_outer_join_st_intersects">
-        <output-dir compare="Text">spatial_left_outer_join_st_intersects</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="spatial">
-      <compilation-unit name="spatial_join_projection_check">
-        <output-dir compare="Text">spatial_join_projection_check</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="sql-compat">
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="in_non_list_01">
-        <output-dir compare="Text">in_non_list_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="outer_join_01">
-        <output-dir compare="Text">outer_join_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="outer_unnest_01">
-        <output-dir compare="Text">outer_unnest_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="select_star_01">
-        <output-dir compare="Text">select_star_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="select_star_02_negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1168: Ambiguous projection in SELECT clause (in line 32, at column 8)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="subquery_coercion_01_scalar">
-        <output-dir compare="Text">subquery_coercion_01_scalar</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="subquery_coercion_02_scalar_negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1169: Unable to do subquery coercion. Subquery returns more than one field (in line 32, at column 29)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Unsupported projection kind (in line 32, at column 20)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Both SELECT and SELECT VALUE are present (in line 35, at column 4)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion.  (in line 34, at column 3)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="subquery_coercion_03_cmp">
-        <output-dir compare="Text">subquery_coercion_03_cmp</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="subquery_coercion_04_cmp_negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1169: Unable to do subquery coercion. Subquery returns more than one field (in line 35, at column 26)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Subquery returns more than one field (in line 35, at column 21)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Both SELECT and SELECT VALUE are present (in line 37, at column 3)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Both SELECT and SELECT VALUE are present (in line 38, at column 3)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion.  (in line 36, at column 3)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Unsupported projection kind (in line 35, at column 20)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Unsupported projection kind (in line 36, at column 11)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Unsupported projection kind (in line 37, at column 11)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="subquery_coercion_05_in">
-        <output-dir compare="Text">subquery_coercion_05_in</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="subquery_coercion_06_in_negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1169: Unable to do subquery coercion. Subquery returns more than one field (in line 36, at column 27)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Subquery returns more than one field (in line 37, at column 17)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Both SELECT and SELECT VALUE are present (in line 38, at column 3)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Both SELECT and SELECT VALUE are present (in line 39, at column 3)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion.  (in line 37, at column 3)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Unsupported projection kind (in line 36, at column 21)</expected-error>
-        <expected-error>ASX1169: Unable to do subquery coercion. Unsupported projection kind (in line 37, at column 25)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="subquery_coercion_07_from">
-        <output-dir compare="Text">subquery_coercion_07_from</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="subquery_coercion_08_misc">
-        <output-dir compare="Text">subquery_coercion_08_misc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="union_all_01">
-        <output-dir compare="Text">union_all_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="sql-compat">
-      <compilation-unit name="union_all_02_negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1171: Unable to process UNION clause. Both SELECT and SELECT VALUE are present (in line 29, at column 1)</expected-error>
-        <expected-error>ASX1171: Unable to process UNION clause. Unequal number of input fields (in line 29, at column 1)</expected-error>
-        <expected-error>ASX1171: Unable to process UNION clause. Unsupported projection kind (in line 29, at column 8)</expected-error>
-        <expected-error>ASX1171: Unable to process UNION clause. Unsupported projection kind (in line 30, at column 8)</expected-error>
-        <expected-error>ASX1171: Unable to process UNION clause. Unsupported projection kind (in line 31, at column 8)</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="statement-params">
-    <test-case FilePath="statement-params">
-      <compilation-unit name="index_01">
-        <output-dir compare="Text">index_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="mixed_01">
-        <output-dir compare="Text">mixed_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="named_01">
-        <output-dir compare="Text">named_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="named_02">
-        <output-dir compare="Text">named_01</output-dir>
-        <expected-error>ASX1086: No value for parameter: $p2</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="named_03">
-        <output-dir compare="Text">named_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="named_04">
-        <output-dir compare="Text">named_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="positional_01">
-        <output-dir compare="Text">positional_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="positional_02">
-        <output-dir compare="Text">positional_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="positional_03">
-        <output-dir compare="Text">positional_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="positional_04">
-        <output-dir compare="Text">positional_02</output-dir>
-        <expected-error>ASX1086: No value for parameter: $2</expected-error>
-        <expected-error>ASX1086: No value for parameter: $3</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="positional_05">
-        <output-dir compare="Text">positional_05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="query-ASTERIXDB-2413">
-        <output-dir compare="Text">query-ASTERIXDB-2413</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="statement-params">
-      <compilation-unit name="query-ASTERIXDB-3116">
-        <output-dir compare="Text">query-ASTERIXDB-3116</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="Text">codepoint-to-string1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="codepoint-to-string2">
-        <output-dir compare="Text">codepoint-to-string2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="concat/001">
-        <output-dir compare="Text">concat/001</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="concat/002">
-        <output-dir compare="Text">concat/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string" check-warnings="true">
-      <compilation-unit name="concat/003">
-        <output-dir compare="Text">concat/003</output-dir>
-        <expected-warn>Type mismatch: function string-concat expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 26, at column 1)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="concat/004">
-        <output-dir compare="Text">concat/004</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="concat/005">
-        <output-dir compare="Text">concat/005</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="concat/006">
-        <output-dir compare="Text">concat/006</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="concat/007">
-        <output-dir compare="Text">concat/007</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="concat/008">
-        <output-dir compare="Text">concat/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="concat/concat_pipe">
-        <output-dir compare="Text">concat/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="concat/concat_pipe_multi">
-        <output-dir compare="Text">concat/concat_pipe_multi</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="constructor">
-        <output-dir compare="Text">constructor</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="contains_01">
-        <output-dir compare="Text">contains_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="cpttostr01">
-        <output-dir compare="Text">cpttostr01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="cpttostr02">
-        <output-dir compare="Text">cpttostr02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="cpttostr04">
-        <output-dir compare="Text">cpttostr04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="ends-with1">
-        <output-dir compare="Text">ends-with1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="ends-with2">
-        <output-dir compare="Text">ends-with2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="ends-with3">
-        <output-dir compare="Text">ends-with3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="ends-with4">
-        <output-dir compare="Text">ends-with4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="ends-with5">
-        <output-dir compare="Text">ends-with5</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="escapes01">
-        <output-dir compare="Text">escapes01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="escapes02">
-        <output-dir compare="Text">escapes02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="initcap">
-        <output-dir compare="Text">initcap</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="join/000">
-        <output-dir compare="Text">join/000</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string" check-warnings="true">
-      <compilation-unit name="join/001">
-        <output-dir compare="Text">join/001</output-dir>
-        <expected-warn>Type mismatch: function string-join expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 24, at column 15)</expected-warn>
-        <expected-warn>Type mismatch: function string-join expects its 1st input parameter to be of type array, but the actual input type is bigint (in line 24, at column 15)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="join/002">
-        <output-dir compare="Text">join/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string" check-warnings="true">
-      <compilation-unit name="join/003">
-        <output-dir compare="Text">join/003</output-dir>
-        <expected-warn>Type mismatch: function string-join expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 23, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-join expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 30, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-join expects its 1st input parameter to be of type array, but the actual input type is bigint (in line 33, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-join expects its 1st input parameter to be of type array, but the actual input type is bigint (in line 26, at column 1)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string" check-warnings="true">
-      <compilation-unit name="join/004">
-        <output-dir compare="Text">join/004</output-dir>
-        <expected-warn>Type mismatch: function string-join expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 26, at column 1)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string" check-warnings="true">
-      <compilation-unit name="join/005">
-        <output-dir compare="Text">join/005</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="length_01">
-        <output-dir compare="Text">length_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="length_02">
-        <output-dir compare="Text">length_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="length_multi_code_point_01">
-        <output-dir compare="Text">length_multi_code_point_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="like_01">
-        <output-dir compare="Text">like_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="like_02">
-        <output-dir compare="Text">like_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="like_03_negative">
-        <output-dir compare="Text">like_03_negative</output-dir>
-        <expected-error>Invalid pattern '__\c' for LIKE (in line 21, at column 11)</expected-error>
-        <expected-error>Invalid pattern '%\' for LIKE (in line 21, at column 18)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="like_null">
-        <output-dir compare="Text">like_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="lowercase">
-        <output-dir compare="Text">lowercase</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches02">
-        <output-dir compare="Text">matches02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches03">
-        <output-dir compare="Text">matches03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches04">
-        <output-dir compare="Text">matches04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches05">
-        <output-dir compare="Text">matches05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches06">
-        <output-dir compare="Text">matches06</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches1">
-        <output-dir compare="Text">matches1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches11">
-        <output-dir compare="Text">matches11</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches2">
-        <output-dir compare="Text">matches2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches21">
-        <output-dir compare="Text">matches21</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches22">
-        <output-dir compare="Text">matches22</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches23">
-        <output-dir compare="Text">matches23</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matches3">
-        <output-dir compare="Text">matches3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="matchesnull">
-        <output-dir compare="Text">matchesnull</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="position/offset0/position">
-        <output-dir compare="Text">position/offset0/position</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="position/offset0/pos">
-        <output-dir compare="Text">position/offset0/pos</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="position/offset0/position0">
-        <output-dir compare="Text">position/offset0/position0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="position/offset0/pos0">
-        <output-dir compare="Text">position/offset0/pos0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="position/offset0/pos0_multi_code_point">
-        <output-dir compare="Text">position/offset0/pos0_multi_code_point</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="position/offset1/position1">
-        <output-dir compare="Text">position/offset1/position1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="position/offset1/pos1">
-        <output-dir compare="Text">position/offset1/pos1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="position/offset1/pos1_multi_code_point">
-        <output-dir compare="Text">position/offset1/pos1_multi_code_point</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_contains/regexp_contains">
-        <output-dir compare="Text">regexp_contains/regexp_contains</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_contains/regex_contains">
-        <output-dir compare="Text">regexp_contains/regex_contains</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_contains/contains_regexp">
-        <output-dir compare="Text">regexp_contains/contains_regexp</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_contains/contains_regex">
-        <output-dir compare="Text">regexp_contains/contains_regex</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_contains_with_flag/regexp_contains_with_flag">
-        <output-dir compare="Text">regexp_contains_with_flag/regexp_contains_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_contains_with_flag/regex_contains_with_flag">
-        <output-dir compare="Text">regexp_contains_with_flag/regex_contains_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_contains_with_flag/contains_regexp_with_flag">
-        <output-dir compare="Text">regexp_contains_with_flag/contains_regexp_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_contains_with_flag/contains_regex_with_flag">
-        <output-dir compare="Text">regexp_contains_with_flag/contains_regex_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_like/regexp_like">
-        <output-dir compare="Text">regexp_like/regexp_like</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_like/regex_like">
-        <output-dir compare="Text">regexp_like/regex_like</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_like_with_flag/regexp_like_with_flag">
-        <output-dir compare="Text">regexp_like_with_flag/regexp_like_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_like_with_flag/regex_like_with_flag">
-        <output-dir compare="Text">regexp_like_with_flag/regex_like_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_matches/001">
-        <output-dir compare="Text">regexp_matches/001</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_matches/002">
-        <output-dir compare="Text">regexp_matches/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_matches/003">
-        <output-dir compare="Text">regexp_matches/003</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_matches/004">
-        <output-dir compare="Text">regexp_matches/004</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset0/regexp_position">
-        <output-dir compare="Text">regexp_position/offset0/regexp_position</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset0/regexp_pos">
-        <output-dir compare="Text">regexp_position/offset0/regexp_pos</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset0/regexp_position0">
-        <output-dir compare="Text">regexp_position/offset0/regexp_position0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset0/regexp_pos0">
-        <output-dir compare="Text">regexp_position/offset0/regexp_pos0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset0/regex_position">
-        <output-dir compare="Text">regexp_position/offset0/regex_position</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset0/regex_pos">
-        <output-dir compare="Text">regexp_position/offset0/regex_pos</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset0/regex_position0">
-        <output-dir compare="Text">regexp_position/offset0/regex_position0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset0/regex_pos0">
-        <output-dir compare="Text">regexp_position/offset0/regex_pos0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset1/regexp_position1">
-        <output-dir compare="Text">regexp_position/offset1/regexp_position1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset1/regexp_pos1">
-        <output-dir compare="Text">regexp_position/offset1/regexp_pos1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset1/regex_position1">
-        <output-dir compare="Text">regexp_position/offset1/regex_position1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position/offset1/regex_pos1">
-        <output-dir compare="Text">regexp_position/offset1/regex_pos1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset0/regexp_position_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset0/regexp_position_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset0/regexp_pos_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset0/regexp_pos_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset0/regexp_position0_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset0/regexp_position0_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset0/regexp_pos0_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset0/regexp_pos0_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset0/regex_position_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset0/regex_position_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset0/regex_pos_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset0/regex_pos_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substr-ASTERIXDB-2949">
-        <output-dir compare="Text">substr-ASTERIXDB-2949</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset0/regex_position0_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset0/regex_position0_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset0/regex_pos0_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset0/regex_pos0_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset1/regexp_position1_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset1/regexp_position1_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset1/regexp_pos1_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset1/regexp_pos1_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset1/regex_position1_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset1/regex_position1_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_position_with_flag/offset1/regex_pos1_with_flag">
-        <output-dir compare="Text">regexp_position_with_flag/offset1/regex_pos1_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_split/001">
-        <output-dir compare="Text">regexp_split/001</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_split/002">
-        <output-dir compare="Text">regexp_split/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_split/003">
-        <output-dir compare="Text">regexp_split/003</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_split/004">
-        <output-dir compare="Text">regexp_split/004</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="repeat">
-        <output-dir compare="Text">repeat</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="replace">
-        <output-dir compare="Text">replace</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="replace_with_limit">
-        <output-dir compare="Text">replace_with_limit</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_replace/regexp_replace">
-        <output-dir compare="Text">regexp_replace/regexp_replace</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_replace/regex_replace">
-        <output-dir compare="Text">regexp_replace/regex_replace</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_replace_with_flag/regexp_replace_with_flag">
-        <output-dir compare="Text">regexp_replace_with_flag/regexp_replace_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="regexp_replace_with_flag/regex_replace_with_flag">
-        <output-dir compare="Text">regexp_replace_with_flag/regex_replace_with_flag</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="reverse">
-        <output-dir compare="Text">reverse</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="split">
-        <output-dir compare="Text">split</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="starts-with1">
-        <output-dir compare="Text">starts-with1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="starts-with2">
-        <output-dir compare="Text">starts-with2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="starts-with3">
-        <output-dir compare="Text">starts-with3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="starts-with4">
-        <output-dir compare="Text">starts-with4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="starts-with5">
-        <output-dir compare="Text">starts-with5</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="string-equal1">
-        <output-dir compare="Text">string-equal1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="string-equal2">
-        <output-dir compare="Text">string-equal2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="string-equal3">
-        <output-dir compare="Text">string-equal3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="string-equal4">
-        <output-dir compare="Text">string-equal4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="string-literal1">
-        <output-dir compare="Text">string-literal1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="string-to-codepoint">
-        <output-dir compare="Text">string-to-codepoint</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="string-to-codepoint1">
-        <output-dir compare="Text">string-to-codepoint1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="string-to-codepoint2">
-        <output-dir compare="Text">string-to-codepoint2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="string_to_codepoint_multi_codepoints_01">
-        <output-dir compare="Text">string_to_codepoint_multi_codepoints_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="strlen02">
-        <output-dir compare="Text">strlen02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="strlen03">
-        <output-dir compare="Text">strlen03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="strtocpt01">
-        <output-dir compare="Text">strtocpt01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="strtocpt02">
-        <output-dir compare="Text">strtocpt02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="strtocpt03">
-        <output-dir compare="Text">strtocpt03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substr01/offset0/substring">
-        <output-dir compare="Text">substr01/offset0/substring</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substr01/offset0/substr">
-        <output-dir compare="Text">substr01/offset0/substr</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substr01/offset0/substring0">
-        <output-dir compare="Text">substr01/offset0/substring0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substr01/offset0/substr0">
-        <output-dir compare="Text">substr01/offset0/substr0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substr01/offset1/substring1">
-        <output-dir compare="Text">substr01/offset1/substring1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substr01/offset1/substr1">
-        <output-dir compare="Text">substr01/offset1/substr1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substr04">
-        <output-dir compare="Text">substr04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substr05">
-        <output-dir compare="Text">substr05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substr06">
-        <output-dir compare="Text">substr06</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring_multi_codepoint_01">
-        <output-dir compare="Text">substring_multi_codepoint_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring-after-1">
-        <output-dir compare="Text">substring-after-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring-after-2">
-        <output-dir compare="Text">substring-after-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring-after-3">
-        <output-dir compare="Text">substring-after-3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring-after-4">
-        <output-dir compare="Text">substring-after-4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring-before-1">
-        <output-dir compare="Text">substring-before-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring-before-2">
-        <output-dir compare="Text">substring-before-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring-before-3">
-        <output-dir compare="Text">substring-before-3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring2-1/offset0/substring">
-        <output-dir compare="Text">substring2-1/offset0/substring</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring2-1/offset0/substr">
-        <output-dir compare="Text">substring2-1/offset0/substr</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring2-1/offset0/substring0">
-        <output-dir compare="Text">substring2-1/offset0/substring0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring2-1/offset0/substr0">
-        <output-dir compare="Text">substring2-1/offset0/substr0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring2-1/offset1/substring1">
-        <output-dir compare="Text">substring2-1/offset1/substring1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring2-1/offset1/substr1">
-        <output-dir compare="Text">substring2-1/offset1/substr1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring2-2">
-        <output-dir compare="Text">substring2-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring2-3">
-        <output-dir compare="Text">substring2-3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring2-4">
-        <output-dir compare="Text">substring2-4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring_01">
-        <output-dir compare="Text">substring_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="title">
-        <output-dir compare="Text">initcap</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="toLowerCase02">
-        <output-dir compare="Text">toLowerCase02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="toLowerCase03">
-        <output-dir compare="Text">toLowerCase03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="toLowerCase04">
-        <output-dir compare="Text">toLowerCase04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="trim">
-        <output-dir compare="Text">trim</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="ltrim">
-        <output-dir compare="Text">ltrim</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="rtrim">
-        <output-dir compare="Text">rtrim</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="uppercase">
-        <output-dir compare="Text">uppercase</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="varlen-encoding">
-        <output-dir compare="Text">varlen-encoding</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="utf8">
-        <output-dir compare="Text">utf8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="query-ASTERIXDB-1190">
-        <output-dir compare="Text">query-ASTERIXDB-1190</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="string-equal-public">
-        <output-dir compare="Text">string-equal-public</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring-after-5">
-        <output-dir compare="Text">substring-after-5</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="substring-after-6">
-        <output-dir compare="Text">substring-after-5</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="subquery">
-    <test-case FilePath="subquery">
-      <compilation-unit name="aggregate_join">
-        <output-dir compare="Text">aggregate_join</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="aggregate_join_external">
-        <output-dir compare="Text">aggregate_join_external</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="gby_inline">
-        <output-dir compare="Text">gby_inline</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-1168">
-        <output-dir compare="Text">query-ASTERIXDB-1168</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="decorrelate_with_unique_id">
-        <output-dir compare="Text">decorrelate_with_unique_id</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="exists">
-        <output-dir compare="Text">exists</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="in">
-        <output-dir compare="Text">in</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="in_as_or">
-        <output-dir compare="Text">in_as_or</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="in_correlated">
-        <output-dir compare="Text">in</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="in_let">
-        <output-dir compare="Text">in_let</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="not_exists">
-        <output-dir compare="Text">not_exists</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="not_in">
-        <output-dir compare="Text">not_in</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="alias_negative">
-        <output-dir compare="Text">alias_negative</output-dir>
-        <expected-error>Need an alias for the enclosed expression</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="relational_division">
-        <output-dir compare="Text">relational_division</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="relational_division2">
-        <output-dir compare="Text">relational_division</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="relational_division3">
-        <output-dir compare="Text">relational_division</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="non_unary_subplan_01">
-        <output-dir compare="Text">non_unary_subplan_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-1571">
-        <output-dir compare="Text">query-ASTERIXDB-1571</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-1571-2">
-        <output-dir compare="Text">query-ASTERIXDB-1571</output-dir>
-        <expected-error>Need an alias for the enclosed expression</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-1571-3">
-        <output-dir compare="Text">query-ASTERIXDB-1571-3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-1571-4">
-        <output-dir compare="Text">query-ASTERIXDB-1571-4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-1572">
-        <output-dir compare="Text">query-ASTERIXDB-1572</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-1574">
-        <output-dir compare="Text">query-ASTERIXDB-1574</output-dir>
-        <expected-error>ASX1091: Type mismatch: expected value of type multiset or array, but got the value of type object (in line 25, at column 41)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-1574-2">
-        <output-dir compare="Text">query-ASTERIXDB-1574</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-1574-3">
-        <output-dir compare="Text">query-ASTERIXDB-1574</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-1597">
-        <output-dir compare="Text">query-ASTERIXDB-1597</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-1674">
-        <output-dir compare="Text">query-ASTERIXDB-1674</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-2815">
-        <output-dir compare="Text">query-ASTERIXDB-2815</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-2845">
-        <output-dir compare="Text">query-ASTERIXDB-2845</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subquery">
-      <compilation-unit name="query-ASTERIXDB-3006">
-        <output-dir compare="Text">query-ASTERIXDB-3006</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="Text">01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subset-collection">
-      <compilation-unit name="02">
-        <output-dir compare="Text">02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subset-collection">
-      <compilation-unit name="03">
-        <output-dir compare="Text">03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subset-collection">
-      <compilation-unit name="05">
-        <output-dir compare="Text">05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subset-collection">
-      <compilation-unit name="06">
-        <output-dir compare="Text">06</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="subset-collection">
-      <compilation-unit name="07">
-        <output-dir compare="Text">07</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="synonym">
-    <test-case FilePath="synonym">
-      <compilation-unit name="synonym-01">
-        <output-dir compare="Text">synonym-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="synonym">
-      <compilation-unit name="synonym-02-negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1063: Cannot find dataverse with name UNKNOWN_DATAVERSE</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="synonym">
-      <compilation-unit name="synonym-03">
-        <output-dir compare="Text">synonym-03</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="Text">counthashed-gram-tokens_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tokenizers">
-      <compilation-unit name="counthashed-gram-tokens_02">
-        <output-dir compare="Text">counthashed-gram-tokens_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tokenizers">
-      <compilation-unit name="counthashed-word-tokens_01">
-        <output-dir compare="Text">counthashed-word-tokens_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tokenizers">
-      <compilation-unit name="gram-tokens_01">
-        <output-dir compare="Text">gram-tokens_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tokenizers">
-      <compilation-unit name="gram-tokens_02">
-        <output-dir compare="Text">gram-tokens_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tokenizers">
-      <compilation-unit name="hashed-gram-tokens_01">
-        <output-dir compare="Text">hashed-gram-tokens_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tokenizers">
-      <compilation-unit name="hashed-gram-tokens_02">
-        <output-dir compare="Text">hashed-gram-tokens_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tokenizers">
-      <compilation-unit name="hashed-word-tokens_01">
-        <output-dir compare="Text">hashed-word-tokens_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tokenizers">
-      <compilation-unit name="word-tokens_01">
-        <output-dir compare="Text">word-tokens_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tokenizers">
-      <compilation-unit name="word-tokens_02">
-        <output-dir compare="Text">word-tokens_02</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="tpcds">
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1580">
-        <output-dir compare="Text">query-ASTERIXDB-1580</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1581">
-        <output-dir compare="Text">query-ASTERIXDB-1581</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1581-2">
-        <output-dir compare="Text">query-ASTERIXDB-1581-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1581-3">
-        <output-dir compare="Text">query-ASTERIXDB-1581-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1581-4">
-        <output-dir compare="Text">query-ASTERIXDB-1581-4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1581-5">
-        <output-dir compare="Text">query-ASTERIXDB-1581-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1581-6">
-        <output-dir compare="Text">query-ASTERIXDB-1581-6</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1581-correlated">
-        <output-dir compare="Text">query-ASTERIXDB-1581-correlated</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1581-correlated-2">
-        <output-dir compare="Text">query-ASTERIXDB-1581-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1591">
-        <output-dir compare="Text">query-ASTERIXDB-1591</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1596">
-        <output-dir compare="Text">query-ASTERIXDB-1596</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="query-ASTERIXDB-1602">
-        <output-dir compare="Text">query-ASTERIXDB-1602</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q01">
-        <output-dir compare="Text">q01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q03">
-        <output-dir compare="Text">q03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q05">
-        <output-dir compare="Text">q05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q07">
-        <output-dir compare="Text">q07</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q09">
-        <output-dir compare="Text">q09</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q12">
-        <output-dir compare="Text">q12</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q15">
-        <output-dir compare="Text">q15</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q18">
-        <output-dir compare="Text">q18</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q19">
-        <output-dir compare="Text">q19</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q20">
-        <output-dir compare="Text">q20</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q21">
-        <output-dir compare="Text">q21</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q22">
-        <output-dir compare="Text">q22</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q24a">
-        <output-dir compare="Text">q24a</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q24b">
-        <output-dir compare="Text">q24b</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q25">
-        <output-dir compare="Text">q25</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q26">
-        <output-dir compare="Text">q26</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q27">
-        <output-dir compare="Text">q27</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q29">
-        <output-dir compare="Text">q29</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q30">
-        <output-dir compare="Text">q30</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q31">
-        <output-dir compare="Text">q31</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q34">
-        <output-dir compare="Text">q34</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q36">
-        <output-dir compare="Text">q36</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q37">
-        <output-dir compare="Text">q37</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q41">
-        <output-dir compare="Text">q41</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q42">
-        <output-dir compare="Text">q42</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q43">
-        <output-dir compare="Text">q43</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q45">
-        <output-dir compare="Text">q45</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q46">
-        <output-dir compare="Text">q46</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q49">
-        <output-dir compare="Text">q49</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q50">
-        <output-dir compare="Text">q50</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q52">
-        <output-dir compare="Text">q52</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q55">
-        <output-dir compare="Text">q55</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q57">
-        <output-dir compare="Text">q57</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q59">
-        <output-dir compare="Text">q59</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q62">
-        <output-dir compare="Text">q62</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q63">
-        <output-dir compare="Text">q63</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q67">
-        <output-dir compare="Text">q67</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q68">
-        <output-dir compare="Text">q68</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q70">
-        <output-dir compare="Text">q70</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q73">
-        <output-dir compare="Text">q73</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q77">
-        <output-dir compare="Text">q77</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q79">
-        <output-dir compare="Text">q79</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q80">
-        <output-dir compare="Text">q80</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q81">
-        <output-dir compare="Text">q81</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q82">
-        <output-dir compare="Text">q82</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q85">
-        <output-dir compare="Text">q85</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q86">
-        <output-dir compare="Text">q86</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q88">
-        <output-dir compare="Text">q88</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q89">
-        <output-dir compare="Text">q89</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q90">
-        <output-dir compare="Text">q90</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q91">
-        <output-dir compare="Text">q91</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q92">
-        <output-dir compare="Text">q92</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q94">
-        <output-dir compare="Text">q94</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q95">
-        <output-dir compare="Text">q95</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q96">
-        <output-dir compare="Text">q96</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpcds">
-      <compilation-unit name="q98">
-        <output-dir compare="Text">q98</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="tpch">
-    <test-case FilePath="tpch">
-      <compilation-unit name="distinct_by">
-        <output-dir compare="Text">distinct_by</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="group_no_agg">
-        <output-dir compare="Text">group_no_agg</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="nest_aggregate">
-        <output-dir compare="Text">nest_aggregate</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="nest_aggregate2">
-        <output-dir compare="Text">nest_aggregate2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="query-issue638">
-        <output-dir compare="Text">query-issue638</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="query-issue785">
-        <output-dir compare="Text">query-issue785</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="query-issue785-2">
-        <output-dir compare="Text">query-issue785-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="query-issue786">
-        <output-dir compare="Text">query-issue786</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="query-issue601">
-        <output-dir compare="Text">query-issue601</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q10_returned_item">
-        <output-dir compare="Text">q10_returned_item</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q10_returned_item_int64">
-        <output-dir compare="Text">q10_returned_item_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q11_important_stock">
-        <output-dir compare="Text">q11_important_stock</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q12_shipping">
-        <output-dir compare="Text">q12_shipping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q13_customer_distribution">
-        <output-dir compare="Text">q13_customer_distribution</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q14_promotion_effect">
-        <output-dir compare="Text">q14_promotion_effect</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q15_top_supplier">
-        <output-dir compare="Text">q15_top_supplier</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q16_parts_supplier_relationship">
-        <output-dir compare="Text">q16_parts_supplier_relationship</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q17_small_quantity_order_revenue">
-        <output-dir compare="Text">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="Text">q17_large_gby_variant</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q18_large_volume_customer">
-        <output-dir compare="Text">q18_large_volume_customer</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q19_discounted_revenue">
-        <output-dir compare="Text">q19_discounted_revenue</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q01_pricing_summary_report_nt">
-        <output-dir compare="Text">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="Text">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="Text">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="Text">q22_global_sales_opportunity</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q02_minimum_cost_supplier">
-        <output-dir compare="Text">q02_minimum_cost_supplier</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q03_shipping_priority_nt">
-        <output-dir compare="Text">q03_shipping_priority_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q04_order_priority">
-        <output-dir compare="Text">q04_order_priority</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q05_local_supplier_volume">
-        <output-dir compare="Text">q05_local_supplier_volume</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q06_forecast_revenue_change">
-        <output-dir compare="Text">q06_forecast_revenue_change</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q07_volume_shipping">
-        <output-dir compare="Text">q07_volume_shipping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q08_national_market_share">
-        <output-dir compare="Text">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="Text">q09_product_type_profit_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="query-issue562">
-        <output-dir compare="Text">query-issue562</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="query-issue810">
-        <output-dir compare="Text">query-issue810</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="query-issue810-2">
-        <output-dir compare="Text">query-issue810-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="query-issue810-3">
-        <output-dir compare="Text">query-issue810-3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="query-issue827">
-        <output-dir compare="Text">query-issue827</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="query-issue827-2">
-        <output-dir compare="Text">query-issue827-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch">
-      <compilation-unit name="q01-ASTERIXDB-830">
-        <output-dir compare="Text">q01_pricing_summary_report_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="tpch-sql">
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="distinct_by">
-        <output-dir compare="Text">distinct_by</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="group_no_agg">
-        <output-dir compare="Text">group_no_agg</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="nest_aggregate">
-        <output-dir compare="Text">nest_aggregate</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="nest_aggregate2">
-        <output-dir compare="Text">nest_aggregate2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="query-issue638">
-        <output-dir compare="Text">query-issue638</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="query-issue785">
-        <output-dir compare="Text">query-issue785</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="query-issue785-2">
-        <output-dir compare="Text">query-issue785-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="query-issue786">
-        <output-dir compare="Text">query-issue786</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="query-issue601">
-        <output-dir compare="Text">query-issue601</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q10_returned_item">
-        <output-dir compare="Text">q10_returned_item</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q10_returned_item_int64">
-        <output-dir compare="Text">q10_returned_item_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q11_important_stock">
-        <output-dir compare="Text">q11_important_stock</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q12_shipping">
-        <output-dir compare="Text">q12_shipping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q13_customer_distribution">
-        <output-dir compare="Text">q13_customer_distribution</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q14_promotion_effect">
-        <output-dir compare="Text">q14_promotion_effect</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q15_top_supplier">
-        <output-dir compare="Text">q15_top_supplier</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q16_parts_supplier_relationship">
-        <output-dir compare="Text">q16_parts_supplier_relationship</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q17_small_quantity_order_revenue">
-        <output-dir compare="Text">q17_small_quantity_order_revenue</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q17_large_gby_variant">
-        <output-dir compare="Text">q17_large_gby_variant</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q18_large_volume_customer">
-        <output-dir compare="Text">q18_large_volume_customer</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q19_discounted_revenue">
-        <output-dir compare="Text">q19_discounted_revenue</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q01_pricing_summary_report_nt">
-        <output-dir compare="Text">q01_pricing_summary_report_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q20_potential_part_promotion">
-        <output-dir compare="Text">q20_potential_part_promotion</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q21_suppliers_who_kept_orders_waiting">
-        <output-dir compare="Text">q21_suppliers_who_kept_orders_waiting</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q22_global_sales_opportunity">
-        <output-dir compare="Text">q22_global_sales_opportunity</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q02_minimum_cost_supplier">
-        <output-dir compare="Text">q02_minimum_cost_supplier</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q03_shipping_priority_nt">
-        <output-dir compare="Text">q03_shipping_priority_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q04_order_priority">
-        <output-dir compare="Text">q04_order_priority</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q05_local_supplier_volume">
-        <output-dir compare="Text">q05_local_supplier_volume</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q06_forecast_revenue_change">
-        <output-dir compare="Text">q06_forecast_revenue_change</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q07_volume_shipping">
-        <output-dir compare="Text">q07_volume_shipping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q08_national_market_share">
-        <output-dir compare="Text">q08_national_market_share</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="q09_product_type_profit_nt">
-        <output-dir compare="Text">q09_product_type_profit_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="query-issue562">
-        <output-dir compare="Text">query-issue562</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="query-issue810">
-        <output-dir compare="Text">query-issue810</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="query-issue810-2">
-        <output-dir compare="Text">query-issue810-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql">
-      <compilation-unit name="query-issue810-3">
-        <output-dir compare="Text">query-issue810-3</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="tpch-sql-sugar">
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="distinct_by">
-        <output-dir compare="Text">distinct_by</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="group_no_agg">
-        <output-dir compare="Text">group_no_agg</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="nest_aggregate">
-        <output-dir compare="Text">nest_aggregate</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="nest_aggregate2">
-        <output-dir compare="Text">nest_aggregate2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="query-issue638">
-        <output-dir compare="Text">query-issue638</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="query-issue785">
-        <output-dir compare="Text">query-issue785</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="query-issue785-2">
-        <output-dir compare="Text">query-issue785-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="query-issue786">
-        <output-dir compare="Text">query-issue786</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="query-issue601">
-        <output-dir compare="Text">query-issue601</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q10_returned_item">
-        <output-dir compare="Text">q10_returned_item</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q10_returned_item_int64">
-        <output-dir compare="Text">q10_returned_item_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q11_important_stock">
-        <output-dir compare="Text">q11_important_stock</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q12_shipping">
-        <output-dir compare="Text">q12_shipping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q12_shipping_broadcast">
-        <output-dir compare="Text">q12_shipping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q13_customer_distribution">
-        <output-dir compare="Text">q13_customer_distribution</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q14_promotion_effect">
-        <output-dir compare="Text">q14_promotion_effect</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q15_top_supplier">
-        <output-dir compare="Text">q15_top_supplier</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q16_parts_supplier_relationship">
-        <output-dir compare="Text">q16_parts_supplier_relationship</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q17_small_quantity_order_revenue">
-        <output-dir compare="Text">q17_small_quantity_order_revenue</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q17_large_gby_variant">
-        <output-dir compare="Text">q17_large_gby_variant</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q17_large_gby_variant_parameter">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>Invalid query parameter compiler.groupmemory -- value has to be greater than or equal to</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q18_large_volume_customer">
-        <output-dir compare="Text">q18_large_volume_customer</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q19_discounted_revenue">
-        <output-dir compare="Text">q19_discounted_revenue</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q01_pricing_summary_report_nt">
-        <output-dir compare="Text">q01_pricing_summary_report_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q01_pricing_summary_report_2">
-        <output-dir compare="Text">q01_pricing_summary_report_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q01_pricing_summary_report_parallelism">
-        <output-dir compare="Text">q01_pricing_summary_report_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q01_pricing_summary_report_parameter">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>Invalid query parameter compiler.sortmemory -- value has to be greater than or equal to</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q20_potential_part_promotion">
-        <output-dir compare="Text">q20_potential_part_promotion</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q21_suppliers_who_kept_orders_waiting">
-        <output-dir compare="Text">q21_suppliers_who_kept_orders_waiting</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q22_global_sales_opportunity">
-        <output-dir compare="Text">q22_global_sales_opportunity</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q02_minimum_cost_supplier">
-        <output-dir compare="Text">q02_minimum_cost_supplier</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q03_shipping_priority_nt">
-        <output-dir compare="Text">q03_shipping_priority_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q04_order_priority">
-        <output-dir compare="Text">q04_order_priority</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q05_local_supplier_volume">
-        <output-dir compare="Text">q05_local_supplier_volume</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q06_forecast_revenue_change">
-        <output-dir compare="Text">q06_forecast_revenue_change</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q07_volume_shipping">
-        <output-dir compare="Text">q07_volume_shipping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q08_national_market_share">
-        <output-dir compare="Text">q08_national_market_share</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q09_product_type_profit_nt">
-        <output-dir compare="Text">q09_product_type_profit_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="q09_product_type_profit_parameter">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>Invalid query parameter compiler.joinmemory -- value has to be greater than or equal to</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="query-issue562">
-        <output-dir compare="Text">query-issue562</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="query-issue810">
-        <output-dir compare="Text">query-issue810</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="query-issue810-2">
-        <output-dir compare="Text">query-issue810-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-sugar">
-      <compilation-unit name="query-issue810-3">
-        <output-dir compare="Text">query-issue810-3</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="tpch-with-index">
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="distinct_by">
-        <output-dir compare="Text">distinct_by</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="nest_aggregate">
-        <output-dir compare="Text">nest_aggregate</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="nest_aggregate2">
-        <output-dir compare="Text">nest_aggregate2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="query-issue785">
-        <output-dir compare="Text">query-issue785</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="query-issue785-2">
-        <output-dir compare="Text">query-issue785-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="query-issue786">
-        <output-dir compare="Text">query-issue786</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="query-issue601">
-        <output-dir compare="Text">query-issue601</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q10_returned_item">
-        <output-dir compare="Text">q10_returned_item</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q10_returned_item_int64">
-        <output-dir compare="Text">q10_returned_item_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q11_important_stock">
-        <output-dir compare="Text">q11_important_stock</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q12_shipping">
-        <output-dir compare="Text">q12_shipping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q13_customer_distribution">
-        <output-dir compare="Text">q13_customer_distribution</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q14_promotion_effect">
-        <output-dir compare="Text">q14_promotion_effect</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q15_top_supplier">
-        <output-dir compare="Text">q15_top_supplier</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q16_parts_supplier_relationship">
-        <output-dir compare="Text">q16_parts_supplier_relationship</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q17_small_quantity_order_revenue">
-        <output-dir compare="Text">q17_small_quantity_order_revenue</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q17_large_gby_variant">
-        <output-dir compare="Text">q17_large_gby_variant</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q18_large_volume_customer">
-        <output-dir compare="Text">q18_large_volume_customer</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q19_discounted_revenue">
-        <output-dir compare="Text">q19_discounted_revenue</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q01_pricing_summary_report_nt">
-        <output-dir compare="Text">q01_pricing_summary_report_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q20_potential_part_promotion">
-        <output-dir compare="Text">q20_potential_part_promotion</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q21_suppliers_who_kept_orders_waiting">
-        <output-dir compare="Text">q21_suppliers_who_kept_orders_waiting</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q22_global_sales_opportunity">
-        <output-dir compare="Text">q22_global_sales_opportunity</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q02_minimum_cost_supplier">
-        <output-dir compare="Text">q02_minimum_cost_supplier</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q03_shipping_priority_nt">
-        <output-dir compare="Text">q03_shipping_priority_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q04_order_priority">
-        <output-dir compare="Text">q04_order_priority</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q04_order_priority_with_nodegroup">
-        <output-dir compare="Text">q04_order_priority</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q05_local_supplier_volume">
-        <output-dir compare="Text">q05_local_supplier_volume</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q06_forecast_revenue_change">
-        <output-dir compare="Text">q06_forecast_revenue_change</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q07_volume_shipping">
-        <output-dir compare="Text">q07_volume_shipping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q08_national_market_share">
-        <output-dir compare="Text">q08_national_market_share</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="q09_product_type_profit_nt">
-        <output-dir compare="Text">q09_product_type_profit_nt</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="query-issue562">
-        <output-dir compare="Text">query-issue562</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="query-issue810">
-        <output-dir compare="Text">query-issue810</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="query-issue810-2">
-        <output-dir compare="Text">query-issue810-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="query-issue810-3">
-        <output-dir compare="Text">query-issue810-3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="query-issue827">
-        <output-dir compare="Text">query-issue827</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-with-index">
-      <compilation-unit name="query-issue827-2">
-        <output-dir compare="Text">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="Text">query-issue638</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-like">
-      <compilation-unit name="query-issue785">
-        <output-dir compare="Text">query-issue785</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-like">
-      <compilation-unit name="query-issue785-2">
-        <output-dir compare="Text">query-issue785-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-like">
-      <compilation-unit name="query-issue786">
-        <output-dir compare="Text">query-issue786</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-like">
-      <compilation-unit name="query-issue601">
-        <output-dir compare="Text">query-issue601</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-like">
-      <compilation-unit name="q10_returned_item">
-        <output-dir compare="Text">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="Text">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="Text">q11_important_stock</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-like">
-      <compilation-unit name="q12_shipping">
-        <output-dir compare="Text">q12_shipping</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-like">
-      <compilation-unit name="q13_customer_distribution">
-        <output-dir compare="Text">q13_customer_distribution</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-like">
-      <compilation-unit name="q14_promotion_effect">
-        <output-dir compare="Text">q14_promotion_effect</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tpch-sql-like">
-      <compilation-unit name="q15_top_supplier">
-        <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">cross-dv01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv02">
-        <output-dir compare="Text">cross-dv02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv03">
-        <output-dir compare="Text">cross-dv03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv04">
-        <output-dir compare="Text">cross-dv04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv07">
-        <output-dir compare="Text">cross-dv07</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--NotImplementedException: No binary comparator factory implemented for type OBJECT.
-        <test-case FilePath="cross-dataverse">
-          <compilation-unit name="cross-dv08">
-            <output-dir compare="Text">cross-dv08</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv09">
-        <output-dir compare="Text">cross-dv09</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv11">
-        <output-dir compare="Text">cross-dv11</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv12">
-        <output-dir compare="Text">cross-dv12</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv14">
-        <output-dir compare="Text">cross-dv14</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv15">
-        <output-dir compare="Text">cross-dv15</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--NotImplementedException: No binary comparator factory implemented for type OBJECT.
-        <test-case FilePath="cross-dataverse">
-          <compilation-unit name="cross-dv17">
-            <output-dir compare="Text">cross-dv17</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <!--NotImplementedException: No binary comparator factory implemented for type OBJECT.
-        <test-case FilePath="cross-dataverse">
-          <compilation-unit name="cross-dv18">
-            <output-dir compare="Text">cross-dv18</output-dir>
-          </compilation-unit>
-        </test-case>
-        -->
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv19">
-        <output-dir compare="Text">cross-dv19</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv20">
-        <output-dir compare="Text">cross-dv20</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="insert_across_dataverses">
-        <output-dir compare="Text">insert_across_dataverses</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="join_across_dataverses">
-        <output-dir compare="Text">join_across_dataverses</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="drop-dataverse">
-        <output-dir compare="Text">drop-dataverse</output-dir>
-        <expected-error>ASX1147: Cannot drop dataverse: type a.a being used by dataset b.b1</expected-error>
-        <expected-error>ASX1147: Cannot drop dataverse: synonym a.s1 being used by function b.f1()</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="drop-type-used-elsewhere">
-        <output-dir compare="Text">drop-type-used-elsewhere</output-dir>
-        <expected-error>Cannot drop type a.a being used by dataset b.b1</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="drop-type-used-here-dataset">
-        <output-dir compare="Text">drop-type-used-here-dataset</output-dir>
-        <expected-error>Cannot drop type c.a being used by dataset c.a1</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="drop-type-used-here-type">
-        <output-dir compare="Text">drop-type-used-here-type</output-dir>
-        <expected-error>Cannot drop type c.a being used by type c.b</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="query-dataset-with-foreign-type">
-        <output-dir compare="Text">query-dataset-with-foreign-type</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="user-defined-functions">
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="bad-function-ddl-1">
-        <output-dir compare="Text">bad-function-ddl-1</output-dir>
-        <expected-error>Cannot find dataset TweetMessages in dataverse experiments nor an alias with name TweetMessages</expected-error>
-        <expected-error>Cannot find dataset TweetMessages2 in dataverse experiments2 nor an alias with name TweetMessages2</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="bad-function-ddl-2">
-        <output-dir compare="Text">bad-function-ddl-2</output-dir>
-        <expected-error>Cannot find dataset TweetMessages in dataverse experiments2 nor an alias with name TweetMessages</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="bad-function-ddl-3">
-        <output-dir compare="Text">bad-function-ddl-3</output-dir>
-        <expected-error>Cannot find dataset TweetMessages in dataverse experiments nor an alias with name TweetMessages</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="bad-function-ddl-4">
-        <output-dir compare="Text">bad-function-ddl-4</output-dir>
-        <expected-error>Cannot find dataset TweetMessages in dataverse experients nor an alias with name TweetMessages</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="bad-function-ddl-5">
-        <output-dir compare="Text">bad-function-ddl-5</output-dir>
-        <expected-error>ASX1081: Cannot find function with signature experiments.function_that_does_not_exist()</expected-error>
-        <expected-error>ASX1081: Cannot find function with signature experiments2.function_that_does_not_exist()</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="bad-function-ddl-6">
-        <output-dir compare="Text">bad-function-ddl-6</output-dir>
-        <expected-error>ASX1081: Cannot find function with signature experiments.function_that_does_not_exist(2)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="bad-function-ddl-7">
-        <output-dir compare="Text">bad-function-ddl-7</output-dir>
-        <expected-error>Cannot find dataset TweetMessaes in dataverse experiments nor an alias with name TweetMessaes</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="bad-function-ddl-8">
-        <output-dir compare="Text">bad-function-ddl-8</output-dir>
-        <expected-error>Cannot find dataset TweetMessaes in dataverse experiments nor an alias with name TweetMessaes</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="bad-function-ddl-9">
-        <output-dir compare="Text">bad-function-ddl-9</output-dir>
-        <expected-error>ASX1081: Cannot find function with signature experiments.function_that_does_not_exist()</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="bad-function-ddl-10">
-        <output-dir compare="Text">bad-function-ddl-10</output-dir>
-        <expected-error>ASX1081: Cannot find function with signature experiments.f0(2)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="bad-function-ddl-11">
-        <output-dir compare="Text">bad-function-ddl-11</output-dir>
-        <expected-error>ASX1001: Syntax error: Unexpected type declaration for parameter a in function myfn001</expected-error>
-        <expected-error>ASX1001: Syntax error: Unexpected return type declaration for function myfn002</expected-error>
-        <expected-error>ASX1001: Syntax error: Unexpected return type declaration for function myfn003</expected-error>
-        <expected-error>ASX1001: Syntax error: Unexpected IF NOT EXISTS (in line 29, at column 45)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="check-dependencies-1">
-        <output-dir compare="Text">check-dependencies-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="create-or-replace-function-1">
-        <output-dir compare="Text">create-or-replace-function-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="drop-dependency-1">
-        <output-dir compare="Text">drop-dependency-1</output-dir>
-        <expected-error>ASX1147: Cannot drop dataverse: function C.f1(2) being used by function B.f0(2)</expected-error>
-        <expected-error>ASX1147: Cannot drop dataverse: function C.f2(...) being used by function B.f3(2)</expected-error>
-        <expected-error>ASX1147: Cannot drop dataverse: function C.f4(2) being used by function B.f5(...)</expected-error>
-        <expected-error>ASX1147: Cannot drop dataverse: function C.f6(...) being used by function B.f7(...)</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="drop-dependency-2">
-        <output-dir compare="Text">drop-dependency-2</output-dir>
-        <expected-error>ASX1147: Cannot drop dataverse: dataset (or view) C.TweetMessages being used by function B.f2(2)</expected-error>
-        <expected-error>ASX1147: Cannot drop dataverse: dataset (or view) C.TweetMessages being used by function B.f3(...)</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="drop-dependency-3">
-        <output-dir compare="Text">drop-dependency-3</output-dir>
-        <expected-error>Cannot drop function C.f1(2) being used by function B.f0(2)</expected-error>
-        <expected-error>Cannot drop function C.f3(...) being used by function B.f2(2)</expected-error>
-        <expected-error>Cannot drop function C.f5(2) being used by function B.f4(...)</expected-error>
-        <expected-error>Cannot drop function C.f7(...) being used by function B.f6(...)</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="drop-dependency-4">
-        <output-dir compare="Text">drop-dependency-4</output-dir>
-        <expected-error>ASX1148: Cannot drop dataset C.TweetMessages being used by function B.f2(2)</expected-error>
-        <expected-error>ASX1148: Cannot drop dataset C.TweetMessages being used by function B.f2(...)</expected-error>
-        <expected-error>ASX1148: Cannot drop synonym C.TweetMessagesSyn being used by function B.f2(2)</expected-error>
-        <expected-error>ASX1148: Cannot drop synonym C.TweetMessagesSyn being used by function B.f2(...)</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="drop-dependency-5">
-        <output-dir compare="Text">drop-dependency-5</output-dir>
-        <expected-error>Cannot drop function C.f1(2) being used by function C.f0(2)</expected-error>
-        <expected-error>Cannot drop function C.f1(2) being used by function C.f0(...)</expected-error>
-        <expected-error>Cannot drop function C.f1(...) being used by function C.f0(2)</expected-error>
-        <expected-error>Cannot drop function C.f1(...) being used by function C.f0(...)</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="drop-dependency-6">
-        <output-dir compare="Text">drop-dependency-6</output-dir>
-        <expected-error>ASX1148: Cannot drop dataset C.TweetMessages being used by function C.f2(2)</expected-error>
-        <expected-error>ASX1148: Cannot drop dataset C.TweetMessages being used by function C.f2(...)</expected-error>
-        <expected-error>ASX1148: Cannot drop synonym C.TweetMessagesSyn being used by function C.f2(2)</expected-error>
-        <expected-error>ASX1148: Cannot drop synonym C.TweetMessagesSyn being used by function C.f2(...)</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="drop-function-1">
-        <output-dir compare="Text">drop-function-1</output-dir>
-        <expected-error>ASX1081: Cannot find function with signature experiments.my_sum(2)</expected-error>
-        <expected-error>ASX1081: Cannot find function with signature experiments.my_sum_va(2)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="single-line-definition">
-        <output-dir compare="Text">single-line-definition</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="query-ASTERIXDB-1298">
-        <output-dir compare="Text">query-ASTERIXDB-1298</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="query-ASTERIXDB-1652">
-        <output-dir compare="Text">query-ASTERIXDB-1652-2</output-dir>
-        <expected-error>ASX1063: Cannot find dataverse with name test</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="query-ASTERIXDB-1652-2">
-        <output-dir compare="Text">query-ASTERIXDB-1652-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="query-issue218-2">
-        <output-dir compare="Text">query-issue218-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="query-issue218">
-        <output-dir compare="Text">query-issue218</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="query-issue201">
-        <output-dir compare="Text">query-issue201</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="query-issue172">
-        <output-dir compare="Text">query-issue172</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="query-issue455">
-        <output-dir compare="Text">query-issue455</output-dir>
-        <expected-error>ASX1081: Cannot find function with signature test.printName()</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="query-issue489">
-        <output-dir compare="Text">query-issue489</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf01">
-        <output-dir compare="Text">udf01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf02">
-        <output-dir compare="Text">udf02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf03">
-        <output-dir compare="Text">udf03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf04">
-        <output-dir compare="Text">udf04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf05">
-        <output-dir compare="Text">udf05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf06">
-        <output-dir compare="Text">udf06</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf07">
-        <output-dir compare="Text">udf07</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf08">
-        <output-dir compare="Text">udf08</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf09">
-        <output-dir compare="Text">udf09</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf10">
-        <output-dir compare="Text">udf10</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf11">
-        <output-dir compare="Text">udf11</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf12">
-        <output-dir compare="Text">udf12</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf13">
-        <output-dir compare="Text">udf13</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf14">
-        <output-dir compare="Text">udf14</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf15">
-        <output-dir compare="Text">udf15</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf16">
-        <output-dir compare="Text">udf16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf17">
-        <output-dir compare="Text">udf17</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf18">
-        <output-dir compare="Text">udf18</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf19">
-        <output-dir compare="Text">udf19</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf20">
-        <output-dir compare="Text">udf20</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf21">
-        <output-dir compare="Text">udf21</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf22">
-        <output-dir compare="Text">udf22</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf23">
-        <output-dir compare="Text">udf23</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf24">
-        <output-dir compare="Text">udf24</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf25">
-        <output-dir compare="Text">udf25</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf27">
-        <output-dir compare="Text">udf27</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf28">
-        <output-dir compare="Text">udf28</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf29">
-        <output-dir compare="Text">udf29</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!-- Need to verify the expected exception -->
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf30">
-        <output-dir compare="Text">udf30</output-dir>
-        <expected-error>ASX1073: Cannot resolve alias reference for undefined identifier y (in line 30, at column 8)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf31">
-        <output-dir compare="Text">udf31</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf32_metadata">
-        <output-dir compare="Text">udf32_metadata</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf33_overloading">
-        <output-dir compare="Text">udf33_overloading</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf34">
-        <output-dir compare="Text">udf34</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf35_varargs_misc">
-        <output-dir compare="Text">udf35_varargs_misc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf36_in_with">
-        <output-dir compare="Text">udf36_in_with</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf37_recursion">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1149: Illegal function or view recursion (in line 24, at column 1)</expected-error>
-        <expected-error>ASX1149: Illegal function or view recursion (in line 25, at column 1)</expected-error>
-        <expected-error>ASX1149: Illegal function or view recursion (in line 26, at column 1)</expected-error>
-        <expected-error>ASX1149: Illegal function or view recursion (in line 27, at column 1)</expected-error>
-        <expected-error>ASX1149: Illegal function or view recursion (in line 28, at column 1)</expected-error>
-        <expected-error>ASX1149: Illegal function or view recursion (in line 29, at column 1)</expected-error>
-        <expected-error>ASX1149: Illegal function or view recursion (in line 30, at column 1)</expected-error>
-        <expected-error>ASX1149: Illegal function or view recursion (in line 31, at column 1)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf38_no_recursion">
-        <output-dir compare="Text">udf38_no_recursion</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf39_illegal_call">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1150: Illegal use of function test.f1a(1) (in line 32, at column 26)</expected-error>
-        <expected-error>ASX1150: Illegal use of function test.f2a(...) (in line 29, at column 28)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="f01">
-        <output-dir compare="Text">f01</output-dir>
-        <expected-error>ASX1081: Cannot find function with signature test.tinyint()</expected-error>
-      </compilation-unit>
-    </test-case>
-    <!-- This test case is not valid anymore since we do not required "IMPORT_PRIVATE_FUNCTIONS" flag anymore -->
-    <!-- <test-case FilePath="user-defined-functions">
-            <compilation-unit name="invoke-private-function">
-                <output-dir compare="Text">invoke-private-function</output-dir>
-            </compilation-unit>
-        </test-case>-->
-    <!--
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="query-ASTERIXDB-1308-1">
-        <output-dir compare="Text">query-ASTERIXDB-1308-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    -->
-    <!-- <test-case FilePath="user-defined-functions">
-          <compilation-unit name="query-ASTERIXDB-1308-2">
-              <output-dir compare="Text">query-ASTERIXDB-1308-2</output-dir>
-          </compilation-unit>
-      </test-case>  -->
-    <!-- This test case is not valid anymore since we do not required "IMPORT_PRIVATE_FUNCTIONS" flag anymore -->
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="query-ASTERIXDB-1317">
-        <output-dir compare="Text">query-ASTERIXDB-1317</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="view">
-    <test-case FilePath="view">
-      <compilation-unit name="create-view-1">
-        <output-dir compare="Text">create-view-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view">
-      <compilation-unit name="create-view-2-negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1063: Cannot find dataverse with name test (in line 24, at column 1)</expected-error>
-        <expected-error><![CDATA[ASX1001: Syntax error: In line 25 >>create view test.v1 as select * from range(1,2) r order by;<< Encountered ";" at column 59]]></expected-error>
-        <expected-error>ASX1081: Cannot find function with signature test.undefined_range(2) (in line 25, at column 38)</expected-error>
-        <expected-error>ASX1160: A view with this name test.v1 already exists (in line 26, at column 1)</expected-error>
-        <expected-error>ASX1072: A dataset with name ds1 already exists in dataverse test (in line 30, at column 1)</expected-error>
-        <expected-error>ASX1072: A dataset with name ds2 already exists in dataverse test (in line 30, at column 1)</expected-error>
-        <expected-error>ASX1160: A view with this name test.ds1 already exists (in line 27, at column 1)</expected-error>
-        <expected-error><![CDATA[ASX1001: Syntax error: Unexpected IF NOT EXISTS (in line 25, at column 1)]]></expected-error>
-        <expected-error>ASX1149: Illegal function or view recursion (in line 31, at column 1)</expected-error>
-        <expected-error>ASX1149: Illegal function or view recursion (in line 32, at column 1)</expected-error>
-        <expected-error>ASX1149: Illegal function or view recursion (in line 33, at column 1)</expected-error>
-        <expected-error><![CDATA[ASX1001: Syntax error: In line 25 >>create view test.v1 primary key (r) not enforced as<< Encountered "primary" at column 21]]></expected-error>
-        <expected-error><![CDATA[ASX1001: Syntax error: In line 28 >>create view test.v2 foreign key (r) references v1 not enforced as<< Encountered <IDENTIFIER> "foreign" at column 21]]></expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view">
-      <compilation-unit name="create-view-3-typed">
-        <output-dir compare="Text">create-view-3-typed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view" check-warnings="true">
-      <compilation-unit name="create-view-4-typed-warn">
-        <output-dir compare="Text">create-view-4-typed-warn</output-dir>
-        <expected-warn>ASX0006: Invalid format for tinyint in a (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for smallint in b (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for integer in c (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for bigint in d (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for float in e (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for double in f (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for datetime in g (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for date in h (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for time in j (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for duration in k (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for yearmonthduration in m (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for daytimeduration in n (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: boolean-default-null() cannot process input type duration (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int8-default-null() cannot process input type duration (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int16-default-null() cannot process input type duration (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int32-default-null() cannot process input type duration (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: int64-default-null() cannot process input type duration (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: float-default-null() cannot process input type duration (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: double-default-null() cannot process input type duration (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: datetime-default-null() cannot process input type duration (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: date-default-null() cannot process input type duration (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: time-default-null() cannot process input type duration (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: duration-default-null() cannot process input type date (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: year-month-duration-default-null() cannot process input type date (in line 30, at column 6)</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: day-time-duration-default-null() cannot process input type date (in line 30, at column 6)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view" check-warnings="true">
-      <compilation-unit name="create-view-5-typed-warn">
-        <output-dir compare="Text">create-view-5-typed-warn</output-dir>
-        <expected-warn>ASX0006: Invalid format for datetime in a (in line 27, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for date in b (in line 27, at column 6)</expected-warn>
-        <expected-warn>ASX0006: Invalid format for time in c (in line 27, at column 6)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view">
-      <compilation-unit name="create-view-6-typed-negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1082: Cannot find datatype with name unknown_dv.t1</expected-error>
-        <expected-error>ASX1082: Cannot find datatype with name test.t1_unknown</expected-error>
-        <expected-error>ASX1079: Compilation error: view type cannot have open fields (in line 29, at column 1)</expected-error>
-        <expected-error>ASX1004: Unsupported type: view cannot process input type t1_a (in line 30, at column 1)</expected-error>
-        <expected-error><![CDATA[ASX1001: Syntax error: In line 25 >>create view test.v1(r bigint, a [bigint]) default null as<< Encountered "[" at column 33]]></expected-error>
-        <expected-error>ASX1092: Parameter date_illegal_property_name cannot be set (in line 25, at column 1)</expected-error>
-        <expected-error><![CDATA[ASX1001: Syntax error: In line 25 >>create view test.v1(r bigint) as<< Encountered "as" at column 31]]></expected-error>
-        <expected-error><![CDATA[ASX1014: Field 'unknown_field' is not found (in line 25, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1014: Field 'unknown_field_2' is not found (in line 25, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1001: Syntax error: In line 28 >>  as select r from range(1,2) r;<< Encountered "as" at column 3]]></expected-error>
-        <expected-error><![CDATA[ASX0013: Duplicate field name 'r' (in line 25, at column 20)]]></expected-error>
-        <expected-error><![CDATA[ASX1167: Cannot change primary key of view test1.employee_v1 (in line 38, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1162: Invalid primary key definition (in line 25, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1162: Invalid primary key definition (in line 26, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1001: Syntax error: In line 36 >>  as employee;<< Encountered "as" at column 3]]></expected-error>
-        <expected-error><![CDATA[ASX1165: Invalid foreign key definition: view test1.employee_v1 does not have a primary key (in line 32, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1166: Invalid foreign key definition: foreign key does not match primary key of view test1.employee_v1 (in line 34, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1166: Invalid foreign key definition: foreign key does not match primary key of view test1.employee_v2 (in line 34, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1164: Invalid foreign key definition (in line 34, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1063: Cannot find dataverse with name test3 (in line 42, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1159: Cannot find view with name test1.employee_v3 (in line 42, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1159: Cannot find view with name test1.employee (in line 43, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1164: Invalid foreign key definition (in line 43, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1164: Invalid foreign key definition (in line 39, at column 1)]]></expected-error>
-        <expected-error><![CDATA[ASX1166: Invalid foreign key definition: foreign key does not match primary key of view test1.employee_v1 (in line 39, at column 1)]]></expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view">
-      <compilation-unit name="create-view-7-foreign-key">
-        <output-dir compare="Text">create-view-7-foreign-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view">
-      <compilation-unit name="drop-dataverse-1">
-        <output-dir compare="Text">drop-dataverse-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view">
-      <compilation-unit name="drop-dataverse-2-negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1147: Cannot drop dataverse: dataset (or view) test2.v2 being used by view test1.v1</expected-error>
-        <expected-error>ASX1147: Cannot drop dataverse: dataset (or view) test2.v2 being used by function test1.f1()</expected-error>
-        <expected-error>ASX1147: Cannot drop dataverse: dataset (or view) test2.ds2 being used by view test1.v1</expected-error>
-        <expected-error>ASX1147: Cannot drop dataverse: function test2.f2() being used by view test1.v1</expected-error>
-        <expected-error>ASX1147: Cannot drop dataverse: synonym test2.s3 being used by view test1.v1</expected-error>
-        <expected-error>ASX1147: Cannot drop dataverse: type test2.t1 being used by dataset test1.v1</expected-error>
-        <expected-error>ASX1147: Cannot drop dataverse: dataset (or view) test2.employee_v2 being used by view test1.employee_v1</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view">
-      <compilation-unit name="drop-view-1">
-        <output-dir compare="Text">drop-view-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view">
-      <compilation-unit name="drop-view-2-negative">
-        <output-dir compare="Text">drop-view-2-negative</output-dir>
-        <expected-error>ASX1063: Cannot find dataverse with name test (in line 24, at column 1)</expected-error>
-        <expected-error>ASX1159: Cannot find view with name test.v1 (in line 25, at column 1)</expected-error>
-        <expected-error>ASX1050: Cannot find dataset with name v1 in dataverse test (in line 27, at column 1)</expected-error>
-        <expected-error>ASX1159: Cannot find view with name test.ds1 (in line 30, at column 1)</expected-error>
-        <expected-error>ASX1148: Cannot drop dataset test2.ds2 being used by view test1.v1</expected-error>
-        <expected-error>ASX1148: Cannot drop function test2.f2() being used by view test1.v1</expected-error>
-        <expected-error>ASX1148: Cannot drop synonym test2.s2 being used by view test1.v1</expected-error>
-        <expected-error>ASX1148: Cannot drop view test2.v2 being used by view test1.v1</expected-error>
-        <expected-error>ASX1148: Cannot drop view test2.v2 being used by function test1.f1()</expected-error>
-        <expected-error>ASX1148: Cannot drop type test2.t1 being used by dataset test1.v1</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view">
-      <compilation-unit name="view-1">
-        <output-dir compare="Text">view-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view">
-      <compilation-unit name="view-2-negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1050: Cannot find dataset with name v1 in dataverse test1 (in line 24, at column 17)</expected-error>
-        <expected-error>ASX1050: Cannot find dataset with name v2 in dataverse test1 (in line 24, at column 17)</expected-error>
-        <expected-error>ASX1050: Cannot find dataset with name v3 in dataverse test1 (in line 24, at column 1)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="view">
-      <compilation-unit name="view-pushdown">
-        <output-dir compare="Text">view-pushdown</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="load">
-    <test-case FilePath="load">
-      <compilation-unit name="load_non-empty_index">
-        <output-dir compare="Text">load_non-empty_index</output-dir>
-        <expected-error>HYR0034: Cannot load an index that is not empty</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_01">
-        <output-dir compare="Text">csv_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_02">
-        <output-dir compare="Text">csv_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_03">
-        <output-dir compare="Text">csv_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_04">
-        <output-dir compare="Text">csv_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_05">
-        <output-dir compare="Text">csv_05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_06">
-        <output-dir compare="Text">csv_06</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_07">
-        <output-dir compare="Text">csv_07</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_08_header_cr">
-        <output-dir compare="Text">csv_08</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_08_header_lf">
-        <output-dir compare="Text">csv_08</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_08_header_crlf">
-        <output-dir compare="Text">csv_08</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="issue14_query">
-        <output-dir compare="Text">issue14_query</output-dir>
-        <expected-error>Unspecified parameter: format</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="issue315_query">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>Invalid path</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="issue289_query">
-        <output-dir compare="Text">issue289_query</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="issue650_query">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>Cannot find dataset with name Users in dataverse fuzzyjoin</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="type_promotion_0">
-        <output-dir compare="Text">type_promotion_0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="escapes01">
-        <output-dir compare="Text">escapes01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="escapes02">
-        <output-dir compare="Text">escapes02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="escapes-err-1"><!-- Exception is never thrown!!!. needs to be investigated -->
-        <output-dir compare="Text">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="Text">query-issue244</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="duplicate-key-error">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>Loading duplicate keys into the primary storage</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="issue610_adm_token_end_collection">
-        <output-dir compare="Text">issue610_adm_token_end_collection</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="adm_binary">
-        <output-dir compare="Text">adm_binary</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="dataset-with-meta">
-        <output-dir compare="Text">dataset-with-meta</output-dir>
-        <expected-error>ASX1184: Compilation error: DatasetWithMeta: load dataset is not supported on datasets with meta records (in line 27, at column 1)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="escapes-err-1">
-        <output-dir compare="Text">escapes-err-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="escapes01">
-        <output-dir compare="Text">escapes01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="escapes02">
-        <output-dir compare="Text">escapes02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="file-not-found">
-        <output-dir compare="Text">file-not-found</output-dir>
-        <expected-error>ASX3077: bla: path not found</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="type_promotion_0">
-        <output-dir compare="Text">type_promotion_0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="utf8">
-        <output-dir compare="Text">utf8</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="Text">issue_251_dataset_hint_5</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="hints">
-      <compilation-unit name="issue_251_dataset_hint_7">
-        <output-dir compare="Text">issue_251_dataset_hint_7</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="function">
-    <test-case FilePath="function">
-      <compilation-unit name="issue-2394">
-        <output-dir compare="Text">issue-2394</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="function">
-      <compilation-unit name="drop_if_exists">
-        <output-dir compare="Text">drop_if_exists</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="feeds">
-    <test-case FilePath="feeds">
-      <compilation-unit name="feeds_07">
-        <output-dir compare="Text">feeds_07</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feeds_08">
-        <output-dir compare="Text">feeds_08</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feeds_09">
-        <output-dir compare="Text">feeds_09</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="create-policy-from-file">
-        <output-dir compare="Text">create-policy-from-file</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feeds_01">
-        <output-dir compare="Text">feeds_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feeds_02">
-        <output-dir compare="Text">feeds_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feeds_03">
-        <output-dir compare="Text">feeds_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feeds_10">
-        <output-dir compare="Text">feeds_10</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feeds_11">
-        <output-dir compare="Text">feeds_11</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feeds_12">
-        <output-dir compare="Text">feeds_12</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feeds_13">
-        <output-dir compare="Text">feeds_13</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="issue_230_feeds">
-        <output-dir compare="Text">issue_230_feeds</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="insert-feed">
-        <output-dir compare="Text">insert-feed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="insert-feed-with-pk-index">
-        <output-dir compare="Text">insert-feed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="connect-feed-with-function">
-        <output-dir compare="Text">connect-feed-with-function</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-filter-on-meta-dataset">
-        <output-dir compare="Text">change-feed-filter-on-meta-dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-meta-pk-index">
-        <output-dir compare="Text">change-feed-with-meta-pk-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-meta-with-mixed-index">
-        <output-dir compare="Text">change-feed-with-meta-with-mixed-index</output-dir>
-        <expected-error>Compilation error: Cannot create index on meta fields (in line 61, at column 35)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-meta-pk-in-meta-index-with-missing-after-ingest">
-        <output-dir compare="Text">change-feed-with-meta-pk-in-meta-index-with-missing-after-ingest</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-meta-pk-in-meta-open-index-with-missing">
-        <output-dir compare="Text">change-feed-with-meta-pk-in-meta-open-index-with-missing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-meta-open-index-in-meta">
-        <output-dir compare="Text">change-feed-with-meta-open-index-in-meta</output-dir>
-        <expected-error>Compilation error: Cannot create index on meta fields (in line 60, at column 34)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-meta-pk-in-meta-open-index-in-value">
-        <output-dir compare="Text">change-feed-with-meta-pk-in-meta-open-index-in-value</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-meta-pk-in-meta-index-after-ingest">
-        <output-dir compare="Text">change-feed-with-meta-pk-in-meta-index-after-ingest</output-dir>
-        <expected-error>Compilation error: Cannot create index on meta fields (in line 27, at column 37)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-meta-pk-in-meta-index-in-meta">
-        <output-dir compare="Text">change-feed-with-meta-pk-in-meta-index-in-meta</output-dir>
-        <expected-error>Compilation error: Cannot create index on meta fields (in line 60, at column 37)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-meta-csv">
-        <output-dir compare="Text">change-feed-with-meta-csv</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-meta-pk-in-meta">
-        <output-dir compare="Text">change-feed-with-meta-pk-in-meta</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed">
-        <output-dir compare="Text">change-feed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="drop-nonexistent-feed">
-        <output-dir compare="Text">drop-nonexistent-feed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="twitter-feed">
-        <output-dir compare="Text">twitter-feed</output-dir>
-        <expected-error>Twitter4J library not found!</expected-error>
-        <expected-error>Unknown source feed: TwitterFeed</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="revised-tweet-parser">
-        <output-dir compare="Text">revised-tweet-parser</output-dir>
-        <expected-error>Twitter4J library not found!</expected-error>
-        <expected-error>Unknown source feed: TwitterFeed</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="connect-feed">
-        <output-dir compare="Text">connect-feed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-meta-pk-in-meta">
-        <output-dir compare="Text">change-feed-with-meta-pk-in-meta</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feed-with-filtered-dataset">
-        <output-dir compare="Text">feed-with-filtered-dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed">
-        <output-dir compare="Text">change-feed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="drop-dataverse-with-disconnected-feed">
-        <output-dir compare="Text">drop-dataverse-with-disconnected-feed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feed-push-socket">
-        <output-dir compare="Text">feed-push-socket</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="insert-feed">
-        <output-dir compare="Text">insert-feed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="start-feed">
-        <output-dir compare="Text">start-feed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="start-started-feed">
-        <output-dir compare="Text">start-started-feed</output-dir>
-        <expected-error>experiments.TweetFeed(Feed) is already started</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="stop-stopped-feed">
-        <output-dir compare="Text">stop-stopped-feed</output-dir>
-        <expected-error>new_experiments.TweetFeed(Feed) cannot be stopped because its state is STOPPED</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="push-socket-with-auuid">
-        <output-dir compare="Text">push-socket-with-auuid</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="disconnect-live-feed">
-        <output-dir compare="Text">disconnect-live-feed</output-dir>
-        <expected-error>This operation cannot be done when Feed</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="connect-live-feed">
-        <output-dir compare="Text">connect-live-feed</output-dir>
-        <expected-error>This operation cannot be done when Feed</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="record-reader-with-malformed-input-stream">
-        <output-dir compare="Text">record-reader-with-malformed-input-stream</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feed-with-undefined-function">
-        <output-dir compare="Text">feed-with-undefined-function</output-dir>
-        <expected-error>Cannot find function</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="drop-function-used-by-feed">
-        <output-dir compare="Text">drop-function-used-by-feed</output-dir>
-        <expected-error>ASX1148: Cannot drop function experiments.test_func0(1) being used by feed connection experiments.UserFeed</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="drop-function-no-longer-used-by-feed">
-        <output-dir compare="Text">drop-function-used-by-feed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="drop-dataverse-with-function-used-by-feed">
-        <output-dir compare="Text">drop-dataverse-with-function-used-by-feed</output-dir>
-        <expected-error>ASX1147: Cannot drop dataverse: function fundv.test_func0(1) being used by feed connection feeddv.UserFeed</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="http_feed">
-        <output-dir compare="Text">http_feed</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="http_feed_json">
-        <output-dir compare="Text">http_feed_json</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="change-feed-with-where-on-meta">
-        <output-dir compare="Text">change-feed-with-where-on-meta</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="meta">
-    <test-case FilePath="meta">
-      <compilation-unit name="meta_in_with_clause">
-        <output-dir compare="Text">meta_in_with_clause</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="meta">
-      <compilation-unit name="resolving_pk_with_meta">
-        <output-dir compare="Text">resolving_pk_with_meta</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="meta">
-      <compilation-unit name="meta_after_gby">
-        <output-dir compare="Text">meta_after_gby</output-dir>
-        <expected-error>Compilation error: Inappropriate use of function 'meta'. For example, after GROUP BY (in line 29, at column 21)</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="meta">
-      <compilation-unit name="query_dataset_with_meta-1">
-        <output-dir compare="Text">query_dataset_with_meta-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="meta">
-      <compilation-unit name="query_dataset_with_meta-2">
-        <output-dir compare="Text">query_dataset_with_meta-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="meta">
-      <compilation-unit name="query_dataset_with_meta_failure">
-        <output-dir compare="Text">query_dataset_with_meta_failure</output-dir>
-        <expected-error>ASX1079: Compilation error: Cannot resolve ambiguous meta function call. There are more than one dataset choice (in line 24, at column 7)</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="big-object">
-    <test-case FilePath="big-object">
-      <compilation-unit name="big_object_sort">
-        <output-dir compare="Text">big_object_sort</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="big-object">
-      <compilation-unit name="big_object_groupby">
-        <output-dir compare="Text">big_object_groupby</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="big-object">
-      <compilation-unit name="big_object_groupby-2">
-        <output-dir compare="Text">big_object_groupby-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="big-object">
-      <compilation-unit name="big_object_join">
-        <output-dir compare="Text">big_object_join</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="big-object">
-      <compilation-unit name="big_object_join_low_memory_err">
-        <output-dir compare="Text">big_object_join</output-dir>
-        <expected-error>HYR0123: Insufficient memory is provided for the join operators, please increase the join memory budget.</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="big-object">
-      <compilation-unit name="big_object_load_20M">
-        <output-dir compare="Text">big_object_load_20M</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="big-object">
-      <compilation-unit name="big_object_bulkload">
-        <output-dir compare="Text">big_object_bulkload</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="big-object">
-      <compilation-unit name="big_object_feed_20M">
-        <output-dir compare="Text">big_object_feed_20M</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="big-object">
-      <compilation-unit name="big_object_insert">
-        <output-dir compare="Text">big_object_insert</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="big-object">
-      <compilation-unit name="big_object_load_only_20M">
-        <output-dir compare="Text">big_object_load_only_20M</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="leftouterjoin">
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="loj-01-core">
-        <output-dir compare="Text">loj-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="loj-01-sugar">
-        <output-dir compare="Text">loj-01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="loj-02-push-select">
-        <output-dir compare="Text">loj-02-push-select</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="loj-03-no-listify">
-        <output-dir compare="Text">loj-03-no-listify</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="query_issue658">
-        <output-dir compare="Text">query_issue658</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="query_issue285">
-        <output-dir compare="Text">query_issue285</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="query_issue285-2">
-        <output-dir compare="Text">query_issue285-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="query_issue849">
-        <output-dir compare="Text">query_issue849</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="query_issue849-2">
-        <output-dir compare="Text">query_issue849-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="empty-dataset">
-        <output-dir compare="Text">empty-dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="query-ASTERIXDB-769">
-        <output-dir compare="Text">query-ASTERIXDB-769</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="query-ASTERIXDB-2857">
-        <output-dir compare="Text">query-ASTERIXDB-2857</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="right_branch_opt_1">
-        <output-dir compare="Text">right_branch_opt_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="index-only-leftouterjoin">
-        <output-dir compare="Text">index-only-leftouterjoin</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="Text">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="Text">probe-pidx-with-join-btree-sidx2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-leftouterjoin">
-      <compilation-unit name="probe-pidx-join-btree-sidx3-idxonly">
-        <output-dir compare="Text">probe-pidx-join-btree-sidx3-idxonly</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-leftouterjoin">
-      <compilation-unit name="probe-pidx-with-join-rtree-sidx1">
-        <output-dir compare="Text">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="Text">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="Text">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="Text">probe-pidx-with-join-invidx-sidx2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-leftouterjoin">
-      <compilation-unit name="probe-sidx-btree-idxonly-join-btree-pidx1">
-        <output-dir compare="Text">probe-sidx-btree-idxonly-join-btree-pidx1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-leftouterjoin">
-      <compilation-unit name="probe-sidx-btree-idxonly-join-btree-sidx1-idxonly">
-        <output-dir compare="Text">probe-sidx-btree-idxonly-join-btree-sidx1-idxonly</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-leftouterjoin">
-      <compilation-unit name="probe-sidx-btree-non-idxonly-join-btree-pidx1">
-        <output-dir compare="Text">probe-sidx-btree-non-idxonly-join-btree-pidx1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-leftouterjoin">
-      <compilation-unit name="probe-sidx-btree-non-idxonly-join-btree-sidx1-idxonly">
-        <output-dir compare="Text">probe-sidx-btree-non-idxonly-join-btree-sidx1-idxonly</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-leftouterjoin">
-      <compilation-unit name="probe-pidx-with-join-btree-pidx1">
-        <output-dir compare="Text">probe-pidx-with-join-btree-pidx1</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="distinct">
-    <test-case FilePath="distinct">
-      <compilation-unit name="array">
-        <output-dir compare="Text">array</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="distinct">
-      <compilation-unit name="record">
-        <output-dir compare="Text">record</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="distinct">
-      <compilation-unit name="query-issue443">
-        <output-dir compare="Text">query-issue443</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="distinct">
-      <compilation-unit name="query-issue443-2">
-        <output-dir compare="Text">query-issue443-2</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="rightouterjoin">
-    <test-case FilePath="rightouterjoin">
-      <compilation-unit name="roj-01-core">
-        <output-dir compare="Text">roj-01-core</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="rightouterjoin">
-      <compilation-unit name="roj-02-core">
-        <output-dir compare="Text">roj-02-core</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="rightouterjoin">
-      <compilation-unit name="roj-03-negative">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1130: Illegal use of RIGHT OUTER JOIN</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="tinysocial">
-    <test-case FilePath="tinysocial">
-      <compilation-unit name="tinysocial-suite">
-        <output-dir compare="Text">tinysocial-suite</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="tinysocial">
-      <compilation-unit name="tinysocial-suite-open">
-        <output-dir compare="Text">tinysocial-suite-open</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="types">
-    <test-case FilePath="types">
-      <compilation-unit name="any-object">
-        <output-dir compare="Text">any-object</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="gettype">
-        <output-dir compare="Text">gettype</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isarray">
-        <output-dir compare="Text">isarray</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isatomic">
-        <output-dir compare="Text">isatomic</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isboolean">
-        <output-dir compare="Text">isboolean</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isnumber">
-        <output-dir compare="Text">isnumber</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isobject">
-        <output-dir compare="Text">isobject</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isstring">
-        <output-dir compare="Text">isstring</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isbinary">
-        <output-dir compare="Text">isbinary</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="iscircle">
-        <output-dir compare="Text">iscircle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isdate">
-        <output-dir compare="Text">isdate</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isdatetime">
-        <output-dir compare="Text">isdatetime</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isduration">
-        <output-dir compare="Text">isduration</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isinterval">
-        <output-dir compare="Text">isinterval</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isline">
-        <output-dir compare="Text">isline</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="ismultiset">
-        <output-dir compare="Text">ismultiset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="ispoint">
-        <output-dir compare="Text">ispoint</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="ispolygon">
-        <output-dir compare="Text">ispolygon</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isrectangle">
-        <output-dir compare="Text">isrectangle</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isspatial">
-        <output-dir compare="Text">isspatial</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="istemporal">
-        <output-dir compare="Text">istemporal</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="istime">
-        <output-dir compare="Text">istime</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="isuuid">
-        <output-dir compare="Text">isuuid</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="is_all_types">
-        <output-dir compare="Text">is_all_types</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="record01">
-        <output-dir compare="Text">record01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="type_promotion_0">
-        <output-dir compare="Text">type_promotion_0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="type_promotion_1">
-        <output-dir compare="Text">type_promotion_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="opentype_orderby_01">
-        <output-dir compare="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">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="Text">promotion_opentype_field_vs_opentype_field_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="to_array">
-        <output-dir compare="Text">to_array</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="to_atomic">
-        <output-dir compare="Text">to_atomic</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="to_boolean_01">
-        <output-dir compare="Text">to_boolean_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types" check-warnings="true">
-      <compilation-unit name="to_boolean_02">
-        <output-dir compare="Text">to_boolean_02</output-dir>
-        <expected-warn>ASX0004: Unsupported type: to-boolean() cannot process input type date (in line 24, at column 8)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="to_bigint_01">
-        <output-dir compare="Text">to_bigint_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types" check-warnings="true">
-      <compilation-unit name="to_bigint_02">
-        <output-dir compare="Text">to_bigint_02</output-dir>
-        <expected-warn>ASX0004: Unsupported type: to-bigint() cannot process input type date (in line 24, at column 7)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="to_double_01">
-        <output-dir compare="Text">to_double_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types" check-warnings="true">
-      <compilation-unit name="to_double_02">
-        <output-dir compare="Text">to_double_02</output-dir>
-        <expected-warn>ASX0004: Unsupported type: to-double() cannot process input type date (in line 24, at column 7)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="to_number_01">
-        <output-dir compare="Text">to_number_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="to_number_02">
-        <output-dir compare="Text">to_number_02</output-dir>
-        <expected-error>ASX0002: Type mismatch</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="to_object">
-        <output-dir compare="Text">to_object</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="to_string_01">
-        <output-dir compare="Text">to_string_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="to_string_02">
-        <output-dir compare="Text">to_string_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="domain_boundaries">
-        <output-dir compare="Text">domain_boundaries</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="domain_boundaries_error">
-        <output-dir compare="Text">domain_boundaries_error</output-dir>
-        <expected-error>ASX0001: Field type null cannot be promoted to type tinyint</expected-error>
-        <expected-error>ASX0001: Field type null cannot be promoted to type smallint</expected-error>
-        <expected-error>ASX0001: Field type null cannot be promoted to type integer</expected-error>
-        <expected-error>ASX0001: Field type null cannot be promoted to type bigint</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="types">
-      <compilation-unit name="query-ASTERIXDB-2950">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>ASX1002: Type mismatch: function get-item expects its 1st input parameter to be of type multiset or array, but the actual input type is bigint (in line 24, at column 21)</expected-error>
-        <expected-error>ASX1002: Type mismatch: function get-item expects its 1st input parameter to be of type multiset or array, but the actual input type is bigint (in line 25, at column 31)</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="cleanjson">
-    <test-case FilePath="json">
-      <compilation-unit name="issue-ASTERIXDB-1165">
-        <output-dir compare="Clean-JSON">issue-ASTERIXDB-1165</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json">
-      <compilation-unit name="int01">
-        <output-dir compare="Clean-JSON">int01-cleanjson</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="materialization">
-    <test-case FilePath="materialization">
-      <compilation-unit name="assign-reuse">
-        <output-dir compare="Text">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="Text">equality-predicate</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="filter-auto-key">
-        <output-dir compare="Text">filter-auto-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="load">
-        <output-dir compare="Text">load</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="load-with-secondary-btree">
-        <output-dir compare="Text">load-with-secondary-btree</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="load-with-secondary-btree-index-only">
-        <output-dir compare="Text">load-with-secondary-btree-index-only</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="load-with-secondary-inverted-ngram">
-        <output-dir compare="Text">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="Text">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="Text">load-with-secondary-rtree</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="insert">
-        <output-dir compare="Text">insert</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="insert-with-secondary-btree">
-        <output-dir compare="Text">insert-with-secondary-btree</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="insert-with-correlated-secondary-btree">
-        <output-dir compare="Text">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="Text">insert-with-secondary-inverted-ngram</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="insert-with-correlated-secondary-inverted-ngram">
-        <output-dir compare="Text">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="Text">insert-with-secondary-inverted-word</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="insert-with-correlated-secondary-inverted-word">
-        <output-dir compare="Text">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="Text">insert-with-secondary-rtree</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="insert-with-correlated-secondary-rtree">
-        <output-dir compare="Text">insert-with-secondary-rtree</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="nested-filter-equality-predicate">
-        <output-dir compare="Text">nested-filter-equality-predicate</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="upsert">
-        <output-dir compare="Text">upsert</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="filters">
-      <compilation-unit name="delete">
-        <output-dir compare="Text">delete</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="json">
-    <test-case FilePath="json">
-      <compilation-unit name="int01">
-        <output-dir compare="Lossless-JSON">int01-losslessjson</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="csv">
-    <test-case FilePath="csv">
-      <compilation-unit name="basic-types">
-        <output-dir compare="CSV">basic-types</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="csv">
-      <compilation-unit name="basic-types">
-        <output-dir compare="CSV_Header">basic-types-header</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="csv-tsv-parser">
-    <test-case FilePath="csv-tsv-parser">
-      <compilation-unit name="csv-parser-001">
-        <output-dir compare="Text">csv-parser-001</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="csv-tsv-parser">
-      <compilation-unit name="tsv-parser-001">
-        <output-dir compare="Text">tsv-parser-001</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="binary">
-    <test-case FilePath="binary">
-      <compilation-unit name="parse">
-        <output-dir compare="Text">parse</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="binary">
-      <compilation-unit name="print">
-        <output-dir compare="Text">print</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="binary">
-      <compilation-unit name="concat">
-        <output-dir compare="Text">concat</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="binary">
-      <compilation-unit name="concat2">
-        <output-dir compare="Text">concat2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="binary">
-      <compilation-unit name="subbinary">
-        <output-dir compare="Text">subbinary</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="binary">
-      <compilation-unit name="find">
-        <output-dir compare="Text">find</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="binary">
-      <compilation-unit name="insert">
-        <output-dir compare="Text">insert</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="binary">
-      <compilation-unit name="equal_join">
-        <output-dir compare="Text">equal_join</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="binary">
-      <compilation-unit name="index_join">
-        <output-dir compare="Text">index_join</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="binary">
-      <compilation-unit name="length">
-        <output-dir compare="Text">length</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="unnest">
-    <test-case FilePath="unnest">
-      <compilation-unit name="ASTERIXDB-2750_unnest_join">
-        <output-dir compare="Text">ASTERIXDB-2750_unnest_join</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="unnest">
-      <compilation-unit name="ASTERIXDB-2844_unnest_syntax">
-        <output-dir compare="Text">ASTERIXDB-2844_unnest_syntax</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="unnest">
-      <compilation-unit name="left-outer-unnest">
-        <output-dir compare="Text">left-outer-unnest</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="unnest">
-      <compilation-unit name="left-outer-unnest-with-pos">
-        <output-dir compare="Text">left-outer-unnest-with-pos</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="union">
-    <test-case FilePath="union">
-      <compilation-unit name="union">
-        <output-dir compare="Text">union</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="union_heterogeneous_scalar">
-        <output-dir compare="Text">union_heterogeneous_scalar</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="union_negative">
-        <output-dir compare="Text">union</output-dir>
-        <expected-error>Cannot find dataset t in dataverse TinySocial nor an alias with name t</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="union_negative_3">
-        <output-dir compare="Text">union</output-dir>
-        <expected-error>Operation UNION with set semantics is not supported.</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="union_nested">
-        <output-dir compare="Text">union_nested</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="union_opt_1">
-        <output-dir compare="Text">union_opt_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="union_orderby">
-        <output-dir compare="Text">union_orderby</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="union_orderby_2">
-        <output-dir compare="Text">union_orderby_2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="union_orderby_3">
-        <output-dir compare="Text">union_orderby_3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="union_orderby_4">
-        <output-dir compare="Text">union_orderby_3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="union_orderby_5">
-        <output-dir compare="Text">union_orderby_5</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="query-ASTERIXDB-1354-2">
-        <output-dir compare="Text">query-ASTERIXDB-1354-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="query-ASTERIXDB-1629">
-        <output-dir compare="Text">query-ASTERIXDB-1629</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="query-ASTERIXDB-1047">
-        <output-dir compare="Text">query-ASTERIXDB-1047</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="query-ASTERIXDB-1205-2">
-        <output-dir compare="Text">query-ASTERIXDB-1205-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="query-ASTERIXDB-1205-3">
-        <output-dir compare="Text">query-ASTERIXDB-1205-3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="query-ASTERIXDB-1205">
-        <output-dir compare="Text">query-ASTERIXDB-1205</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="query-ASTERIXDB-1354">
-        <output-dir compare="Text">query-ASTERIXDB-1354</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="union">
-      <compilation-unit name="union_type_cast">
-        <output-dir compare="Text">union_type_cast</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="upsert">
-    <test-case FilePath="upsert">
-      <compilation-unit name="filtered-dataset">
-        <output-dir compare="Text">filtered-dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="issue1587-foreignDataType">
-        <output-dir compare="Text">issue1587-foreignDataType</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="nested-index">
-        <output-dir compare="Text">nested-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="primary-secondary-rtree">
-        <output-dir compare="Text">primary-secondary-rtree</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="primary-correlated-secondary-rtree">
-        <output-dir compare="Text">primary-secondary-rtree</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="upsert-with-self-read">
-        <output-dir compare="Text">upsert-with-self-read</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="nullable-index">
-        <output-dir compare="Text">nullable-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="open-index">
-        <output-dir compare="Text">open-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="primary-index">
-        <output-dir compare="Text">primary-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="primary-secondary-btree">
-        <output-dir compare="Text">primary-secondary-btree</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="primary-correlated-secondary-btree">
-        <output-dir compare="Text">primary-secondary-btree</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="primary-secondary-inverted">
-        <output-dir compare="Text">primary-secondary-inverted</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="primary-correlated-secondary-inverted">
-        <output-dir compare="Text">primary-secondary-inverted</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="multiple-secondaries">
-        <output-dir compare="Text">multiple-secondaries</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="multiple-correlated-secondaries">
-        <output-dir compare="Text">multiple-secondaries</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="upsert">
-      <compilation-unit name="upsert-case-returning">
-        <output-dir compare="Text">upsert-case-returning</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="json-parser">
-    <test-case FilePath="json-parser">
-      <compilation-unit name="numeric-tinyint">
-        <output-dir compare="Text">numeric-tinyint</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="numeric-tinyint-overflow">
-        <output-dir compare="Text">numeric-tinyint</output-dir>
-        <expected-error>Numeric value (1000) out of range of Java byte</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="numeric-float">
-        <output-dir compare="Text">numeric-float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="numeric-demote-double-bigint">
-        <output-dir compare="Text">numeric-demote-double-bigint</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="numeric-promote-bigint-double">
-        <output-dir compare="Text">numeric-promote-bigint-double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="duplicate-fields">
-        <output-dir compare="Text">duplicate-fields</output-dir>
-        <expected-error>Duplicate field 'field'</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="malformed-json">
-        <output-dir compare="Text">malformed-json</output-dir>
-        <expected-error>Unexpected character ('}' (code 125)): was expecting double-quote to start field name</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="null-missing">
-        <output-dir compare="Text">null-missing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="nonoptional-missing">
-        <output-dir compare="Text">nonoptional-missing</output-dir>
-        <expected-error>ASX3075: Closed field missing_value has null value</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="nonoptional-null">
-        <output-dir compare="Text">nonoptional-null</output-dir>
-        <expected-error>ASX3075: Closed field null_value has null value</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="spatial">
-        <output-dir compare="Text">spatial</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="spatial-line-3-points">
-        <output-dir compare="Text">spatial-line-3-points</output-dir>
-        <expected-error>Line must have 4 coordinates</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="spatial-polygon-unclosed">
-        <output-dir compare="Text">spatial-polygon-unclosed</output-dir>
-        <expected-error>Unclosed polygon is not supported</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="spatial-polygon-with-hole">
-        <output-dir compare="Text">spatial-polygon-with-hole</output-dir>
-        <expected-error>Only simple geometries are supported (Point, LineString and Polygon without holes)</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="temporal">
-        <output-dir compare="Text">temporal</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="type-mismatch">
-        <output-dir compare="Text">type-mismatch</output-dir>
-        <expected-error>ASX3054: Mismatch Type, expecting a value of type string</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="unsupported-type-circle">
-        <output-dir compare="Text">unsupported-type-circle</output-dir>
-        <expected-error>ASX0004: Unsupported type: org.apache.asterix.external.parser.factory.JSONDataParserFactory cannot process input type circle</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="unsupported-type-daytimeduration">
-        <output-dir compare="Text">unsupported-type-daytimeduration</output-dir>
-        <expected-error>ASX0004: Unsupported type: org.apache.asterix.external.parser.factory.JSONDataParserFactory cannot process input type daytimeduration</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="unsupported-type-duration">
-        <output-dir compare="Text">unsupported-type-duration</output-dir>
-        <expected-error>ASX0004: Unsupported type: org.apache.asterix.external.parser.factory.JSONDataParserFactory cannot process input type duration</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="unsupported-type-interval">
-        <output-dir compare="Text">unsupported-type-interval</output-dir>
-        <expected-error>ASX0004: Unsupported type: org.apache.asterix.external.parser.factory.JSONDataParserFactory cannot process input type interval</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="unsupported-type-multiset">
-        <output-dir compare="Text">unsupported-type-multiset</output-dir>
-        <expected-error>ASX0004: Unsupported type: org.apache.asterix.external.parser.factory.JSONDataParserFactory cannot process input type multiset</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="unsupported-type-point3d">
-        <output-dir compare="Text">unsupported-type-point3d</output-dir>
-        <expected-error>ASX0004: Unsupported type: org.apache.asterix.external.parser.factory.JSONDataParserFactory cannot process input type point3d</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser">
-      <compilation-unit name="unsupported-type-rectangle">
-        <output-dir compare="Text">unsupported-type-rectangle</output-dir>
-        <expected-error>ASX0004: Unsupported type: org.apache.asterix.external.parser.factory.JSONDataParserFactory cannot process input type rectangle</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="json-parser" check-warnings="true">
-      <compilation-unit name="parse-json-function">
-        <output-dir compare="Text">parse-json-function</output-dir>
-        <source-location>false</source-location>
-        <expected-warn>Type mismatch: function parse-json expects its 1st input parameter to be of type string, but the actual input type is bigint</expected-warn>
-        <expected-warn>Malformed input stream</expected-warn>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="composite-key">
-    <test-case FilePath="composite-key">
-      <compilation-unit name="query-ASTERIXDB-920">
-        <output-dir compare="Text">query-ASTERIXDB-920</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="composite-key">
-      <compilation-unit name="query-ASTERIXDB-2334">
-        <output-dir compare="Text">query-ASTERIXDB-2334</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="composite-key">
-      <compilation-unit name="composite-low-high">
-        <output-dir compare="Text">composite-low-high</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="composite-key">
-      <compilation-unit name="composite-prefix">
-        <output-dir compare="Text">composite-prefix</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="composite-key">
-      <compilation-unit name="composite-prefix-low-high">
-        <output-dir compare="Text">composite-prefix-low-high</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="limit">
-    <test-case FilePath="limit">
-      <compilation-unit name="limit_negative_value">
-        <output-dir compare="Text">limit_negative_value</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="limit">
-      <compilation-unit name="limit_type_01">
-        <output-dir compare="Text">limit_type_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="limit">
-      <compilation-unit name="limit_type_02">
-        <output-dir compare="Text">limit_type_01</output-dir>
-        <expected-error>ASX0039: Expected integer value, got 2.75 (in line 28, at column 10)</expected-error>
-        <expected-error>ASX0039: Expected integer value, got 1.75 (in line 28, at column 19)</expected-error>
-        <expected-error>ASX1091: Type mismatch: expected value of type integer, but got the value of type string (in line 28, at column 7)</expected-error>
-        <expected-error>ASX1091: Type mismatch: expected value of type integer, but got the value of type boolean (in line 28, at column 16)</expected-error>
-        <expected-error>ASX0021: Source value 9999999999 is out of range that integer can hold - integer.MAX_VALUE: 2147483647, integer.MIN_VALUE: -2147483648</expected-error>
-        <expected-error>ASX0021: Source value 8888888888 is out of range that integer can hold - integer.MAX_VALUE: 2147483647, integer.MIN_VALUE: -2147483648</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="limit">
-      <compilation-unit name="offset_without_limit">
-        <output-dir compare="Text">offset_without_limit</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="limit">
-      <compilation-unit name="push-limit-to-external-scan">
-        <output-dir compare="Text">push-limit-to-external-scan</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="limit">
-      <compilation-unit name="push-limit-to-external-scan-select">
-        <output-dir compare="Text">push-limit-to-external-scan-select</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="limit">
-      <compilation-unit name="push-limit-to-primary-scan">
-        <output-dir compare="Text">push-limit-to-primary-scan</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="limit">
-      <compilation-unit name="push-limit-to-primary-scan-select">
-        <output-dir compare="Text">push-limit-to-primary-scan-select</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="limit">
-      <compilation-unit name="push-limit-to-primary-lookup">
-        <output-dir compare="Text">push-limit-to-primary-lookup</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="limit">
-      <compilation-unit name="push-limit-to-primary-lookup-select">
-        <output-dir compare="Text">push-limit-to-primary-lookup-select</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="limit">
-      <compilation-unit name="query-ASTERIXDB-2420">
-        <output-dir compare="Text">query-ASTERIXDB-2420</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="compression">
-    <test-case FilePath="compression">
-      <compilation-unit name="incompressible-pages/large-page">
-        <output-dir compare="Text">incompressible-pages/large-page</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="compression">
-      <compilation-unit name="incompressible-pages/small-page">
-        <output-dir compare="Text">incompressible-pages/small-page</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="compression">
-      <compilation-unit name="invalid-compression-scheme">
-        <output-dir compare="Text">invalid-compression-scheme</output-dir>
-        <expected-error>ASX1096: Unknown compression scheme zip. Supported schemes are [snappy,none]</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="compression">
-      <compilation-unit name="scheme-none">
-        <output-dir compare="Text">scheme-none</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="compression">
-      <compilation-unit name="scheme-snappy">
-        <output-dir compare="Text">scheme-snappy</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="ddl-with-clause">
-    <test-case FilePath="ddl-with-clause">
-      <compilation-unit name="missing-non-optional">
-        <output-dir compare="Text">missing-non-optional</output-dir>
-        <expected-error>ASX1061: Field 'merge-policy.name' in the with clause cannot be null or missing</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl-with-clause">
-      <compilation-unit name="type-mismatch">
-        <output-dir compare="Text">type-mismatch</output-dir>
-        <expected-error>ASX1060: Field 'merge-policy.parameters.max-mergable-component-size' in the with clause must be of type bigint, but found string</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl-with-clause">
-      <compilation-unit name="unsupported-field">
-        <output-dir compare="Text">unsupported-field</output-dir>
-        <expected-error>ASX1059: Field(s) [unknown-field] unsupported in the with clause</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="ddl-with-clause">
-      <compilation-unit name="unsupported-subfield">
-        <output-dir compare="Text">unsupported-subfield</output-dir>
-        <expected-error>ASX1097: Subfield(s) [unknown-subfield] in 'merge-policy' unsupported in the with clause</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="metrics">
-    <test-case FilePath="metrics">
-      <compilation-unit name="full-scan">
-        <output-dir compare="Text">full-scan</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="warnings">
-    <test-case FilePath="warnings" check-warnings="true">
-      <compilation-unit name="broadcast-join-hint-warning">
-        <output-dir compare="Text">broadcast-join-hint-warning</output-dir>
-        <expected-warn><![CDATA[ASX1107: Unexpected hint: hash-bcas. "hash-bcast", "indexnl", "hashjoin", "skip-index", "use-index", "selectivity", "productivity" expected at this location (in line 36, at column 22)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hash-bcast. ASX1001: Syntax error: In line 1 >>()<< Encountered ")" at column 2.  (in line 36, at column 22)]]></expected-warn>
-        <expected-warn>HYR10006: Could not apply broadcast hash join hint: broadcast cn (in line 36, at column 43)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="warnings" check-warnings="true">
-      <compilation-unit name="hashjoin-hint-warning">
-        <output-dir compare="Text">hashjoin-hint-warning</output-dir>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>build<< Encountered <EOF> at column 5.  (in line 36, at column 22)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1107: Unexpected hint: hashjon build. "hash-bcast", "indexnl", "hashjoin", "skip-index", "use-index", "selectivity", "productivity" expected at this location (in line 36, at column 22)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>buil<< Encountered <EOF> at column 4.  (in line 36, at column 22)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>build ()<< Encountered ")" at column 8.  (in line 36, at column 22)]]></expected-warn>
-        <expected-warn>HYR10006: Could not apply hash join hint: build with cn (in line 36, at column 47)</expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>probe<< Encountered <EOF> at column 5.  (in line 36, at column 22)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1107: Unexpected hint: hashjon probe. "hash-bcast", "indexnl", "hashjoin", "skip-index", "use-index", "selectivity", "productivity" expected at this location (in line 36, at column 22)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>prob<< Encountered <EOF> at column 4.  (in line 36, at column 22)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>probe ()<< Encountered ")" at column 8.  (in line 36, at column 22)]]></expected-warn>
-        <expected-warn>HYR10006: Could not apply hash join hint: probe with cn (in line 36, at column 47)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="warnings" check-warnings="true">
-      <compilation-unit name="cardinality-hint-warning">
-        <output-dir compare="Text">cardinality-hint-warning</output-dir>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint selectivity. Expected selectivity value (in line 31, at column 52)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint selectivity. Selectivity has to be a decimal value greater than 0 and less than 1 (in line 31, at column 52)]]></expected-warn>
-        <expected-warn>HYR10006: Could not apply selectivity hint: Selectivity specified: 0.0, has to be a decimal value greater than 0 and less than 1 (in line 33, at column 73)</expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint selectivity. Selectivity has to be a decimal value greater than 0 and less than 1 (in line 31, at column 52)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Expected productivity collection name and value (in line 31, at column 23)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 31, at column 23)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 31, at column 23)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 31, at column 23)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 31, at column 23)]]></expected-warn>
-        <expected-warn>HYR10006: Could not apply productivity hint: Productivity specified: 0.0, has to be a decimal value greater than 0 (in line 33, at column 47)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="warnings" check-warnings="true">
-      <compilation-unit name="inapplicable-hint-warning">
-        <output-dir compare="Text">inapplicable-hint-warning</output-dir>
-        <expected-warn>HYR10006: Could not apply Group By hint: hash</expected-warn>
-        <expected-warn>ASX1107: Unexpected hint: indexnl. "hash" expected at this location</expected-warn>
-        <expected-warn>ASX1107: Unexpected hint: hash. "hash-bcast", "indexnl", "hashjoin", "skip-index", "use-index", "selectivity", "productivity" expected at this location</expected-warn>
-        <expected-warn>ASX1107: Unexpected hint: auto. "indexnl", "skip-index", "hashjoin", "use-index", "selectivity" expected at this location</expected-warn>
-        <expected-warn>ASX1107: Unexpected hint: hash. "indexnl", "range", "hashjoin", "skip-index", "spatial-partitioning", "use-index" expected at this location</expected-warn>
-        <expected-warn>ASX1107: Unexpected hint: hash. None expected at this location</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="warnings" check-warnings="true">
-      <compilation-unit name="min-max-incompatible-types">
-        <output-dir compare="Text">min-max-incompatible-types</output-dir>
-        <expected-warn>ASX0003: Type incompatibility: function min/max gets incompatible input values: bigint and string</expected-warn>
-        <expected-warn>ASX0004: Unsupported type: min/max cannot process input type object</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="warnings" check-warnings="true">
-      <compilation-unit name="multiple-hints-warning">
-        <output-dir compare="Text">multiple-hints-warning</output-dir>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>build ()<< Encountered ")" at column 8.  (in line 30, at column 20)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 30, at column 46)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint productivity. Invalid format for productivity values (in line 30, at column 45)]]></expected-warn>
-        <expected-warn><![CDATA[ASX1132: Invalid specification for hint hashjoin. ASX1001: Syntax error: In line 1 >>build ()<< Encountered ")" at column 8.  (in line 30, at column 20)]]></expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="warnings" check-warnings="true">
-      <compilation-unit name="plan-warning">
-        <output-dir compare="Text">plan-warning</output-dir>
-        <expected-warn>HYR10007: Encountered a cross product join</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="warnings" check-warnings="true">
-      <compilation-unit name="unknown-hint-warning">
-        <output-dir compare="Text">unknown-hint-warning</output-dir>
-        <expected-warn>ASX1107: Unexpected hint: unknown_hint_groupby. "hash" expected at this location</expected-warn>
-        <expected-warn>ASX1107: Unexpected hint: unknown_hint_relexpr. "hash-bcast", "indexnl", "hashjoin", "skip-index", "use-index", "selectivity", "productivity" expected at this location</expected-warn>
-        <expected-warn>ASX1107: Unexpected hint: unknown_hint_between. "indexnl", "skip-index", "hashjoin", "use-index", "selectivity" expected at this location</expected-warn>
-        <expected-warn>ASX1107: Unexpected hint: unknown_hint_funcall. "indexnl", "range", "hashjoin", "skip-index", "spatial-partitioning", "use-index" expected at this location</expected-warn>
-        <expected-warn>ASX1107: Unexpected hint: unknown_hint_elsewhere. None expected at this location</expected-warn>
-        <expected-warn>ASX1107: Unexpected hint: unknown_hint_relexpr_6. "hash-bcast", "indexnl", "hashjoin", "skip-index", "use-index", "selectivity", "productivity" expected at this location</expected-warn>
-        <expected-warn>ASX1107: Unexpected hint: unknown_hint_relexpr_6. "hash-bcast", "indexnl", "hashjoin", "skip-index", "use-index", "selectivity", "productivity" expected at this location</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="warnings">
-      <compilation-unit name="warnings-limit">
-        <output-dir compare="Clean-JSON">warnings-limit</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="nonpure">
-    <test-case FilePath="nonpure">
-      <compilation-unit name="global-datetime-use-index">
-        <output-dir compare="Text">global-datetime-use-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="nonpure">
-      <compilation-unit name="local-datetime-ignore-index">
-        <output-dir compare="Text">local-datetime-ignore-index</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="orderby_limit">
-    <test-case FilePath="orderby_limit">
-      <compilation-unit name="limit_on_variable_01">
-        <output-dir compare="Text">limit_on_variable_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="orderby_limit">
-      <compilation-unit name="orderby_limit_01">
-        <output-dir compare="Text">orderby_limit_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="orderby_limit">
-      <compilation-unit name="orderby_limit_02">
-        <output-dir compare="Text">orderby_limit_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="orderby_limit">
-      <compilation-unit name="orderby_limit_offset_01">
-        <output-dir compare="Text">orderby_limit_offset_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="orderby_limit">
-      <compilation-unit name="orderby_limit_primary_index_01">
-        <output-dir compare="Text">orderby_limit_primary_index_01</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="fun_return_null_missing/string_fun">
-    <test-case FilePath="fun_return_null_missing/string_fun" check-warnings="true">
-      <compilation-unit name="string_fun_001">
-        <output-dir compare="Text">string_fun_001</output-dir>
-        <expected-warn>Type mismatch: function trim expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 41, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function like expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 32, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function uppercase expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 38, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ltrim expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 42, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function like expects its 1st input parameter to be of type string, but the actual input type is tinyint (in line 33, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-length expects its 1st input parameter to be of type string, but the actual input type is integer (in line 36, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function trim expects its 1st input parameter to be of type string, but the actual input type is integer (in line 40, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function lowercase expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 37, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function rtrim expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 45, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function contains expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 34, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ltrim expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 43, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function position expects its 1st input parameter to be of type string, but the actual input type is tinyint (in line 46, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-to-codepoint expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 35, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function initcap expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 39, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function rtrim expects its 1st input parameter to be of type string, but the actual input type is integer (in line 44, at column 1)</expected-warn>
-
-        <expected-warn>Type mismatch: function trim expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 41, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function like expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 32, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function uppercase expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 38, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ltrim expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 42, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function like expects its 1st input parameter to be of type string, but the actual input type is tinyint (in line 33, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-length expects its 1st input parameter to be of type string, but the actual input type is integer (in line 36, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function trim expects its 1st input parameter to be of type string, but the actual input type is integer (in line 40, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function lowercase expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 37, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function rtrim expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 45, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function contains expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 34, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ltrim expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 43, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function position expects its 1st input parameter to be of type string, but the actual input type is tinyint (in line 46, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-to-codepoint expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 35, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function initcap expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 39, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function rtrim expects its 1st input parameter to be of type string, but the actual input type is integer (in line 44, at column 1)</expected-warn>
-
-        <expected-warn>Type mismatch: function trim expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 41, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function like expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 32, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function uppercase expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 38, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ltrim expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 42, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function like expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 33, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-length expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 36, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function trim expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 40, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function lowercase expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 37, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function rtrim expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 45, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function contains expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 34, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ltrim expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 43, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function position expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 46, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-to-codepoint expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 35, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function initcap expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 39, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function rtrim expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 44, at column 1)</expected-warn>
-
-        <expected-warn>Type mismatch: function regexp-position expects its 1st input parameter to be of type string, but the actual input type is integer (in line 38, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function replace expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 42, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function starts-with expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 32, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function reverse expects its 1st input parameter to be of type string, but the actual input type is integer (in line 43, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-like expects its 3rd input parameter to be of type string, but the actual input type is tinyint (in line 37, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-equal expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 41, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring-after expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 44, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function matches expects its 2nd input parameter to be of type string, but the actual input type is integer (in line 34, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-like expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 36, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-position expects its 3rd input parameter to be of type string, but the actual input type is tinyint (in line 39, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring-before expects its 1st input parameter to be of type string, but the actual input type is tinyint (in line 45, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-replace expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 40, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function matches expects its 3rd input parameter to be of type string, but the actual input type is tinyint (in line 35, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function split expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 46, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ends-with expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 33, at column 1)</expected-warn>
-
-        <expected-warn>Type mismatch: function regexp-position expects its 1st input parameter to be of type string, but the actual input type is integer (in line 38, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function replace expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 42, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function starts-with expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 32, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function reverse expects its 1st input parameter to be of type string, but the actual input type is integer (in line 43, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-like expects its 3rd input parameter to be of type string, but the actual input type is tinyint (in line 37, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-equal expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 41, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring-after expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 44, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function matches expects its 2nd input parameter to be of type string, but the actual input type is integer (in line 34, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-like expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 36, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-position expects its 3rd input parameter to be of type string, but the actual input type is tinyint (in line 39, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring-before expects its 1st input parameter to be of type string, but the actual input type is tinyint (in line 45, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-replace expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 40, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function matches expects its 3rd input parameter to be of type string, but the actual input type is tinyint (in line 35, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function split expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 46, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ends-with expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 33, at column 1)</expected-warn>
-
-        <expected-warn>Type mismatch: function regexp-position expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 38, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function replace expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 42, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function starts-with expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 32, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function reverse expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 43, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-like expects its 3rd input parameter to be of type string, but the actual input type is bigint (in line 37, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-equal expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 41, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring-after expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 44, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function matches expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 34, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-like expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 36, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-position expects its 3rd input parameter to be of type string, but the actual input type is bigint (in line 39, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring-before expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 45, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-replace expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 40, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function matches expects its 3rd input parameter to be of type string, but the actual input type is bigint (in line 35, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function split expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 46, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ends-with expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 33, at column 1)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fun_return_null_missing/string_fun" check-warnings="true">
-      <compilation-unit name="string_fun_002">
-        <output-dir compare="Text">string_fun_002</output-dir>
-        <expected-warn>Type mismatch: function rtrim expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 42, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-replace expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 52, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-like expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 48, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function position expects its 1st input parameter to be of type string, but the actual input type is tinyint (in line 43, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function matches expects its 2nd input parameter to be of type string, but the actual input type is integer (in line 46, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function replace expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 54, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function starts-with expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 44, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-position expects its 3rd input parameter to be of type string, but the actual input type is tinyint (in line 51, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function rtrim expects its 1st input parameter to be of type string, but the actual input type is integer (in line 41, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring-after expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 56, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring-before expects its 1st input parameter to be of type string, but the actual input type is tinyint (in line 57, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function lowercase expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 34, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ends-with expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 45, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function trim expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 38, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function uppercase expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 35, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-like expects its 3rd input parameter to be of type string, but the actual input type is tinyint (in line 49, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function matches expects its 3rd input parameter to be of type string, but the actual input type is tinyint (in line 47, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-equal expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 53, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function split expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 58, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-to-codepoint expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 32, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function trim expects its 1st input parameter to be of type string, but the actual input type is integer (in line 37, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function reverse expects its 1st input parameter to be of type string, but the actual input type is integer (in line 55, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function like expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 29, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function contains expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 31, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ltrim expects its 1st input parameter to be of type string, but the actual input type is smallint (in line 39, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function initcap expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 36, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function ltrim expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 40, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-length expects its 1st input parameter to be of type string, but the actual input type is integer (in line 33, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function like expects its 1st input parameter to be of type string, but the actual input type is tinyint (in line 30, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function regexp-position expects its 1st input parameter to be of type string, but the actual input type is integer (in line 50, at column 1)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fun_return_null_missing/string_fun" check-warnings="true">
-      <compilation-unit name="string_fun_003">
-        <output-dir compare="Text">string_fun_003</output-dir>
-        <expected-warn>Invalid value: function repeat expects its 2nd input parameter to be an integer value, got 5.3 (in line 31, at column 1)</expected-warn>
-        <expected-warn>Invalid value: function regexp-replace expects its 4th input parameter to be an integer value, got 5.3 (in line 36, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 37, at column 1)</expected-warn>
-        <expected-warn>Invalid value: function replace expects its 4th input parameter to be an integer value, got 5.3 (in line 34, at column 1)</expected-warn>
-        <expected-warn>Invalid value: function repeat expects its 2nd input parameter to be a non-negative value, got -2.0 (in line 30, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-join expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 32, at column 1)</expected-warn>
-
-        <expected-warn>Invalid value: function repeat expects its 2nd input parameter to be an integer value, got 5.3 (in line 31, at column 1)</expected-warn>
-        <expected-warn>Invalid value: function regexp-replace expects its 4th input parameter to be an integer value, got 5.3 (in line 36, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 37, at column 1)</expected-warn>
-        <expected-warn>Invalid value: function replace expects its 4th input parameter to be an integer value, got 5.3 (in line 34, at column 1)</expected-warn>
-        <expected-warn>Invalid value: function repeat expects its 2nd input parameter to be a non-negative value, got -2.0 (in line 30, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-join expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 32, at column 1)</expected-warn>
-
-        <expected-warn>Invalid value: function repeat expects its 2nd input parameter to be an integer value, got Infinity (in line 29, at column 1)</expected-warn>
-        <expected-warn>Invalid value: function replace expects its 4th input parameter to be an integer value, got -Infinity (in line 30, at column 1)</expected-warn>
-        <expected-warn>Invalid value: function replace expects its 4th input parameter to be an integer value, got NaN (in line 31, at column 1)</expected-warn>
-        <expected-warn>Invalid value: function regexp-replace expects its 4th input parameter to be an integer value, got NaN (in line 32, at column 1)</expected-warn>
-        <expected-warn>Invalid value: function regexp-replace expects its 4th input parameter to be an integer value, got -Infinity (in line 33, at column 1)</expected-warn>
-        <expected-warn>Invalid value: function substring expects its 2nd input parameter to be an integer value, got Infinity (in line 34, at column 1)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fun_return_null_missing/string_fun" check-warnings="true">
-      <compilation-unit name="string_fun_004">
-        <output-dir compare="Text">string_fun_004</output-dir>
-        <expected-warn>Type mismatch: function string-concat expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 30, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string (in line 32, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 33, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-concat expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 31, at column 7)</expected-warn>
-        <expected-warn>Type mismatch: function codepoint-to-string expects its 1st input parameter to be of type array, but the actual input type is string (in line 34, at column 1)</expected-warn>
-        <expected-warn>Unsupported type: codepoint-to-string cannot process input type string (in line 35, at column 1)</expected-warn>
-
-        <expected-warn>Type mismatch: function string-concat expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 30, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string (in line 32, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function substring expects its 1st input parameter to be of type string, but the actual input type is bigint (in line 33, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-concat expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 31, at column 7)</expected-warn>
-        <expected-warn>Type mismatch: function codepoint-to-string expects its 1st input parameter to be of type array, but the actual input type is string (in line 34, at column 1)</expected-warn>
-        <expected-warn>Unsupported type: codepoint-to-string cannot process input type string (in line 35, at column 1)</expected-warn>
-
-        <expected-warn>Type mismatch: function string-concat expects its 2nd input parameter to be of type string, but the actual input type is bigint (in line 30, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function string-concat expects its 2nd input parameter to be of type string, but the actual input type is tinyint (in line 31, at column 7)</expected-warn>
-        <expected-warn>Type mismatch: function substring expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string (in line 32, at column 1)</expected-warn>
-        <expected-warn>Type mismatch: function codepoint-to-string expects its 1st input parameter to be of type array, but the actual input type is string (in line 33, at column 1)</expected-warn>
-        <expected-warn>Unsupported type: codepoint-to-string cannot process input type string (in line 34, at column 1)</expected-warn>
-        <expected-warn>Unsupported type: codepoint-to-string cannot process input type double (in line 35, at column 1)</expected-warn>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="fun_return_null_missing/numeric_fun" >
-    <test-case FilePath="fun_return_null_missing/numeric_fun" check-warnings="true">
-      <compilation-unit name="numeric_fun_001">
-        <output-dir compare="Text">numeric_fun_001</output-dir>
-        <expected-warn>Type mismatch: function abs expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function acos expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string </expected-warn>
-        <expected-warn>Type mismatch: function asin expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function atan expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function atan2 expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function degrees expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function radians expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function cos expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function cosh expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sin expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sinh expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function tan expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function tanh expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function exp expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function ln expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function log expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sqrt expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sign expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function ceiling expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function floor expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function round-half-to-even expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-unary-minus expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function random expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-
-        <expected-warn>Type mismatch: function abs expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function acos expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string </expected-warn>
-        <expected-warn>Type mismatch: function asin expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function atan expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function atan2 expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function degrees expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function radians expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function cos expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function cosh expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sin expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sinh expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function tan expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function tanh expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function exp expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function ln expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function log expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sqrt expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sign expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function ceiling expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function floor expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function round-half-to-even expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-unary-minus expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function random expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-
-        <expected-warn>Type mismatch: function abs expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function acos expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string </expected-warn>
-        <expected-warn>Type mismatch: function asin expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function atan expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function atan2 expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function degrees expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function radians expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function cos expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function cosh expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sin expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sinh expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function tan expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function tanh expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function exp expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function ln expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function log expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sqrt expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function sign expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function ceiling expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function floor expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function round-half-to-even expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-unary-minus expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function random expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fun_return_null_missing/numeric_fun" check-warnings="true">
-      <compilation-unit name="numeric_fun_002">
-        <output-dir compare="Text">numeric_fun_002</output-dir>
-        <expected-warn>Type mismatch: function round expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function round-half-to-even expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function trunc expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function round-half-to-even expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function trunc expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function round expects its 2nd input parameter to be of type tinyint, smallint, integer or bigint, but the actual input type is string</expected-warn>
-
-        <expected-warn>Type mismatch: function round expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function round-half-to-even expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function trunc expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function round expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function round-half-to-even expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function trunc expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string</expected-warn>
-
-        <expected-warn>Type mismatch: function round expects its 2nd input parameter to be of type tinyint, smallint, integer or bigint, but the actual input type is string (in line 33, at column 24)</expected-warn>
-        <expected-warn>Type mismatch: function round expects its 2nd input parameter to be of type tinyint, smallint, integer or bigint, but the actual input type is string (in line 33, at column 47)</expected-warn>
-        <expected-warn>Type mismatch: function trunc expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string (in line 34, at column 24)</expected-warn>
-        <expected-warn>Type mismatch: function trunc expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string (in line 34, at column 47)</expected-warn>
-
-        <expected-warn>Type mismatch: function round-half-to-even expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string (in line 36, at column 40)</expected-warn>
-        <expected-warn>Type mismatch: function round-half-to-even expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float or double, but the actual input type is string (in line 36, at column 79)</expected-warn>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fun_return_null_missing/numeric_fun" check-warnings="true">
-      <compilation-unit name="numeric_fun_003">
-        <output-dir compare="Text">numeric_fun_003</output-dir>
-        <expected-warn>Type mismatch: function numeric-add expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-divide expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type incompatibility: function numeric-multiply gets incompatible input values: daytimeduration and string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-add expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-subtract expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type incompatibility: function numeric-divide gets incompatible input values: time and string</expected-warn>
-        <expected-warn>Type incompatibility: function numeric-add gets incompatible input values: yearmonthduration and string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-subtract expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-multiply expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type incompatibility: function numeric-add gets incompatible input values: daytimeduration and string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-div expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-subtract expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function power expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-mod expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type incompatibility: function numeric-add gets incompatible input values: time and string</expected-warn>
-        <expected-warn>Type incompatibility: function power gets incompatible input values: yearmonthduration and string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-multiply expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-multiply expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-mod expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-divide expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-div expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type incompatibility: function numeric-multiply gets incompatible input values: date and string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-add expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type incompatibility: function numeric-add gets incompatible input values: duration and string</expected-warn>
-        <expected-warn>Type incompatibility: function numeric-div gets incompatible input values: datetime and string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-mod expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function power expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type incompatibility: function numeric-add gets incompatible input values: date and string</expected-warn>
-        <expected-warn>Type incompatibility: function numeric-mod gets incompatible input values: duration and string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-subtract expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-subtract expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-divide expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-subtract expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-subtract expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-div expects its 2nd input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function numeric-subtract expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <expected-warn>Type incompatibility: function numeric-add gets incompatible input values: datetime and string</expected-warn>
-        <expected-warn>Type mismatch: function power expects its 1st input parameter to be of type tinyint, smallint, integer, bigint, float, double, date, time, datetime, duration, yearmonthduration or daytimeduration, but the actual input type is string</expected-warn>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fun_return_null_missing" check-warnings="true">
-      <compilation-unit name="field-access">
-        <output-dir compare="Text">field-access</output-dir>
-        <expected-warn>Type mismatch: function field-access-by-name expects its 1st input parameter to be of type object, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function field-access-by-name expects its 1st input parameter to be of type object, but the actual input type is string</expected-warn>
-        <expected-warn>Type mismatch: function field-access-by-name expects its 1st input parameter to be of type object, but the actual input type is string</expected-warn>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="window">
-    <test-case FilePath="window">
-      <compilation-unit name="cume_dist_01">
-        <output-dir compare="Text">cume_dist_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="dense_rank_01">
-        <output-dir compare="Text">dense_rank_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="first_value_01">
-        <output-dir compare="Text">first_value_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="lag_01">
-        <output-dir compare="Text">lag_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="last_value_01">
-        <output-dir compare="Text">last_value_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="lead_01">
-        <output-dir compare="Text">lead_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="misc_01">
-        <output-dir compare="Text">misc_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="nth_value_01">
-        <output-dir compare="Text">nth_value_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="ntile_01">
-        <output-dir compare="Text">ntile_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="percent_rank_01">
-        <output-dir compare="Text">percent_rank_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="pg_win">
-        <output-dir compare="Text">pg_win</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="rank_01">
-        <output-dir compare="Text">rank_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="ratio_to_report_01">
-        <output-dir compare="Text">ratio_to_report_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="row_number_01">
-        <output-dir compare="Text">row_number_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="win_negative">
-        <output-dir compare="Text">misc_01</output-dir>
-        <expected-error>ASX0002: Type mismatch</expected-error>
-        <expected-error>ASX1104: Invalid modifier FROM FIRST/LAST for function</expected-error>
-        <expected-error>ASX1037: Invalid query parameter compiler.windowmemory</expected-error>
-        <expected-error>ASX1102: Expected window or aggregate function, got: lowercase</expected-error>
-        <expected-error>ASX1079: Compilation error: count is a SQL-92 aggregate function</expected-error>
-        <expected-error>ASX1104: Invalid modifier RESPECT/IGNORE NULLS for function</expected-error>
-        <expected-error>ASX1104: Invalid modifier RESPECT/IGNORE NULLS for function</expected-error>
-        <expected-error>ASX1104: Invalid modifier FROM FIRST/LAST for function</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="win_null_missing">
-        <output-dir compare="Text">win_null_missing</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="win_opt_01">
-        <output-dir compare="Text">win_opt_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="window">
-      <compilation-unit name="win_opt_02">
-        <output-dir compare="Text">win_opt_02</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="column">
-    <test-case FilePath="column">
-      <compilation-unit name="assembly/001">
-        <output-dir compare="Text">assembly/001</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="assembly/002">
-        <output-dir compare="Text">assembly/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="assembly/003">
-        <output-dir compare="Text">assembly/003</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="assembly/004">
-        <output-dir compare="Text">assembly/004</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="delete/001">
-        <output-dir compare="Text">delete/001</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="delete/002">
-        <output-dir compare="Text">delete/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="delete/003">
-        <output-dir compare="Text">delete/003</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="delete/004">
-        <output-dir compare="Text">delete/004</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="delete/005">
-        <output-dir compare="Text">delete/005</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="nested-pk">
-        <output-dir compare="Text">nested-pk</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="meta/meta_after_gby">
-        <output-dir compare="Text">meta/meta_after_gby</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="meta/meta_in_with_clause">
-        <output-dir compare="Text">meta/meta_in_with_clause</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="meta/resolving_pk_with_meta">
-        <output-dir compare="Text">meta/resolving_pk_with_meta</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="missing-null-values/001">
-        <output-dir compare="Text">missing-null-values/001</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="missing-null-values/002">
-        <output-dir compare="Text">missing-null-values/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="missing-null-values/003">
-        <output-dir compare="Text">missing-null-values/003</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="missing-null-values/003">
-        <output-dir compare="Text">missing-null-values/003</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="missing-null-values/005">
-        <output-dir compare="Text">missing-null-values/005</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="missing-null-values/006">
-        <output-dir compare="Text">missing-null-values/006</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="empty-array/001">
-        <output-dir compare="Text">empty-array/001</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="empty-array/002">
-        <output-dir compare="Text">empty-array/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="empty-array/003">
-        <output-dir compare="Text">empty-array/003</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="pushdown/array-access-pushdown">
-        <output-dir compare="Text">pushdown/array-access-pushdown</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="pushdown/field-access-pushdown">
-        <output-dir compare="Text">pushdown/field-access-pushdown</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="pushdown/heterogeneous-access-pushdown">
-        <output-dir compare="Text">pushdown/heterogeneous-access-pushdown</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="pushdown/other-pushdowns">
-        <output-dir compare="Text">pushdown/other-pushdowns</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="select-count-one-field">
-        <output-dir compare="Text">select-count-one-field</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="upsert/001">
-        <output-dir compare="Text">upsert/001</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="upsert/002">
-        <output-dir compare="Text">upsert/002</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column" check-warnings="true">
-      <compilation-unit name="filter/001">
-        <output-dir compare="Text">filter/001</output-dir>
-        <expected-warn>ASX0051: Incomparable input types: string and bigint (in line 30, at column 23)</expected-warn>
-        <expected-warn>ASX0051: Incomparable input types: bigint and string (in line 29, at column 38)</expected-warn>
-        <expected-warn>ASX0051: Incomparable input types: array and bigint (in line 28, at column 15)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column" check-warnings="true">
-      <compilation-unit name="filter/002">
-        <output-dir compare="Text">filter/002</output-dir>
-        <expected-warn>ASX0051: Incomparable input types: string and bigint (in line 29, at column 23)</expected-warn>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="filter/003">
-        <output-dir compare="Text">filter/003</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="filter/004">
-        <output-dir compare="Text">filter/004</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="filter/005">
-        <output-dir compare="Text">filter/005</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="filter/006">
-        <output-dir compare="Text">filter/006</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="filter/007">
-        <output-dir compare="Text">filter/007</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="filter/not-in_every">
-        <output-dir compare="Text">filter/not-in_every</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="big-object">
-        <output-dir compare="Text">big-object</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="secondary-index/array-index/use-case-1">
-        <output-dir compare="Text">secondary-index/array-index/use-case-1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="secondary-index/array-index/use-case-2">
-        <output-dir compare="Text">secondary-index/array-index/use-case-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="secondary-index/array-index/use-case-3">
-        <output-dir compare="Text">secondary-index/array-index/use-case-3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="secondary-index/array-index/use-case-4">
-        <output-dir compare="Text">secondary-index/array-index/use-case-4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="secondary-index/array-index/with-additional-atomic-index">
-        <output-dir compare="Text">secondary-index/array-index/with-additional-atomic-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="secondary-index/array-index/with-composite-sk">
-        <output-dir compare="Text">secondary-index/array-index/with-composite-sk</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="secondary-index/index-with-meta">
-        <output-dir compare="Text">secondary-index/index-with-meta</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="secondary-index/create-index/after-bulkload">
-        <output-dir compare="Text">secondary-index/create-index/after-bulkload</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="secondary-index/create-index/after-insert">
-        <output-dir compare="Text">secondary-index/create-index/after-insert</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="secondary-index/create-index/after-upsert-with-meta">
-        <output-dir compare="Text">secondary-index/create-index/after-upsert-with-meta</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="column">
-      <compilation-unit name="analyze-dataset">
-        <output-dir compare="Text">analyze-dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="copy">
-    <test-case FilePath="copy">
-      <compilation-unit name="copy-1">
-        <output-dir compare="Text">copy-1</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="atomic-statements">
-    <test-case FilePath="atomic-statements">
-      <compilation-unit name="atomic-statements-1">
-        <output-dir compare="Clean-JSON">atomic-statements-1</output-dir>
-        <expected-error>HYR0033: Inserting duplicate keys into the primary storage</expected-error>
-        <source-location>false</source-location>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="atomic-statements">
-      <compilation-unit name="atomic-statements-2">
-        <output-dir compare="Clean-JSON">atomic-statements-2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="atomic-statements">
-      <compilation-unit name="atomic-statements-3">
-        <output-dir compare="Clean-JSON">atomic-statements-3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="atomic-statements">
-      <compilation-unit name="atomic-statements-4">
-        <output-dir compare="Clean-JSON">atomic-statements-4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="atomic-statements">
-      <compilation-unit name="columnar-dataset">
-        <output-dir compare="Clean-JSON">columnar-dataset</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
+  &SqlppQueries;
 </test-suite>
diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
index a1ba9c2..f2dcde4 100644
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
@@ -479,6 +479,7 @@
                 return null;
             }
             //TODO(DB): object database
+            dbName = MetadataUtil.databaseFor(synonym.getObjectDataverseName());
             dvName = synonym.getObjectDataverseName();
             datasetName = synonym.getObjectName();
         }
diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Function.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Function.java
index 94145e2..af78e0e 100644
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Function.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Function.java
@@ -78,7 +78,7 @@
     }
 
     public String getDatabaseName() {
-        return databaseName;
+        return signature.getDatabaseName();
     }
 
     public DataverseName getDataverseName() {