diff --git a/.gitignore b/.gitignore
index 39d2528..189af35 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,5 +19,6 @@
 *-coredump
 *.pyc
 *.iml
+.idea/
 asterix.ipr
 asterix.iws
diff --git a/asterix-app/data/adm-load/binary_type.adm b/asterix-app/data/adm-load/binary_type.adm
new file mode 100644
index 0000000..2f79dff
--- /dev/null
+++ b/asterix-app/data/adm-load/binary_type.adm
@@ -0,0 +1 @@
+{ "ba": hex("ABCDEF0123456789"), "bb": hex("ABCDEF0123456789"), "bc": hex("0A0B0C0D0E0F"), "bd": hex("01020304050607080900"), "bx": base64("q83vASNFZ4k="), "by": hex("ABCDEF0123456789"), "bz": base64("CgsMDQ4P"), "bw": base64("AQIDBAUGBwgJAA==") }
diff --git a/asterix-app/data/adm-load/usermd5.adm b/asterix-app/data/adm-load/usermd5.adm
new file mode 100644
index 0000000..09b6a69
--- /dev/null
+++ b/asterix-app/data/adm-load/usermd5.adm
@@ -0,0 +1,25 @@
+{ "id":1, "name":"Ronny   Feeney", "md5": hex("34126a9a8c6e8ea118216c7b1048dda0") }
+{ "id":2, "name":"Adolph  Abraham", "md5": hex("46b199c4c7fa55085eea0facd6a3c3b8") }
+{ "id":3, "name":"Odelia  Orosco", "md5": hex("4a0450fe08c5421bb342f36e26c67a61") }
+{ "id":4, "name":"Jasper  Villarreal", "md5": hex("173d7751e6fa210b9494503247045c9e") }
+{ "id":5, "name":"Florencio   Forbes", "md5": hex("96892c30078964b56082fd00573673e4") }
+{ "id":6, "name":"Violette    Maes", "md5": hex("f998bd34cfbe9b742c62e0aa9d06c977") }
+{ "id":7, "name":"Jenae   Marble", "md5": hex("204d482bc66e368b72a85e0691804626") }
+{ "id":8, "name":"Chase   Harness", "md5": hex("3bde012cc94ce1bdb44ade4e38902072") }
+{ "id":9, "name":"Nia Luster", "md5": hex("bb6842ce561ac90e75b033821b34f2bd") }
+{ "id":10, "name":"Joye    Langdon", "md5": hex("881b39c29a960774f53d31762684abcc") }
+{ "id":11, "name":"Tennie  Mcfall", "md5": hex("68f4f0355cde1b6c1746755be9559030") }
+{ "id":12, "name":"Tennie  Margarete   Hutcherson", "md5": hex("885f2930e80ae8e985beb9d2afc60e66") }
+{ "id":13, "name":"Alexa   Hess", "md5": hex("da3a3aa357f469c2eef30e636a67366a") }
+{ "id":14, "name":"Afton   Smiley", "md5": hex("aa24b12619d1723817e0aae507dc5d16") }
+{ "id":15, "name":"Tamela  Wilkes", "md5": hex("0bdfecee101f739d708169a3d7bf692d") }
+{ "id":16, "name":"Thaddeus    Hightower", "md5": hex("1c5631b1e0023366dbaac5cab125a507") }
+{ "id":17, "name":"Carmelita   Jarvis", "md5": hex("b8862e8f77173a39b55a36ba0f0d44c6") }
+{ "id":18, "name":"Vanetta Chacon", "md5": hex("b0d3e7d02ef3bee600fdbd2b688f9cf5") }
+{ "id":19, "name":"Alline  Giron", "md5": hex("6c718cb3708992f7a482619348011abf") }
+{ "id":20, "name":"Louis   Roche", "md5": hex("d64f30701a822ebe9f8a25b66c264e88") }
+{ "id":21, "name":"Rachal  Chavis", "md5": hex("b412f8294bddaf083d86d2b650bcc75f") }
+{ "id":22, "name":"Cedrick Herman", "md5": hex("23c34ac38626e0b0f3717c7347dd2ec5") }
+{ "id":23, "name":"Latrisha    Walling", "md5": hex("57af6780c9b51bd783412ea4520dac2a") }
+{ "id":24, "name":"Neda    Earle", "md5": hex("ca312d57fd3365b10448f5008ae2f555") }
+{ "id":25, "name":"Tamekia Connelly", "md5": hex("6b5fd221ef1fb9d41d105f7b6206494b") }
diff --git a/asterix-app/data/adm-load/usermd5copy.adm b/asterix-app/data/adm-load/usermd5copy.adm
new file mode 100644
index 0000000..c981fed
--- /dev/null
+++ b/asterix-app/data/adm-load/usermd5copy.adm
@@ -0,0 +1,20 @@
+{ "id":1, "name": "Ronny   Feeney", "md5": base64("NBJqmoxujqEYIWx7EEjdoA==") }
+{ "id":2, "name": "Adolph  Abraham", "md5": base64("RrGZxMf6VQhe6g+s1qPDuA==") }
+{ "id":3, "name": "Odelia  Orosco", "md5": base64("SgRQ/gjFQhuzQvNuJsZ6YQ==") }
+{ "id":4, "name": "Jasper  Villarreal", "md5": base64("Fz13Ueb6IQuUlFAyRwRcng==") }
+{ "id":5, "name": "Florencio   Forbes", "md5": base64("loksMAeJZLVggv0AVzZz5A==") }
+{ "id":6, "name": "Violette    Maes", "md5": base64("+Zi9NM++m3QsYuCqnQbJdw==") }
+{ "id":7, "name": "Jenae   Marble", "md5": base64("IE1IK8ZuNotyqF4GkYBGJg==") }
+{ "id":8, "name": "Chase   Harness", "md5": base64("O94BLMlM4b20St5OOJAgcg==") }
+{ "id":9, "name": "Nia Luster", "md5": base64("u2hCzlYayQ51sDOCGzTyvQ==") }
+{ "id":10, "name": "Joye    Langdon", "md5": base64("iBs5wpqWB3T1PTF2JoSrzA==") }
+{ "id":30, "name": "Trang   Fortenberry", "md5": hex("0a6ebf67522bed580f3e4779dc60ef29") }
+{ "id":31, "name": "Ria Ellsworth", "md5": hex("3af7c2ac759fd3f3c89dcccdc5f4b5df") }
+{ "id":32, "name": "Virgina Baine", "md5": hex("c63c87c07ce7ccf9aa1d6714be537c64") }
+{ "id":33, "name": "Maryam  Runyan", "md5": hex("fde31a65de79ac40d986e4decd4de52d") }
+{ "id":34, "name": "Harland Slone", "md5": hex("9c779a36c8a0dd83d1cbd6811a36e837") }
+{ "id":35, "name": "Pearle  Whitley", "md5": hex("d5f7b64f8e1ea21f888a7213273f437c") }
+{ "id":36, "name": "Sulema  Gillis", "md5": hex("5c666e65939e007777dd373d5f54ae1f") }
+{ "id":37, "name": "Graig   Brubaker", "md5": hex("e405cb11cca4371f543ac3d0fbbe6d7b") }
+{ "id":38, "name": "Damaris Durden", "md5": hex("3fb470ec2894a7205c5446978927459a") }
+{ "id":39, "name": "Eldora  Leighton", "md5": hex("911cdf4749f6bb6057c096ce12e308c3") }
diff --git a/asterix-app/data/nontagged/allData.json b/asterix-app/data/nontagged/allData.json
index 5f7bf3b..06c786f 100644
--- a/asterix-app/data/nontagged/allData.json
+++ b/asterix-app/data/nontagged/allData.json
@@ -1,2 +1,17 @@
-{ "id": 10, "name": string("Nancy"), "age": 32.5f, "salary": 12.000 ,"married": boolean("true"), "interests": {{"reading", "writing"}}, "children": ["Brad", "Scott"],  "address": {  "number": 8389,  "street": "Hill St.",  "city": "Mountain View" }, "dob": date("-2011-01-27"), "time": time("12:20:30Z"), "datetime": datetime("-1951-12-27T12:20:30"),  "duration": duration("P10Y11M12DT10H50M30S"),  "location2d": point("41.00,44.00"),  "location3d": point3d("44.00,13.00,41.00"), "line" : line("10.1,11.1 10.2,11.2"), "polygon" : polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "circle" : circle("10.1,11.1 10.2") }
-
+{ "id": 10,
+"name": string("Nancy"),
+"age": 32.5f,
+"salary": 12.000 ,"married": boolean("true"),
+"interests": {{"reading","writing"}},
+"children": ["Brad","Scott"],
+ "address": {  "number": 8389, "street": "Hill St.", "city": "Mountain View" },
+"dob": date("-2011-01-27"),
+"time": time("12:20:30Z"),
+"datetime": datetime("-1951-12-27T12:20:30"),
+ "duration": duration("P10Y11M12DT10H50M30S"),
+ "location2d": point("41.00,44.00"),
+ "location3d": point3d("44.00,13.00,41.00"),
+"line" : line("10.1,11.1 10.2,11.2"),
+"polygon" : polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"),
+"circle" : circle("10.1,11.1 10.2"),
+"binary" : hex("ABCDEF0123456789") }
diff --git a/asterix-app/pom.xml b/asterix-app/pom.xml
index 3ea149e..7bfd2d9 100644
--- a/asterix-app/pom.xml
+++ b/asterix-app/pom.xml
@@ -188,7 +188,7 @@
 			<artifactId>xercesImpl</artifactId>
 			<version>2.9.1</version>
 			<type>jar</type>
-			<scope>test</scope>
+			<scope>compile</scope>
 		</dependency>
 		<dependency>
 			<groupId>xalan</groupId>
diff --git a/asterix-app/src/test/resources/metadata/results/basic/meta17/meta17.1.adm b/asterix-app/src/test/resources/metadata/results/basic/meta17/meta17.1.adm
index ea7c8cb..fd958b0 100644
--- a/asterix-app/src/test/resources/metadata/results/basic/meta17/meta17.1.adm
+++ b/asterix-app/src/test/resources/metadata/results/basic/meta17/meta17.1.adm
@@ -48,6 +48,7 @@
 , { "DataverseName": "Metadata", "DatatypeName": "Type_#1_UnionType_Field_InternalDetails_in_DatasetRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "FileStructure", "FieldType": "string" }, { "FieldName": "PartitioningStrategy", "FieldType": "string" }, { "FieldName": "PartitioningKey", "FieldType": "Field_PartitioningKey_in_Type_#1_UnionType_Field_InternalDetails_in_DatasetRecordType" }, { "FieldName": "PrimaryKey", "FieldType": "Field_PrimaryKey_in_Type_#1_UnionType_Field_InternalDetails_in_DatasetRecordType" }, { "FieldName": "GroupName", "FieldType": "string" }, { "FieldName": "Autogenerated", "FieldType": "boolean" }, { "FieldName": "CompactionPolicy", "FieldType": "string" }, { "FieldName": "CompactionPolicyProperties", "FieldType": "Field_CompactionPolicyProperties_in_Type_#1_UnionType_Field_InternalDetails_in_DatasetRecordType" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
 , { "DataverseName": "Metadata", "DatatypeName": "Type_#1_UnionType_Field_Record_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "IsOpen", "FieldType": "boolean" }, { "FieldName": "Fields", "FieldType": "Field_Fields_in_Type_#1_UnionType_Field_Record_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
 , { "DataverseName": "Metadata", "DatatypeName": "Type_#1_UnionType_Field_Union_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "string" }, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
+, { "DataverseName": "Metadata", "DatatypeName": "binary", "Derived": null, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
 , { "DataverseName": "Metadata", "DatatypeName": "boolean", "Derived": null, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
 , { "DataverseName": "Metadata", "DatatypeName": "circle", "Derived": null, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
 , { "DataverseName": "Metadata", "DatatypeName": "date", "Derived": null, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
diff --git a/asterix-app/src/test/resources/metadata/results/basic/metadata_datatype/metadata_datatype.1.adm b/asterix-app/src/test/resources/metadata/results/basic/metadata_datatype/metadata_datatype.1.adm
index ea7c8cb..fd958b0 100644
--- a/asterix-app/src/test/resources/metadata/results/basic/metadata_datatype/metadata_datatype.1.adm
+++ b/asterix-app/src/test/resources/metadata/results/basic/metadata_datatype/metadata_datatype.1.adm
@@ -48,6 +48,7 @@
 , { "DataverseName": "Metadata", "DatatypeName": "Type_#1_UnionType_Field_InternalDetails_in_DatasetRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "FileStructure", "FieldType": "string" }, { "FieldName": "PartitioningStrategy", "FieldType": "string" }, { "FieldName": "PartitioningKey", "FieldType": "Field_PartitioningKey_in_Type_#1_UnionType_Field_InternalDetails_in_DatasetRecordType" }, { "FieldName": "PrimaryKey", "FieldType": "Field_PrimaryKey_in_Type_#1_UnionType_Field_InternalDetails_in_DatasetRecordType" }, { "FieldName": "GroupName", "FieldType": "string" }, { "FieldName": "Autogenerated", "FieldType": "boolean" }, { "FieldName": "CompactionPolicy", "FieldType": "string" }, { "FieldName": "CompactionPolicyProperties", "FieldType": "Field_CompactionPolicyProperties_in_Type_#1_UnionType_Field_InternalDetails_in_DatasetRecordType" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
 , { "DataverseName": "Metadata", "DatatypeName": "Type_#1_UnionType_Field_Record_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "IsOpen", "FieldType": "boolean" }, { "FieldName": "Fields", "FieldType": "Field_Fields_in_Type_#1_UnionType_Field_Record_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
 , { "DataverseName": "Metadata", "DatatypeName": "Type_#1_UnionType_Field_Union_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "string" }, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
+, { "DataverseName": "Metadata", "DatatypeName": "binary", "Derived": null, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
 , { "DataverseName": "Metadata", "DatatypeName": "boolean", "Derived": null, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
 , { "DataverseName": "Metadata", "DatatypeName": "circle", "Derived": null, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
 , { "DataverseName": "Metadata", "DatatypeName": "date", "Derived": null, "Timestamp": "Wed Aug 20 14:03:26 PDT 2014" }
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/concat/concat_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/binary/concat/concat_01.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/concat/concat_01.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/concat/concat_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/binary/concat/concat_01.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/concat/concat_01.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/concat/concat_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/binary/concat/concat_01.3.query.aql
new file mode 100644
index 0000000..36ce68d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/concat/concat_01.3.query.aql
@@ -0,0 +1,13 @@
+use dataverse test;
+
+let $x :=  [ hex("aa"), hex("259911"), hex("bb"), hex("31")]
+let $c := binary-concat($x)
+
+let $x1 :=  []
+let $c1 := binary-concat($x1)
+
+let $c2 := binary-concat([null])
+let $c3 := binary-concat([null, hex('55')])
+let $c4 := binary-concat([hex('aa'), null])
+let $c5 := binary-concat([hex('aa'), null, base64('asdf')])
+return [ $c = hex("AA259911bb31"), $c1 = hex(""), $c2 , $c3 , $c4 , $c5 ]
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/equal_join/equal_join.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/binary/equal_join/equal_join.1.ddl.aql
new file mode 100644
index 0000000..a87ad2f
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/equal_join/equal_join.1.ddl.aql
@@ -0,0 +1,16 @@
+drop dataverse test if exists;
+create dataverse test;
+
+use dataverse test;
+
+create type UserType as closed {
+  id: int32,
+  name: string,
+  md5: binary
+}
+
+create dataset User(UserType)
+  primary key id;
+
+create dataset UserCopy(UserType)
+  primary key id;
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/equal_join/equal_join.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/binary/equal_join/equal_join.2.update.aql
new file mode 100644
index 0000000..13f757e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/equal_join/equal_join.2.update.aql
@@ -0,0 +1,9 @@
+use dataverse test;
+
+load dataset User
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/adm-load/usermd5.adm"),("format"="adm")) ;
+
+load dataset UserCopy
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/adm-load/usermd5copy.adm"),("format"="adm")) ;
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/equal_join/equal_join.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/binary/equal_join/equal_join.3.query.aql
new file mode 100644
index 0000000..8c49245
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/equal_join/equal_join.3.query.aql
@@ -0,0 +1,7 @@
+use dataverse test;
+
+for $c in dataset('User')
+for $o in dataset('UserCopy')
+where $c.md5 = $o.md5
+order by $c.id
+return {"cid":$c.id, "oid": $o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/find/find.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/binary/find/find.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/find/find.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/find/find.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/binary/find/find.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/find/find.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/find/find.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/binary/find/find.3.query.aql
new file mode 100644
index 0000000..473441e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/find/find.3.query.aql
@@ -0,0 +1,15 @@
+use dataverse test;
+
+let $x := hex("aabbccddaa")
+let $r1 := find-binary($x, hex('')) = 1
+let $r2 := find-binary($x, hex('aa')) = 1
+let $r3 := find-binary($x, hex('aa'), 1) = 5
+let $r4 := find-binary($x, hex('aabb'), 0) = find-binary($x, hex('aabb'))
+let $r5 := find-binary($x, hex('11')) = 0
+let $r6 := find-binary($x, hex('ccddaa')) = 3
+let $r7 := find-binary($x, hex('ccddaabb')) = 0
+
+let $r8 := find-binary($x, null)
+let $r9 := find-binary(null, null)
+let $r0 := find-binary(null, $x)
+return [ $r1 and $r2 and $r3 and $r4 and $r5 and $r6 and $r7, $r8, $r9 , $r0]
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/index_join/index_join.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/binary/index_join/index_join.1.ddl.aql
new file mode 100644
index 0000000..921f8f5
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/index_join/index_join.1.ddl.aql
@@ -0,0 +1,16 @@
+drop dataverse test if exists;
+create dataverse test;
+
+use dataverse test;
+
+create type UserType as closed {
+  id: int32,
+  name: string,
+  md5: binary
+}
+
+create dataset User(UserType)
+  primary key md5;
+
+create dataset UserCopy(UserType)
+  primary key md5;
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/index_join/index_join.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/binary/index_join/index_join.2.update.aql
new file mode 100644
index 0000000..13f757e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/index_join/index_join.2.update.aql
@@ -0,0 +1,9 @@
+use dataverse test;
+
+load dataset User
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/adm-load/usermd5.adm"),("format"="adm")) ;
+
+load dataset UserCopy
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/adm-load/usermd5copy.adm"),("format"="adm")) ;
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/index_join/index_join.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/binary/index_join/index_join.3.query.aql
new file mode 100644
index 0000000..8c49245
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/index_join/index_join.3.query.aql
@@ -0,0 +1,7 @@
+use dataverse test;
+
+for $c in dataset('User')
+for $o in dataset('UserCopy')
+where $c.md5 = $o.md5
+order by $c.id
+return {"cid":$c.id, "oid": $o.id}
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.1.ddl.aql
new file mode 100644
index 0000000..c92ed7e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.1.ddl.aql
@@ -0,0 +1,21 @@
+drop dataverse test if exists;
+create dataverse test;
+
+use dataverse test;
+
+create type UserTypeOpen as open{
+  id: int32
+}
+
+
+create type UserTypeClose as closed {
+  id: int32,
+  name: string,
+  md5: binary
+}
+
+create dataset UserOpen(UserTypeOpen)
+  primary key id;
+
+create dataset UserCopyClose(UserTypeClose)
+  primary key md5;
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.2.update.aql
new file mode 100644
index 0000000..90364db
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.2.update.aql
@@ -0,0 +1,20 @@
+use dataverse test;
+
+load dataset UserOpen
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/adm-load/usermd5.adm"),("format"="adm")) ;
+
+load dataset UserCopyClose
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/adm-load/usermd5copy.adm"),("format"="adm")) ;
+
+
+insert into dataset UserOpen(
+for $l in dataset('UserCopyClose')
+	where $l.id>10
+	return {
+		"id": $l.id,
+		"name": $l.name,
+		"md5": $l.md5
+	}
+);
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.3.query.aql
new file mode 100644
index 0000000..b6ac5da
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/insert/insert.3.query.aql
@@ -0,0 +1,5 @@
+use dataverse test;
+
+for $c in dataset('UserOpen')
+order by $c.id, $c.md5
+return $c
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/length/length.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/binary/length/length.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/length/length.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/length/length.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/binary/length/length.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/length/length.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/length/length.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/binary/length/length.3.query.aql
new file mode 100644
index 0000000..cf98568
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/length/length.3.query.aql
@@ -0,0 +1,6 @@
+use dataverse test;
+
+let $c1 := binary-length(hex("00AA"))
+let $c2 := binary-length(hex(""))
+let $c3 := binary-length(null)
+return {"result1": $c1, "result2": $c2, "result3": $c3}
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/parse/parse.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/binary/parse/parse.1.ddl.aql
new file mode 100644
index 0000000..16769de
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/parse/parse.1.ddl.aql
@@ -0,0 +1,2 @@
+drop dataverse test if exists;
+create dataverse test;
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/parse/parse.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/binary/parse/parse.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/parse/parse.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/parse/parse.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/binary/parse/parse.3.query.aql
new file mode 100644
index 0000000..791b7b7
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/parse/parse.3.query.aql
@@ -0,0 +1,15 @@
+use dataverse test;
+
+let $c1 := parse-binary("ABCDEF0123456789","hex")
+let $c2 := parse-binary("abcdef0123456789","HEX")
+let $c3 := parse-binary("0A0B0C0D0E0F","hEx")
+let $c4 := parse-binary('01020304050607080900',"hex")
+let $c5 := parse-binary('',"hex")
+
+let $c6 := parse-binary("0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM+/","base64")
+let $c7 := parse-binary('',"base64")
+let $c8 := parse-binary('QXN0ZXJpeA==',"BASE64")
+let $c9 := parse-binary('QXN0ZXJpeAE=',"baSE64")
+let $c0 := parse-binary('QXN0ZXJpeAE8',"base64")
+
+return [ $c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8,$c9,$c0 ]
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/print/print.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/binary/print/print.1.ddl.aql
new file mode 100644
index 0000000..16769de
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/print/print.1.ddl.aql
@@ -0,0 +1,2 @@
+drop dataverse test if exists;
+create dataverse test;
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/print/print.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/binary/print/print.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/print/print.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/print/print.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/binary/print/print.3.query.aql
new file mode 100644
index 0000000..a7b23dc
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/print/print.3.query.aql
@@ -0,0 +1,14 @@
+use dataverse test;
+
+let $hex := [ "ABCDEF0123456789", "0A0B0C0D0E0F",'01020304050607080900','']
+let $base64 := [ "0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM+/", 'QXN0ZXJpeA==', 'QXN0ZXJpeAE=', 'QXN0ZXJpeAE8']
+
+let $hex_result := 
+    for $i in $hex
+        return print-binary(parse-binary($i, "hex"), "hex") = $i
+
+let $base64_result :=
+    for $j in $base64
+        return print-binary(parse-binary($j, "base64"), "base64") = $j
+
+return { "hex":$hex_result, "base64":$base64_result }
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/subbinary/subbinary_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/binary/subbinary/subbinary_01.1.ddl.aql
new file mode 100644
index 0000000..754ea81
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/subbinary/subbinary_01.1.ddl.aql
@@ -0,0 +1,3 @@
+drop dataverse test if exists;
+create dataverse test;
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/subbinary/subbinary_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/binary/subbinary/subbinary_01.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/subbinary/subbinary_01.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/binary/subbinary/subbinary_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/binary/subbinary/subbinary_01.3.query.aql
new file mode 100644
index 0000000..afbcb71
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/binary/subbinary/subbinary_01.3.query.aql
@@ -0,0 +1,23 @@
+use dataverse test;
+
+let $x := hex("aabbccdd")
+
+let $r1 := sub-binary(hex(''),0) = hex('')
+let $r2 := sub-binary(hex(''),1) = hex('')
+let $r3 := sub-binary(hex(''),-1) = hex('')
+
+let $r4 := sub-binary($x, 1, binary-length($x)) = $x
+let $r5 := sub-binary($x, 2, 1) = hex('bb')
+let $r6 := sub-binary($x, 2) = hex('bbccdd')
+let $r7 := sub-binary($x, 5, 0) = hex('')
+let $r8 := sub-binary($x, 4, 1) = hex('dd')
+let $r9 := sub-binary($x, 2, 2) = hex('bbcc') 
+
+let $r10 := sub-binary($x, 0) = $x
+let $r11 := sub-binary($x, -1) = $x
+let $r12 := sub-binary($x, 1, 256) = $x
+let $r13 := sub-binary($x, 2, 256) = hex('bbccdd')
+let $r14 := sub-binary($x, 2, -1) = hex('')
+
+return  $r1 and $r2 and $r3 and $r4 and $r5 and $r6 and $r7 and $r8 and $r9 and $r10 and $r11 and $r12 and $r13 and $r14 
+
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/binary/binary.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/binary/binary.1.ddl.aql
new file mode 100644
index 0000000..16769de
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/binary/binary.1.ddl.aql
@@ -0,0 +1,2 @@
+drop dataverse test if exists;
+create dataverse test;
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/binary/binary.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/binary/binary.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/binary/binary.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/binary/binary.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/binary/binary.3.query.aql
new file mode 100644
index 0000000..eb8161c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/binary/binary.3.query.aql
@@ -0,0 +1,27 @@
+use dataverse test;
+
+let $c1 := hex('0A0A')
+let $c2 := hex("0B")
+let $c11:= base64("Cgo=")
+let $c21:= base64("Cw==")
+
+let $r1 := $c1 > $c2
+let $r2 := $c1 >= $c2
+let $r3 := $c1 < $c2
+let $r4 := $c1 <= $c2
+let $r5 := $c1 = $c2
+let $r6 := $c1 != $c2
+
+let $r11 := $c11 > $c21
+let $r21 := $c11 >= $c21
+let $r31 := $c11 < $c21
+let $r41 := $c11 <= $c21
+let $r51 := $c11 = $c21
+let $r61 := $c11 != $c21
+
+let $req1 := $c1 = $c11
+let $req2 := $c2 = $c21
+let $req3 := $c1 = $c21
+let $req4 := $c2 = $c11
+
+return [ $r1,$r2,$r3,$r4,$r5,$r6,$r11,$r21,$r31,$r41,$r51,$r61,$req1,$req2,$req3,$req4 ]
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/binary_null/binary_null.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/binary_null/binary_null.1.ddl.aql
new file mode 100644
index 0000000..16769de
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/binary_null/binary_null.1.ddl.aql
@@ -0,0 +1,2 @@
+drop dataverse test if exists;
+create dataverse test;
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/binary_null/binary_null.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/binary_null/binary_null.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/binary_null/binary_null.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/binary_null/binary_null.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/binary_null/binary_null.3.query.aql
new file mode 100644
index 0000000..e19382c
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/binary_null/binary_null.3.query.aql
@@ -0,0 +1,12 @@
+use dataverse test;
+
+let $c1 := hex("AA")
+let $c2 := [1]
+let $c3 := $c2[1]
+let $r1 := $c1 > $c3
+let $r2 := $c3 >= $c1
+let $r3 := $c1 < $c3
+let $r4 := $c3 <= $c1
+let $r5 := $c1 = $c3
+let $r6 := $c3 != $c1
+return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.1.ddl.aql
new file mode 100644
index 0000000..16769de
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.1.ddl.aql
@@ -0,0 +1,2 @@
+drop dataverse test if exists;
+create dataverse test;
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.2.update.aql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.2.update.aql
diff --git a/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.3.query.aql
new file mode 100644
index 0000000..9646bea
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/constructor/binary_01/binary_01.3.query.aql
@@ -0,0 +1,15 @@
+use dataverse test;
+
+let $c1 := hex("ABCDEF0123456789")
+let $c2 := hex("abcdef0123456789")
+let $c3 := hex("0A0B0C0D0E0F")
+let $c4 := hex('01020304050607080900')
+let $c5 := hex('')
+
+let $c6 := base64("0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM+/")
+let $c7 := base64('')
+let $c8 := base64('QXN0ZXJpeA==')
+let $c9 := base64('QXN0ZXJpeAE=')
+let $c0 := base64('QXN0ZXJpeAE8')
+
+return [ $c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8,$c9,$c0 ]
diff --git a/asterix-app/src/test/resources/runtimets/queries/load/adm_binary/adm_bianry.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/load/adm_binary/adm_bianry.1.ddl.aql
new file mode 100644
index 0000000..b076a09
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/load/adm_binary/adm_bianry.1.ddl.aql
@@ -0,0 +1,10 @@
+drop dataverse temp if exists;
+create dataverse temp
+use dataverse temp;
+
+create type test as open {
+  ba: binary
+};
+
+create dataset testds (test)
+primary key ba;
diff --git a/asterix-app/src/test/resources/runtimets/queries/load/adm_binary/adm_binary.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/load/adm_binary/adm_binary.2.update.aql
new file mode 100644
index 0000000..6995d46
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/load/adm_binary/adm_binary.2.update.aql
@@ -0,0 +1,12 @@
+/**
+ *
+ * CSV file loading test
+ * Expected result: success
+ *
+ */
+
+use dataverse temp;
+
+load dataset testds
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/adm-load/binary_type.adm"),("format"="adm"));
diff --git a/asterix-app/src/test/resources/runtimets/queries/load/adm_binary/adm_binary.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/load/adm_binary/adm_binary.3.query.aql
new file mode 100644
index 0000000..da7cf66
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/load/adm_binary/adm_binary.3.query.aql
@@ -0,0 +1,4 @@
+use dataverse temp;
+
+for $i in dataset testds
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.1.ddl.aql
index 67e79fe..7fc3f51 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_01/alltypes_01.1.ddl.aql
@@ -4,7 +4,7 @@
 use dataverse test;
 
 create type AddressType as open {
-  number: int32, 
+  number: int32,
   street: string,
   city: string
 }
@@ -26,9 +26,8 @@
   location3d: point3d,
   line: line,
   polygon: polygon,
-  circle: circle
-
-  // binary
+  circle: circle,
+  binary: binary
   // union
 }
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.1.ddl.aql
index 8e27049..984b0d2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/scan/alltypes_02/alltypes_02.1.ddl.aql
@@ -11,7 +11,7 @@
 use dataverse test;
 
 create type AddressType as open {
-  number: int32, 
+  number: int32,
   street: string,
   city: string
 }
@@ -33,9 +33,8 @@
   location3d: point3d,
   line: line,
   polygon: polygon,
-  circle: circle
-
-  // binary
+  circle: circle,
+  binary: binary
   // union
 }
 
diff --git a/asterix-app/src/test/resources/runtimets/results/binary/concat/concat.1.adm b/asterix-app/src/test/resources/runtimets/results/binary/concat/concat.1.adm
new file mode 100644
index 0000000..ffa48cf
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/binary/concat/concat.1.adm
@@ -0,0 +1,2 @@
+[ [ true, true, null, null, null, null ]
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/binary/equal_join/equal_join.1.adm b/asterix-app/src/test/resources/runtimets/results/binary/equal_join/equal_join.1.adm
new file mode 100644
index 0000000..8b60089
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/binary/equal_join/equal_join.1.adm
@@ -0,0 +1,11 @@
+[ { "cid": 1, "oid": 1 }
+, { "cid": 2, "oid": 2 }
+, { "cid": 3, "oid": 3 }
+, { "cid": 4, "oid": 4 }
+, { "cid": 5, "oid": 5 }
+, { "cid": 6, "oid": 6 }
+, { "cid": 7, "oid": 7 }
+, { "cid": 8, "oid": 8 }
+, { "cid": 9, "oid": 9 }
+, { "cid": 10, "oid": 10 }
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/binary/find/find.1.adm b/asterix-app/src/test/resources/runtimets/results/binary/find/find.1.adm
new file mode 100644
index 0000000..9e639d6
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/binary/find/find.1.adm
@@ -0,0 +1,2 @@
+[ [ true, null, null, null ]
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/binary/index_join/index_join.1.adm b/asterix-app/src/test/resources/runtimets/results/binary/index_join/index_join.1.adm
new file mode 100644
index 0000000..8b60089
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/binary/index_join/index_join.1.adm
@@ -0,0 +1,11 @@
+[ { "cid": 1, "oid": 1 }
+, { "cid": 2, "oid": 2 }
+, { "cid": 3, "oid": 3 }
+, { "cid": 4, "oid": 4 }
+, { "cid": 5, "oid": 5 }
+, { "cid": 6, "oid": 6 }
+, { "cid": 7, "oid": 7 }
+, { "cid": 8, "oid": 8 }
+, { "cid": 9, "oid": 9 }
+, { "cid": 10, "oid": 10 }
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/binary/insert/insert.1.adm b/asterix-app/src/test/resources/runtimets/results/binary/insert/insert.1.adm
new file mode 100644
index 0000000..cbf9654
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/binary/insert/insert.1.adm
@@ -0,0 +1,36 @@
+[ { "id": 1, "name": "Ronny   Feeney", "md5": hex("34126A9A8C6E8EA118216C7B1048DDA0")
+, { "id": 2, "name": "Adolph  Abraham", "md5": hex("46B199C4C7FA55085EEA0FACD6A3C3B8")
+, { "id": 3, "name": "Odelia  Orosco", "md5": hex("4A0450FE08C5421BB342F36E26C67A61")
+, { "id": 4, "name": "Jasper  Villarreal", "md5": hex("173D7751E6FA210B9494503247045C9E")
+, { "id": 5, "name": "Florencio   Forbes", "md5": hex("96892C30078964B56082FD00573673E4")
+, { "id": 6, "name": "Violette    Maes", "md5": hex("F998BD34CFBE9B742C62E0AA9D06C977")
+, { "id": 7, "name": "Jenae   Marble", "md5": hex("204D482BC66E368B72A85E0691804626")
+, { "id": 8, "name": "Chase   Harness", "md5": hex("3BDE012CC94CE1BDB44ADE4E38902072")
+, { "id": 9, "name": "Nia Luster", "md5": hex("BB6842CE561AC90E75B033821B34F2BD")
+, { "id": 10, "name": "Joye    Langdon", "md5": hex("881B39C29A960774F53D31762684ABCC")
+, { "id": 11, "name": "Tennie  Mcfall", "md5": hex("68F4F0355CDE1B6C1746755BE9559030")
+, { "id": 12, "name": "Tennie  Margarete   Hutcherson", "md5": hex("885F2930E80AE8E985BEB9D2AFC60E66")
+, { "id": 13, "name": "Alexa   Hess", "md5": hex("DA3A3AA357F469C2EEF30E636A67366A")
+, { "id": 14, "name": "Afton   Smiley", "md5": hex("AA24B12619D1723817E0AAE507DC5D16")
+, { "id": 15, "name": "Tamela  Wilkes", "md5": hex("0BDFECEE101F739D708169A3D7BF692D")
+, { "id": 16, "name": "Thaddeus    Hightower", "md5": hex("1C5631B1E0023366DBAAC5CAB125A507")
+, { "id": 17, "name": "Carmelita   Jarvis", "md5": hex("B8862E8F77173A39B55A36BA0F0D44C6")
+, { "id": 18, "name": "Vanetta Chacon", "md5": hex("B0D3E7D02EF3BEE600FDBD2B688F9CF5")
+, { "id": 19, "name": "Alline  Giron", "md5": hex("6C718CB3708992F7A482619348011ABF")
+, { "id": 20, "name": "Louis   Roche", "md5": hex("D64F30701A822EBE9F8A25B66C264E88")
+, { "id": 21, "name": "Rachal  Chavis", "md5": hex("B412F8294BDDAF083D86D2B650BCC75F")
+, { "id": 22, "name": "Cedrick Herman", "md5": hex("23C34AC38626E0B0F3717C7347DD2EC5")
+, { "id": 23, "name": "Latrisha    Walling", "md5": hex("57AF6780C9B51BD783412EA4520DAC2A")
+, { "id": 24, "name": "Neda    Earle", "md5": hex("CA312D57FD3365B10448F5008AE2F555")
+, { "id": 25, "name": "Tamekia Connelly", "md5": hex("6B5FD221EF1FB9D41D105F7B6206494B")
+, { "id": 30, "name": "Trang   Fortenberry", "md5": hex("0A6EBF67522BED580F3E4779DC60EF29")
+, { "id": 31, "name": "Ria Ellsworth", "md5": hex("3AF7C2AC759FD3F3C89DCCCDC5F4B5DF")
+, { "id": 32, "name": "Virgina Baine", "md5": hex("C63C87C07CE7CCF9AA1D6714BE537C64")
+, { "id": 33, "name": "Maryam  Runyan", "md5": hex("FDE31A65DE79AC40D986E4DECD4DE52D")
+, { "id": 34, "name": "Harland Slone", "md5": hex("9C779A36C8A0DD83D1CBD6811A36E837")
+, { "id": 35, "name": "Pearle  Whitley", "md5": hex("D5F7B64F8E1EA21F888A7213273F437C")
+, { "id": 36, "name": "Sulema  Gillis", "md5": hex("5C666E65939E007777DD373D5F54AE1F")
+, { "id": 37, "name": "Graig   Brubaker", "md5": hex("E405CB11CCA4371F543AC3D0FBBE6D7B")
+, { "id": 38, "name": "Damaris Durden", "md5": hex("3FB470EC2894A7205C5446978927459A")
+, { "id": 39, "name": "Eldora  Leighton", "md5": hex("911CDF4749F6BB6057C096CE12E308C3")
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/binary/length/length.1.adm b/asterix-app/src/test/resources/runtimets/results/binary/length/length.1.adm
new file mode 100644
index 0000000..b37088f
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/binary/length/length.1.adm
@@ -0,0 +1,2 @@
+[ { "result1": 2, "result2": 0, "result3": null }
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/binary/parse/parse.1.adm b/asterix-app/src/test/resources/runtimets/results/binary/parse/parse.1.adm
new file mode 100644
index 0000000..1ffc2a7
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/binary/parse/parse.1.adm
@@ -0,0 +1,2 @@
+[ [ hex("ABCDEF0123456789"), hex("ABCDEF0123456789"), hex("0A0B0C0D0E0F"), hex("01020304050607080900"), hex(""), hex("D35DB7E39EBBF3DAB07ABB72BA2A296AC75F8218E4973C5CBDB9E64161114D850838F2CA2471850D20195C254134CFBF"), hex(""), hex("41737465726978"), hex("4173746572697801"), hex("41737465726978013C") ]
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/binary/print/print.1.adm b/asterix-app/src/test/resources/runtimets/results/binary/print/print.1.adm
new file mode 100644
index 0000000..0b9f378
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/binary/print/print.1.adm
@@ -0,0 +1,2 @@
+[ { "hex": [ true, true, true, true ], "base64": [ true, true, true, true ] }
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/binary/subbinary/subbinary.1.adm b/asterix-app/src/test/resources/runtimets/results/binary/subbinary/subbinary.1.adm
new file mode 100644
index 0000000..975a5f0
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/binary/subbinary/subbinary.1.adm
@@ -0,0 +1,2 @@
+[ true
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/comparison/binary/binary.1.adm b/asterix-app/src/test/resources/runtimets/results/comparison/binary/binary.1.adm
new file mode 100644
index 0000000..3961032
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/comparison/binary/binary.1.adm
@@ -0,0 +1,2 @@
+[ [ false, false, true, true, false, true, false, false, true, true, false, true, true, true, false, false ]
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/comparison/binary_null/binary_null.1.adm b/asterix-app/src/test/resources/runtimets/results/comparison/binary_null/binary_null.1.adm
new file mode 100644
index 0000000..3e9f513
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/comparison/binary_null/binary_null.1.adm
@@ -0,0 +1,2 @@
+[ { "result1": null, "result2": null, "result3": null, "result4": null, "result5": null, "result6": null }
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/constructor/binary_01/binary_01.1.adm b/asterix-app/src/test/resources/runtimets/results/constructor/binary_01/binary_01.1.adm
new file mode 100644
index 0000000..1ffc2a7
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/constructor/binary_01/binary_01.1.adm
@@ -0,0 +1,2 @@
+[ [ hex("ABCDEF0123456789"), hex("ABCDEF0123456789"), hex("0A0B0C0D0E0F"), hex("01020304050607080900"), hex(""), hex("D35DB7E39EBBF3DAB07ABB72BA2A296AC75F8218E4973C5CBDB9E64161114D850838F2CA2471850D20195C254134CFBF"), hex(""), hex("41737465726978"), hex("4173746572697801"), hex("41737465726978013C") ]
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/load/adm_binary/adm_binary.1.adm b/asterix-app/src/test/resources/runtimets/results/load/adm_binary/adm_binary.1.adm
new file mode 100644
index 0000000..d1dc251
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/load/adm_binary/adm_binary.1.adm
@@ -0,0 +1,2 @@
+[ { "ba": hex("ABCDEF0123456789"), "bb": hex("ABCDEF0123456789"), "bc": hex("0A0B0C0D0E0F"), "bd": hex("01020304050607080900"), "bx": hex("ABCDEF0123456789"), "by": hex("ABCDEF0123456789"), "bz": hex("0A0B0C0D0E0F"), "bw": hex("01020304050607080900") }
+ ]
diff --git a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01/alltypes_01.1.adm b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01/alltypes_01.1.adm
index a7e77fc..6d9f6e9 100644
--- a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01/alltypes_01.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_01/alltypes_01.1.adm
@@ -1,2 +1,2 @@
-[ { "id": 10, "name": "Nancy", "age": 32.5f, "salary": 12.0d, "married": true, "interests": {{ "reading", "writing" }}, "children": [ "Brad", "Scott" ], "address": { "number": 8389, "street": "Hill St.", "city": "Mountain View" }, "dob": date("-2011-01-27"), "time": time("12:20:30.000Z"), "datetime": datetime("-1951-12-27T12:20:30.000Z"), "duration": duration("P10Y11M12DT10H50M30S"), "location2d": point("41.0,44.0"), "location3d": point3d("44.0,13.0,41.0"), "line": line("10.1,11.1 10.2,11.2"), "polygon": polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "circle": circle("10.1,11.1 10.2") }
+[ { "id": 10, "name": "Nancy", "age": 32.5f, "salary": 12.0d, "married": true, "interests": {{ "reading", "writing" }}, "children": [ "Brad", "Scott" ], "address": { "number": 8389, "street": "Hill St.", "city": "Mountain View" }, "dob": date("-2011-01-27"), "time": time("12:20:30.000Z"), "datetime": datetime("-1951-12-27T12:20:30.000Z"), "duration": duration("P10Y11M12DT10H50M30S"), "location2d": point("41.0,44.0"), "location3d": point3d("44.0,13.0,41.0"), "line": line("10.1,11.1 10.2,11.2"), "polygon": polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "circle": circle("10.1,11.1 10.2"), "binary": hex("ABCDEF0123456789") }
  ]
diff --git a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_02/alltypes_02.1.adm b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_02/alltypes_02.1.adm
index a7e77fc..6d9f6e9 100644
--- a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_02/alltypes_02.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_02/alltypes_02.1.adm
@@ -1,2 +1,2 @@
-[ { "id": 10, "name": "Nancy", "age": 32.5f, "salary": 12.0d, "married": true, "interests": {{ "reading", "writing" }}, "children": [ "Brad", "Scott" ], "address": { "number": 8389, "street": "Hill St.", "city": "Mountain View" }, "dob": date("-2011-01-27"), "time": time("12:20:30.000Z"), "datetime": datetime("-1951-12-27T12:20:30.000Z"), "duration": duration("P10Y11M12DT10H50M30S"), "location2d": point("41.0,44.0"), "location3d": point3d("44.0,13.0,41.0"), "line": line("10.1,11.1 10.2,11.2"), "polygon": polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "circle": circle("10.1,11.1 10.2") }
+[ { "id": 10, "name": "Nancy", "age": 32.5f, "salary": 12.0d, "married": true, "interests": {{ "reading", "writing" }}, "children": [ "Brad", "Scott" ], "address": { "number": 8389, "street": "Hill St.", "city": "Mountain View" }, "dob": date("-2011-01-27"), "time": time("12:20:30.000Z"), "datetime": datetime("-1951-12-27T12:20:30.000Z"), "duration": duration("P10Y11M12DT10H50M30S"), "location2d": point("41.0,44.0"), "location3d": point3d("44.0,13.0,41.0"), "line": line("10.1,11.1 10.2,11.2"), "polygon": polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "circle": circle("10.1,11.1 10.2"), "binary": hex("ABCDEF0123456789") }
  ]
diff --git a/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterix-app/src/test/resources/runtimets/testsuite.xml
index 2dfd991..6494ac2 100644
--- a/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -12,241 +12,242 @@
  ! See the License for the specific language governing permissions and
  ! limitations under the License.
  !-->
-<test-suite xmlns="urn:xml.testframework.asterix.ics.uci.edu" ResultOffsetPath="results" QueryOffsetPath="queries" QueryFileExtension=".aql">
-  <test-group name="flwor">
+<test-suite xmlns="urn:xml.testframework.asterix.ics.uci.edu" ResultOffsetPath="results" QueryOffsetPath="queries"
+            QueryFileExtension=".aql">
+    <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="query-issue550">
+                <output-dir compare="Text">query-issue550</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
     <test-case FilePath="flwor">
-      <compilation-unit name="at00">
-        <output-dir compare="Text">at00</output-dir>
-      </compilation-unit>
+        <compilation-unit name="let33">
+            <output-dir compare="Text">let33</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="query-issue550">
-        <output-dir compare="Text">query-issue550</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-case FilePath="flwor">
-      <compilation-unit name="let33">
-        <output-dir compare="Text">let33</output-dir>
-      </compilation-unit>
-    </test-case>
-  <test-group name="aggregate">
-    <test-case FilePath="aggregate">
-      <compilation-unit name="issue531_string_min_max">
-        <output-dir compare="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">
-      <compilation-unit name="avg_mixed">
-        <output-dir compare="Text">avg_mixed</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_mixed">
-        <output-dir compare="Text">sum_mixed</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="min_mixed">
-        <output-dir compare="Text">min_mixed</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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="issue425_sum_hetero_list_1">
-        <output-dir compare="Text">issue425_sum_hetero_list_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="issue425_sum_hetero_list">
-        <output-dir compare="Text">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="count_01">
-        <output-dir compare="Text">count_01</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-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">
+            <compilation-unit name="avg_mixed">
+                <output-dir compare="Text">avg_mixed</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_mixed">
+                <output-dir compare="Text">sum_mixed</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="min_mixed">
+                <output-dir compare="Text">min_mixed</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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="issue425_sum_hetero_list_1">
+                <output-dir compare="Text">issue425_sum_hetero_list_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="issue425_sum_hetero_list">
+                <output-dir compare="Text">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="count_01">
+                <output-dir compare="Text">count_01</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="droptype">
         <output-dir compare="Text">droptype</output-dir>
       </compilation-unit>
     </test-case>
     -->
-    <!-- TODO(madhusudancs): These tests that test for local_<agg>/global_<agg> functions should be removed, but
+        <!-- TODO(madhusudancs): These tests that test for local_<agg>/global_<agg> functions should be removed, but
     before that we should modify the code to make sure those built-in functions are still defined but not exposed
     by AQL, so leaving these test cases commented.
     <test-case FilePath="aggregate">
@@ -320,1345 +321,1361 @@
       </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="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="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_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_sum">
-        <output-dir compare="Text">scalar_sum</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_sum_empty">
-        <output-dir compare="Text">scalar_sum_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="scalar_sum_null">
-        <output-dir compare="Text">scalar_sum_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_double">
-        <output-dir compare="Text">sum_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_double_null">
-        <output-dir compare="Text">sum_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_empty_01">
-        <output-dir compare="Text">sum_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_empty_02">
-        <output-dir compare="Text">sum_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_float">
-        <output-dir compare="Text">sum_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_float_null">
-        <output-dir compare="Text">sum_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_int16">
-        <output-dir compare="Text">sum_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_int16_null">
-        <output-dir compare="Text">sum_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_int32">
-        <output-dir compare="Text">sum_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_int32_null">
-        <output-dir compare="Text">sum_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_int64">
-        <output-dir compare="Text">sum_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_int64_null">
-        <output-dir compare="Text">sum_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_int8">
-        <output-dir compare="Text">sum_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_int8_null">
-        <output-dir compare="Text">sum_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_null-with-pred">
-        <output-dir compare="Text">sum_null-with-pred</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate">
-      <compilation-unit name="sum_numeric_null">
-        <output-dir compare="Text">sum_numeric_null</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="aggregate-sql">
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="issue531_string_min_max">
-        <output-dir compare="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">
-      <compilation-unit name="avg_mixed">
-        <output-dir compare="Text">avg_mixed</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_mixed">
-        <output-dir compare="Text">sum_mixed</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="min_mixed">
-        <output-dir compare="Text">min_mixed</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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="issue425_sum_hetero_list_1">
-        <output-dir compare="Text">issue425_sum_hetero_list_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="issue425_sum_hetero_list">
-        <output-dir compare="Text">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="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="count_01">
-        <output-dir compare="Text">count_01</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="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="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="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_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_sum">
-        <output-dir compare="Text">scalar_sum</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_sum_empty">
-        <output-dir compare="Text">scalar_sum_empty</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="scalar_sum_null">
-        <output-dir compare="Text">scalar_sum_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_double">
-        <output-dir compare="Text">sum_double</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_double_null">
-        <output-dir compare="Text">sum_double_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_empty_01">
-        <output-dir compare="Text">sum_empty_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_empty_02">
-        <output-dir compare="Text">sum_empty_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_float">
-        <output-dir compare="Text">sum_float</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_float_null">
-        <output-dir compare="Text">sum_float_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_int16">
-        <output-dir compare="Text">sum_int16</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_int16_null">
-        <output-dir compare="Text">sum_int16_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_int32">
-        <output-dir compare="Text">sum_int32</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_int32_null">
-        <output-dir compare="Text">sum_int32_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_int64">
-        <output-dir compare="Text">sum_int64</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_int64_null">
-        <output-dir compare="Text">sum_int64_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_int8">
-        <output-dir compare="Text">sum_int8</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_int8_null">
-        <output-dir compare="Text">sum_int8_null</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_null-with-pred">
-        <output-dir compare="Text">sum_null-with-pred</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="aggregate-sql">
-      <compilation-unit name="sum_numeric_null">
-        <output-dir compare="Text">sum_numeric_null</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="boolean">
-    <test-case FilePath="boolean">
-      <compilation-unit name="and_01">
-        <output-dir compare="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="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_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_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_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="int16">
-        <output-dir compare="Text">int16</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_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_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_null">
-        <output-dir compare="Text">int8_null</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="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="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="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_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_sum">
+                <output-dir compare="Text">scalar_sum</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_sum_empty">
+                <output-dir compare="Text">scalar_sum_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="scalar_sum_null">
+                <output-dir compare="Text">scalar_sum_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_double">
+                <output-dir compare="Text">sum_double</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_double_null">
+                <output-dir compare="Text">sum_double_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_empty_01">
+                <output-dir compare="Text">sum_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_empty_02">
+                <output-dir compare="Text">sum_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_float">
+                <output-dir compare="Text">sum_float</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_float_null">
+                <output-dir compare="Text">sum_float_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int16">
+                <output-dir compare="Text">sum_int16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int16_null">
+                <output-dir compare="Text">sum_int16_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int32">
+                <output-dir compare="Text">sum_int32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int32_null">
+                <output-dir compare="Text">sum_int32_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int64">
+                <output-dir compare="Text">sum_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int64_null">
+                <output-dir compare="Text">sum_int64_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int8">
+                <output-dir compare="Text">sum_int8</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_int8_null">
+                <output-dir compare="Text">sum_int8_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_null-with-pred">
+                <output-dir compare="Text">sum_null-with-pred</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate">
+            <compilation-unit name="sum_numeric_null">
+                <output-dir compare="Text">sum_numeric_null</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="aggregate-sql">
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="issue531_string_min_max">
+                <output-dir compare="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">
+            <compilation-unit name="avg_mixed">
+                <output-dir compare="Text">avg_mixed</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_mixed">
+                <output-dir compare="Text">sum_mixed</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="min_mixed">
+                <output-dir compare="Text">min_mixed</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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="issue425_sum_hetero_list_1">
+                <output-dir compare="Text">issue425_sum_hetero_list_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="issue425_sum_hetero_list">
+                <output-dir compare="Text">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="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="count_01">
+                <output-dir compare="Text">count_01</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="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="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="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_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_sum">
+                <output-dir compare="Text">scalar_sum</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_sum_empty">
+                <output-dir compare="Text">scalar_sum_empty</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="scalar_sum_null">
+                <output-dir compare="Text">scalar_sum_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_double">
+                <output-dir compare="Text">sum_double</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_double_null">
+                <output-dir compare="Text">sum_double_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_empty_01">
+                <output-dir compare="Text">sum_empty_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_empty_02">
+                <output-dir compare="Text">sum_empty_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_float">
+                <output-dir compare="Text">sum_float</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_float_null">
+                <output-dir compare="Text">sum_float_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int16">
+                <output-dir compare="Text">sum_int16</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int16_null">
+                <output-dir compare="Text">sum_int16_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int32">
+                <output-dir compare="Text">sum_int32</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int32_null">
+                <output-dir compare="Text">sum_int32_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int64">
+                <output-dir compare="Text">sum_int64</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int64_null">
+                <output-dir compare="Text">sum_int64_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int8">
+                <output-dir compare="Text">sum_int8</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_int8_null">
+                <output-dir compare="Text">sum_int8_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_null-with-pred">
+                <output-dir compare="Text">sum_null-with-pred</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="aggregate-sql">
+            <compilation-unit name="sum_numeric_null">
+                <output-dir compare="Text">sum_numeric_null</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="boolean">
+        <test-case FilePath="boolean">
+            <compilation-unit name="and_01">
+                <output-dir compare="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="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_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_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_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="int16">
+                <output-dir compare="Text">int16</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_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_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_null">
+                <output-dir compare="Text">int8_null</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="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_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>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_interval">
-        <output-dir compare="Text">issue363_inequality_interval</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_point">
-        <output-dir compare="Text">issue363_inequality_point</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_line">
-        <output-dir compare="Text">issue363_inequality_line</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_polygon">
-        <output-dir compare="Text">issue363_inequality_polygon</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_rectangle">
-        <output-dir compare="Text">issue363_inequality_rectangle</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="comparison">
-      <compilation-unit name="issue363_inequality_circle">
-        <output-dir compare="Text">issue363_inequality_circle</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="constructor">
-    <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">
-      <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">
-      <compilation-unit name="datetime_01">
-        <output-dir compare="Text">datetime_01</output-dir>
-      </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">
-      <compilation-unit name="duration_01">
-        <output-dir compare="Text">duration_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="constructor">
-      <compilation-unit name="duration_02">
-        <output-dir compare="Text">duration_02</output-dir>
-      </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">
-      <compilation-unit name="int_01">
-        <output-dir compare="Text">int_01</output-dir>
-      </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">
-      <compilation-unit name="time_01">
-        <output-dir compare="Text">time_01</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="custord">
-    <!--
+        <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_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>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_interval">
+                <output-dir compare="Text">issue363_inequality_interval</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_point">
+                <output-dir compare="Text">issue363_inequality_point</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_line">
+                <output-dir compare="Text">issue363_inequality_line</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_polygon">
+                <output-dir compare="Text">issue363_inequality_polygon</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_rectangle">
+                <output-dir compare="Text">issue363_inequality_rectangle</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="comparison">
+            <compilation-unit name="issue363_inequality_circle">
+                <output-dir compare="Text">issue363_inequality_circle</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </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-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">
+            <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">
+            <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">
+            <compilation-unit name="datetime_01">
+                <output-dir compare="Text">datetime_01</output-dir>
+            </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">
+            <compilation-unit name="duration_01">
+                <output-dir compare="Text">duration_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="constructor">
+            <compilation-unit name="duration_02">
+                <output-dir compare="Text">duration_02</output-dir>
+            </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">
+            <compilation-unit name="int_01">
+                <output-dir compare="Text">int_01</output-dir>
+            </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">
+            <compilation-unit name="time_01">
+                <output-dir compare="Text">time_01</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="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_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="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="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="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="q3">
         <output-dir compare="Text">q3</output-dir>
       </compilation-unit>
     </test-case>
     -->
-  </test-group>
-  <test-group name="dml">
-      <test-case FilePath="dml">
-      <compilation-unit name="compact-dataset-and-its-indexes">
-        <output-dir compare="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-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-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="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-duplicated-keys">
-        <output-dir compare="Text">insert-duplicated-keys</output-dir>
-        <expected-error>edu.uci.ics.hyracks.storage.am.common.exceptions.TreeIndexDuplicateKeyException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="dml">
-      <compilation-unit name="insert_less_nc">
-        <output-dir compare="Text">insert_less_nc</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
+    </test-group>
+    <test-group name="dml">
+        <test-case FilePath="dml">
+            <compilation-unit name="compact-dataset-and-its-indexes">
+                <output-dir compare="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-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-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="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-duplicated-keys">
+                <output-dir compare="Text">insert-duplicated-keys</output-dir>
+                <expected-error>edu.uci.ics.hyracks.storage.am.common.exceptions.TreeIndexDuplicateKeyException
+                </expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="dml">
+            <compilation-unit name="insert_less_nc">
+                <output-dir compare="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="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>edu.uci.ics.asterix.runtime.operators.file.ADMDataParser.ParseException</expected-error>
-      </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>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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-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-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-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-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-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-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-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-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-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-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-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="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="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>edu.uci.ics.asterix.runtime.operators.file.ADMDataParser.ParseException</expected-error>
+            </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>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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-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-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-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-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-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-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-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-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-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-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-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="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="q1_pricing_summary_report_failure">
         <output-dir compare="Text">q1_pricing_summary_report_failure</output-dir>
       </compilation-unit>
     </test-case>
     -->
-  </test-group>
-  <!--
+    </test-group>
+    <!--
   <test-group name="flwor">
     <test-case FilePath="flwor">
       <compilation-unit name="for01">
@@ -2082,3053 +2099,3058 @@
     </test-case>
   </test-group>
   -->
-  <test-group name="fuzzyjoin">
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-1_1">
-        <output-dir compare="Text">dblp-1_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-1_2.1.1">
-        <output-dir compare="Text">dblp-1_2.1.1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-1_2.1">
-        <output-dir compare="Text">dblp-1_2.1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-1_2">
-        <output-dir compare="Text">dblp-1_2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-2.1_5.3.1">
-        <output-dir compare="Text">dblp-2.1_5.3.1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-2_1">
-        <output-dir compare="Text">dblp-2_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-2_2">
-        <output-dir compare="Text">dblp-2_2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-2.2">
-        <output-dir compare="Text">dblp-2.2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-2_3">
-        <output-dir compare="Text">dblp-2_3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-2_4">
-        <output-dir compare="Text">dblp-2_4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-2_5.1">
-        <output-dir compare="Text">dblp-2_5.1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-2_5.2">
-        <output-dir compare="Text">dblp-2_5.2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-2_5.3.1">
-        <output-dir compare="Text">dblp-2_5.3.1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-2_5.3">
-        <output-dir compare="Text">dblp-2_5.3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-2_5">
-        <output-dir compare="Text">dblp-2_5</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-3_1.1">
-        <output-dir compare="Text">dblp-3_1.1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-3_1.2">
-        <output-dir compare="Text">dblp-3_1.2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-3_1">
-        <output-dir compare="Text">dblp-3_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-aqlplus_1">
-        <output-dir compare="Text">dblp-aqlplus_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-aqlplus_2">
-        <output-dir compare="Text">dblp-aqlplus_2</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-2_1">
-        <output-dir compare="Text">dblp-csx-2_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-2_2">
-        <output-dir compare="Text">dblp-csx-2_2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-2_3">
-        <output-dir compare="Text">dblp-csx-2_3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-2_4">
-        <output-dir compare="Text">dblp-csx-2_4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-2_5.1">
-        <output-dir compare="Text">dblp-csx-2_5.1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-2_5.2">
-        <output-dir compare="Text">dblp-csx-2_5.2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-2_5.3.1">
-        <output-dir compare="Text">dblp-csx-2_5.3.1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-2_5.3">
-        <output-dir compare="Text">dblp-csx-2_5.3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-2_5">
-        <output-dir compare="Text">dblp-csx-2_5</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-3_1">
-        <output-dir compare="Text">dblp-csx-3_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-3_2">
-        <output-dir compare="Text">dblp-csx-3_2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-3_3">
-        <output-dir compare="Text">dblp-csx-3_3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-3_4">
-        <output-dir compare="Text">dblp-csx-3_4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-3_5.1">
-        <output-dir compare="Text">dblp-csx-3_5.1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-3_5.2">
-        <output-dir compare="Text">dblp-csx-3_5.2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-3_5.3.1">
-        <output-dir compare="Text">dblp-csx-3_5.3.1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-3_5.3">
-        <output-dir compare="Text">dblp-csx-3_5.3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-3_5.4.1">
-        <output-dir compare="Text">dblp-csx-3_5.4.1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-3_5.4">
-        <output-dir compare="Text">dblp-csx-3_5.4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-3_5">
-        <output-dir compare="Text">dblp-csx-3_5</output-dir>
-      </compilation-unit>
-    </test-case>
-    -->
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-aqlplus_1">
-        <output-dir compare="Text">dblp-csx-aqlplus_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-aqlplus_2">
-        <output-dir compare="Text">dblp-csx-aqlplus_2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-aqlplus_3">
-        <output-dir compare="Text">dblp-csx-aqlplus_3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-csx-dblp-aqlplus_1">
-        <output-dir compare="Text">dblp-csx-dblp-aqlplus_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="dblp-lookup_1">
-        <output-dir compare="Text">dblp-lookup_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--
+    <test-group name="fuzzyjoin">
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-1_1">
+                <output-dir compare="Text">dblp-1_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-1_2.1.1">
+                <output-dir compare="Text">dblp-1_2.1.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-1_2.1">
+                <output-dir compare="Text">dblp-1_2.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-1_2">
+                <output-dir compare="Text">dblp-1_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2.1_5.3.1">
+                <output-dir compare="Text">dblp-2.1_5.3.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_1">
+                <output-dir compare="Text">dblp-2_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_2">
+                <output-dir compare="Text">dblp-2_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2.2">
+                <output-dir compare="Text">dblp-2.2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_3">
+                <output-dir compare="Text">dblp-2_3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_4">
+                <output-dir compare="Text">dblp-2_4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_5.1">
+                <output-dir compare="Text">dblp-2_5.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_5.2">
+                <output-dir compare="Text">dblp-2_5.2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_5.3.1">
+                <output-dir compare="Text">dblp-2_5.3.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_5.3">
+                <output-dir compare="Text">dblp-2_5.3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-2_5">
+                <output-dir compare="Text">dblp-2_5</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-3_1.1">
+                <output-dir compare="Text">dblp-3_1.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-3_1.2">
+                <output-dir compare="Text">dblp-3_1.2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-3_1">
+                <output-dir compare="Text">dblp-3_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-aqlplus_1">
+                <output-dir compare="Text">dblp-aqlplus_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-aqlplus_2">
+                <output-dir compare="Text">dblp-aqlplus_2</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_1">
+                <output-dir compare="Text">dblp-csx-2_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_2">
+                <output-dir compare="Text">dblp-csx-2_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_3">
+                <output-dir compare="Text">dblp-csx-2_3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_4">
+                <output-dir compare="Text">dblp-csx-2_4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_5.1">
+                <output-dir compare="Text">dblp-csx-2_5.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_5.2">
+                <output-dir compare="Text">dblp-csx-2_5.2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_5.3.1">
+                <output-dir compare="Text">dblp-csx-2_5.3.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_5.3">
+                <output-dir compare="Text">dblp-csx-2_5.3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-2_5">
+                <output-dir compare="Text">dblp-csx-2_5</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_1">
+                <output-dir compare="Text">dblp-csx-3_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_2">
+                <output-dir compare="Text">dblp-csx-3_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_3">
+                <output-dir compare="Text">dblp-csx-3_3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_4">
+                <output-dir compare="Text">dblp-csx-3_4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.1">
+                <output-dir compare="Text">dblp-csx-3_5.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.2">
+                <output-dir compare="Text">dblp-csx-3_5.2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.3.1">
+                <output-dir compare="Text">dblp-csx-3_5.3.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.3">
+                <output-dir compare="Text">dblp-csx-3_5.3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.4.1">
+                <output-dir compare="Text">dblp-csx-3_5.4.1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5.4">
+                <output-dir compare="Text">dblp-csx-3_5.4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-3_5">
+                <output-dir compare="Text">dblp-csx-3_5</output-dir>
+            </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-aqlplus_1">
+                <output-dir compare="Text">dblp-csx-aqlplus_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-aqlplus_2">
+                <output-dir compare="Text">dblp-csx-aqlplus_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-aqlplus_3">
+                <output-dir compare="Text">dblp-csx-aqlplus_3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-csx-dblp-aqlplus_1">
+                <output-dir compare="Text">dblp-csx-dblp-aqlplus_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="dblp-lookup_1">
+                <output-dir compare="Text">dblp-lookup_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
     <test-case FilePath="fuzzyjoin">
       <compilation-unit name="dblp-splits-3_1">
         <output-dir compare="Text">dblp-splits-3_1</output-dir>
       </compilation-unit>
     </test-case>
     -->
-    <test-case FilePath="fuzzyjoin">
-      <compilation-unit name="opentype">
-        <output-dir compare="Text">opentype</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="index-join">
-    <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-secondary-equi-join">
-        <output-dir compare="Text">btree-secondary-equi-join</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-join">
-      <compilation-unit name="rtree-spatial-intersect-point">
-        <output-dir compare="Text">rtree-spatial-intersect-point</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="index-selection">
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-index-composite-key">
-        <output-dir compare="Text">btree-index-composite-key</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="index-selection">
-      <compilation-unit name="btree-index-composite-key-mixed-intervals">
-        <output-dir compare="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="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="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-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="disjunctive-predicate-1">
-        <output-dir compare="Text">disjunctive-predicate-1</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="inverted-index-join">
-    <test-case FilePath="inverted-index-join">
-      <compilation-unit name="ngram-edit-distance">
-        <output-dir compare="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-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="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="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="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="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="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-group>
-  <test-group name="misc">
-  <test-case FilePath="misc">
-      <compilation-unit name="partition-by-nonexistent-field">
-        <output-dir compare="Text">partition-by-nonexistent-field</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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="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="stable_sort">
-        <output-dir compare="Text">stable_sort</output-dir>
-      </compilation-unit>
-    </test-case>
-   <!--
+        <test-case FilePath="fuzzyjoin">
+            <compilation-unit name="opentype">
+                <output-dir compare="Text">opentype</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="index-join">
+        <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-secondary-equi-join">
+                <output-dir compare="Text">btree-secondary-equi-join</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-join">
+            <compilation-unit name="rtree-spatial-intersect-point">
+                <output-dir compare="Text">rtree-spatial-intersect-point</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="index-selection">
+        <test-case FilePath="index-selection">
+            <compilation-unit name="btree-index-composite-key">
+                <output-dir compare="Text">btree-index-composite-key</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="index-selection">
+            <compilation-unit name="btree-index-composite-key-mixed-intervals">
+                <output-dir compare="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="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="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-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="disjunctive-predicate-1">
+                <output-dir compare="Text">disjunctive-predicate-1</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="inverted-index-join">
+        <test-case FilePath="inverted-index-join">
+            <compilation-unit name="ngram-edit-distance">
+                <output-dir compare="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-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="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="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="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="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="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-group>
+    <test-group name="misc">
+        <test-case FilePath="misc">
+            <compilation-unit name="partition-by-nonexistent-field">
+                <output-dir compare="Text">partition-by-nonexistent-field</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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="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="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-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-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="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="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="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="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="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="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="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="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="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">
-        <output-dir compare="Text">query-issue355</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="open-closed">
-    <!--
+        <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-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-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="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="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="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="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="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="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="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="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="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">
+                <output-dir compare="Text">query-issue355</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="open-closed">
+        <!--
     <test-case FilePath="open-closed">
       <compilation-unit name="c2c-w-optional">
         <output-dir compare="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-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-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-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-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>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </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">
-        <output-dir compare="Text">query-issue442</output-dir>
-        <expected-error>edu.uci.ics.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>edu.uci.ics.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-group>
-  <test-group name="quantifiers">
-    <test-case FilePath="quantifiers">
-      <compilation-unit name="everysat_01">
-        <output-dir compare="Text">everysat_01</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>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </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">
+                <output-dir compare="Text">query-issue442</output-dir>
+                <expected-error>edu.uci.ics.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>edu.uci.ics.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-group>
+    <test-group name="quantifiers">
+        <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="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="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="records">
-    <test-case FilePath="records">
-      <compilation-unit name="closed-record-constructor_01">
-        <output-dir compare="Text">closed-record-constructor_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="records">
-      <compilation-unit name="closed-record-constructor_02">
-        <output-dir compare="Text">closed-record-constructor_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="records">
-      <compilation-unit name="closed-record-constructor_03">
-        <output-dir compare="Text">closed-record-constructor_03</output-dir>
-      </compilation-unit>
-    </test-case>
-    -->
-    <test-case FilePath="records">
-      <compilation-unit name="expFieldName">
-        <output-dir compare="Text">expFieldName</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="records">
-      <compilation-unit name="field-access-by-index_01">
-        <output-dir compare="Text">field-access-by-index_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="records">
-      <compilation-unit name="field-access-on-open-field">
-        <output-dir compare="Text">field-access-on-open-field</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="records">
-      <compilation-unit name="open-record-constructor_01">
-        <output-dir compare="Text">open-record-constructor_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="records">
-      <compilation-unit name="open-record-constructor_02">
-        <output-dir compare="Text">open-record-constructor_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="records">
-      <compilation-unit name="closed-closed-fieldname-conflict_issue173">
-        <output-dir compare="Text">closed-closed-fieldname-conflict_issue173</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-  <test-case FilePath="records">
-      <compilation-unit name="open-closed-fieldname-conflict_issue173">
-        <output-dir compare="Text">open-closed-fieldname-conflict_issue173</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="records">
-      <compilation-unit name="open-open-fieldname-conflict_issue173">
-        <output-dir compare="Text">open-open-fieldname-conflict_issue173</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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>
-    <test-case FilePath="scan">
-      <compilation-unit name="invalid-scan-syntax">
-        <output-dir compare="Text">invalid-scan-syntax</output-dir>
-        <expected-error>SyntaxError</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="scan">
-      <compilation-unit name="30">
-        <output-dir compare="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_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="quantifiers">
+            <compilation-unit name="somesat_06">
+                <output-dir compare="Text">somesat_06</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="records">
+        <test-case FilePath="records">
+            <compilation-unit name="closed-record-constructor_01">
+                <output-dir compare="Text">closed-record-constructor_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="closed-record-constructor_02">
+                <output-dir compare="Text">closed-record-constructor_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="closed-record-constructor_03">
+                <output-dir compare="Text">closed-record-constructor_03</output-dir>
+            </compilation-unit>
+        </test-case>
+        -->
+        <test-case FilePath="records">
+            <compilation-unit name="expFieldName">
+                <output-dir compare="Text">expFieldName</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="field-access-by-index_01">
+                <output-dir compare="Text">field-access-by-index_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="field-access-on-open-field">
+                <output-dir compare="Text">field-access-on-open-field</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="open-record-constructor_01">
+                <output-dir compare="Text">open-record-constructor_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="open-record-constructor_02">
+                <output-dir compare="Text">open-record-constructor_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="closed-closed-fieldname-conflict_issue173">
+                <output-dir compare="Text">closed-closed-fieldname-conflict_issue173</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="open-closed-fieldname-conflict_issue173">
+                <output-dir compare="Text">open-closed-fieldname-conflict_issue173</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="records">
+            <compilation-unit name="open-open-fieldname-conflict_issue173">
+                <output-dir compare="Text">open-open-fieldname-conflict_issue173</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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>
+        <test-case FilePath="scan">
+            <compilation-unit name="invalid-scan-syntax">
+                <output-dir compare="Text">invalid-scan-syntax</output-dir>
+                <expected-error>SyntaxError</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="scan">
+            <compilation-unit name="30">
+                <output-dir compare="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_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_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="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="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-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_01">
-        <output-dir compare="Text">concat_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="concat_02">
-        <output-dir compare="Text">concat_02</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="end-with1">
-        <output-dir compare="Text">end-with1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="end-with2">
-        <output-dir compare="Text">end-with2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="end-with3">
-        <output-dir compare="Text">end-with3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="end-with4">
-        <output-dir compare="Text">end-with4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="end-with5">
-        <output-dir compare="Text">end-with5</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="ends-with_01">
-        <output-dir compare="Text">ends-with_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="endwith02">
-        <output-dir compare="Text">endwith02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="endwith03">
-        <output-dir compare="Text">endwith03</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="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="like_01">
-        <output-dir compare="Text">like_01</output-dir>
-      </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="replace1">
-        <output-dir compare="Text">replace1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="replace2">
-        <output-dir compare="Text">replace2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="replace21">
-        <output-dir compare="Text">replace21</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="replace22">
-        <output-dir compare="Text">replace22</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="replace3">
-        <output-dir compare="Text">replace3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="start-with1">
-        <output-dir compare="Text">start-with1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="start-with2">
-        <output-dir compare="Text">start-with2</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="start-with3">
-        <output-dir compare="Text">start-with3</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="start-with4">
-        <output-dir compare="Text">start-with4</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="start-with5">
-        <output-dir compare="Text">start-with5</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="starts-with_01">
-        <output-dir compare="Text">starts-with_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="startwith02">
-        <output-dir compare="Text">startwith02</output-dir>
-      </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="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-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_01">
+                <output-dir compare="Text">concat_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="concat_02">
+                <output-dir compare="Text">concat_02</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="end-with1">
+                <output-dir compare="Text">end-with1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="end-with2">
+                <output-dir compare="Text">end-with2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="end-with3">
+                <output-dir compare="Text">end-with3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="end-with4">
+                <output-dir compare="Text">end-with4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="end-with5">
+                <output-dir compare="Text">end-with5</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="ends-with_01">
+                <output-dir compare="Text">ends-with_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="endwith02">
+                <output-dir compare="Text">endwith02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="endwith03">
+                <output-dir compare="Text">endwith03</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="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="like_01">
+                <output-dir compare="Text">like_01</output-dir>
+            </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="replace1">
+                <output-dir compare="Text">replace1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="replace2">
+                <output-dir compare="Text">replace2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="replace21">
+                <output-dir compare="Text">replace21</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="replace22">
+                <output-dir compare="Text">replace22</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="replace3">
+                <output-dir compare="Text">replace3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="start-with1">
+                <output-dir compare="Text">start-with1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="start-with2">
+                <output-dir compare="Text">start-with2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="start-with3">
+                <output-dir compare="Text">start-with3</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="start-with4">
+                <output-dir compare="Text">start-with4</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="start-with5">
+                <output-dir compare="Text">start-with5</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="starts-with_01">
+                <output-dir compare="Text">starts-with_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="startwith02">
+                <output-dir compare="Text">startwith02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--
     <test-case FilePath="string">
       <compilation-unit name="startwith03">
         <output-dir compare="Text">startwith03</output-dir>
       </compilation-unit>
     </test-case>
     -->
-    <test-case FilePath="string">
-      <compilation-unit name="strconcat01">
-        <output-dir compare="Text">strconcat01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="strconcat02">
-        <output-dir compare="Text">strconcat02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="string">
-      <compilation-unit name="string-concat1">
-        <output-dir compare="Text">string-concat1</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-join1">
-        <output-dir compare="Text">string-join1</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="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">
-        <output-dir compare="Text">substr01</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-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">
-        <output-dir compare="Text">substring2-1</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="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="uppercase">
-        <output-dir compare="Text">uppercase</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="subset-collection">
-    <test-case FilePath="subset-collection">
-      <compilation-unit name="01">
-        <output-dir compare="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="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="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="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-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="string">
+            <compilation-unit name="strconcat01">
+                <output-dir compare="Text">strconcat01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="strconcat02">
+                <output-dir compare="Text">strconcat02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="string">
+            <compilation-unit name="string-concat1">
+                <output-dir compare="Text">string-concat1</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-join1">
+                <output-dir compare="Text">string-join1</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="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">
+                <output-dir compare="Text">substr01</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-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">
+                <output-dir compare="Text">substring2-1</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="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="uppercase">
+                <output-dir compare="Text">uppercase</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="subset-collection">
+        <test-case FilePath="subset-collection">
+            <compilation-unit name="01">
+                <output-dir compare="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="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="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="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-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 RECORD.
+    </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 RECORD.
     <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-dv13">
-        <output-dir compare="Text">cross-dv13</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </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>
-    <test-case FilePath="cross-dataverse">
-      <compilation-unit name="cross-dv16">
-        <output-dir compare="Text">cross-dv16</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <!--NotImplementedException: No binary comparator factory implemented for type RECORD.
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-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-dv13">
+                <output-dir compare="Text">cross-dv13</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </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>
+        <test-case FilePath="cross-dataverse">
+            <compilation-unit name="cross-dv16">
+                <output-dir compare="Text">cross-dv16</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <!--NotImplementedException: No binary comparator factory implemented for type RECORD.
     <test-case FilePath="cross-dataverse">
       <compilation-unit name="cross-dv17">
         <output-dir compare="Text">cross-dv17</output-dir>
       </compilation-unit>
     </test-case>
     -->
-    <!--NotImplementedException: No binary comparator factory implemented for type RECORD.
+        <!--NotImplementedException: No binary comparator factory implemented for type RECORD.
     <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-group>
-  <test-group name="user-defined-functions">
-      <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>edu.uci.ics.asterix.common.exceptions.AsterixException</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>
-    <!-- causes NPE: Issue 200
+        <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-group>
+    <test-group name="user-defined-functions">
+        <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>edu.uci.ics.asterix.common.exceptions.AsterixException</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>
+        <!-- causes NPE: Issue 200
     <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>
-    <!-- Issue 166
+        <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>
+        <!-- Issue 166
     <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>
-    <!-- Issue 195
+        <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>
+        <!-- Issue 195
     <test-case FilePath="user-defined-functions">
       <compilation-unit name="udf24">
         <output-dir compare="Text">udf24</output-dir>
       </compilation-unit>
     </test-case>
     -->
-    <!-- Issue 218
+        <!-- Issue 218
     <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="udf26">
-        <output-dir compare="Text">udf26</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </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>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="udf30">
-        <output-dir compare="Text">udf30</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="user-defined-functions">
-      <compilation-unit name="invoke-private-function">
-        <output-dir compare="Text">invoke-private-function</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="load">
-    <test-case FilePath="load">
-      <compilation-unit name="csv_01">
-        <output-dir compare="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>
-        <expected-error>edu.uci.ics.hyracks.api.exceptions.HyracksDataException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_06">
-        <output-dir compare="Text">csv_06</output-dir>
-        <expected-error>edu.uci.ics.hyracks.api.exceptions.HyracksDataException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="csv_07">
-        <output-dir compare="Text">csv_07</output-dir>
-        <expected-error>edu.uci.ics.hyracks.api.exceptions.HyracksDataException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="issue14_query">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="issue315_query">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
-      </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>edu.uci.ics.asterix.common.exceptions.AsterixException</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">
-        <output-dir compare="Text">none</output-dir>
-        <expected-error>edu.uci.ics.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>edu.uci.ics.hyracks.api.exceptions.HyracksException</expected-error>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="load">
-      <compilation-unit name="issue610_adm_token_end_collection">
-        <output-dir compare="Text">issue610_adm_token_end_collection</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_6">
-        <output-dir compare="Text">issue_251_dataset_hint_6</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="hints">
-      <compilation-unit name="issue_251_dataset_hint_7">
-        <output-dir compare="Text">issue_251_dataset_hint_7</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="feeds">
-    <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_04">
-        <output-dir compare="Text">feeds_04</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="feeds_05">
-        <output-dir compare="Text">feeds_05</output-dir>
-      </compilation-unit>
-    </test-case>
-    <!--Disable it because of sporadic failures. Raman will re-enable it.
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf26">
+                <output-dir compare="Text">udf26</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </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>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="udf30">
+                <output-dir compare="Text">udf30</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</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>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="user-defined-functions">
+            <compilation-unit name="invoke-private-function">
+                <output-dir compare="Text">invoke-private-function</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="load">
+        <test-case FilePath="load">
+            <compilation-unit name="csv_01">
+                <output-dir compare="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>
+                <expected-error>edu.uci.ics.hyracks.api.exceptions.HyracksDataException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="csv_06">
+                <output-dir compare="Text">csv_06</output-dir>
+                <expected-error>edu.uci.ics.hyracks.api.exceptions.HyracksDataException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="csv_07">
+                <output-dir compare="Text">csv_07</output-dir>
+                <expected-error>edu.uci.ics.hyracks.api.exceptions.HyracksDataException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="issue14_query">
+                <output-dir compare="Text">none</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="issue315_query">
+                <output-dir compare="Text">none</output-dir>
+                <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
+            </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>edu.uci.ics.asterix.common.exceptions.AsterixException</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">
+                <output-dir compare="Text">none</output-dir>
+                <expected-error>edu.uci.ics.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>edu.uci.ics.hyracks.api.exceptions.HyracksException</expected-error>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="load">
+            <compilation-unit name="issue610_adm_token_end_collection">
+                <output-dir compare="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-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_6">
+                <output-dir compare="Text">issue_251_dataset_hint_6</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="hints">
+            <compilation-unit name="issue_251_dataset_hint_7">
+                <output-dir compare="Text">issue_251_dataset_hint_7</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="feeds">
+        <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_04">
+                <output-dir compare="Text">feeds_04</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="feeds">
+            <compilation-unit name="feeds_05">
+                <output-dir compare="Text">feeds_05</output-dir>
+            </compilation-unit>
+        </test-case>
+        <!--Disable it because of sporadic failures. Raman will re-enable it.
     <test-case FilePath="feeds">
       <compilation-unit name="feeds_06">
         <output-dir compare="Text">feeds_06</output-dir>
       </compilation-unit>
     </test-case>
     -->
-    <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="issue_230_feeds">
-        <output-dir compare="Text">issue_230_feeds</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="feeds">
-      <compilation-unit name="issue_711_feeds">
-        <output-dir compare="Text">issue_711_feeds</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="hdfs">
-    <test-case FilePath="hdfs">
-      <compilation-unit name="issue_245_hdfs">
-        <output-dir compare="Text">issue_245_hdfs</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="hdfs">
-      <compilation-unit name="hdfs_02">
-        <output-dir compare="Text">hdfs_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="hdfs">
-      <compilation-unit name="hdfs_03">
-        <output-dir compare="Text">hdfs_03</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="external-indexing">
-      <test-case FilePath="external-indexing">
-      <compilation-unit name="text-format">
-        <output-dir compare="Text">text-format</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="external-indexing">
-      <compilation-unit name="sequence-format">
-        <output-dir compare="Text">sequence-format</output-dir>
-      </compilation-unit>
-    </test-case>
-      <test-case FilePath="external-indexing">
-      <compilation-unit name="rc-format">
-        <output-dir compare="Text">rc-format</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="external-indexing">
-      <compilation-unit name="rtree-index">
-        <output-dir compare="Text">rtree-index</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="external-indexing">
-      <compilation-unit name="leftouterjoin">
-        <output-dir compare="Text">leftouterjoin</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="external-indexing">
-      <compilation-unit name="leftouterjoin-rtree">
-        <output-dir compare="Text">leftouterjoin-rtree</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="temporal">
-    <test-case FilePath="temporal">
-     <compilation-unit name="parse_02">
-        <output-dir compare="Text">parse_02</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="temporal">
-     <compilation-unit name="parse_01">
-        <output-dir compare="Text">parse_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="temporal">
-     <compilation-unit name="day_of_week_01">
-        <output-dir compare="Text">day_of_week_01</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="temporal">
-     <compilation-unit name="interval_bin">
-        <output-dir compare="Text">interval_bin</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="temporal">
-     <compilation-unit name="interval_bin_gby_0">
-        <output-dir compare="Text">interval_bin_gby_0</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="temporal">
-     <compilation-unit name="interval_bin_gby_1">
-        <output-dir compare="Text">interval_bin_gby_1</output-dir>
-      </compilation-unit>
-    </test-case>
-    <test-case FilePath="temporal">
-        <compilation-unit name="accessors">
-        <output-dir compare="Text">accessors</output-dir>
-      </compilation-unit>
-    </test-case>
-  <test-case FilePath="temporal">
-      <compilation-unit name="accessors_interval">
-        <output-dir compare="Text">accessors_interval</output-dir>
-      </compilation-unit>
-  </test-case>
-  <test-case FilePath="temporal">
-      <compilation-unit name="accessors_interval_null">
-        <output-dir compare="Text">accessors_interval_null</output-dir>
-      </compilation-unit>
-  </test-case>
-      <test-case FilePath="temporal">
-          <compilation-unit name="adjust_timezone">
-        <output-dir compare="Text">adjust_timezone</output-dir>
-      </compilation-unit>
-      </test-case>
-      <test-case FilePath="temporal">
-          <compilation-unit name="calendar_duration">
-        <output-dir compare="Text">calendar_duration</output-dir>
-      </compilation-unit>
-      </test-case>
-      <test-case FilePath="temporal">
-          <compilation-unit name="date_functions">
-        <output-dir compare="Text">date_functions</output-dir>
-      </compilation-unit>
-      </test-case>
-      <test-case FilePath="temporal">
-          <compilation-unit name="datetime_functions">
-        <output-dir compare="Text">datetime_functions</output-dir>
-      </compilation-unit>
-      </test-case>
+        <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="issue_230_feeds">
+                <output-dir compare="Text">issue_230_feeds</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="feeds">
+            <compilation-unit name="issue_711_feeds">
+                <output-dir compare="Text">issue_711_feeds</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="hdfs">
+        <test-case FilePath="hdfs">
+            <compilation-unit name="issue_245_hdfs">
+                <output-dir compare="Text">issue_245_hdfs</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="hdfs">
+            <compilation-unit name="hdfs_02">
+                <output-dir compare="Text">hdfs_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="hdfs">
+            <compilation-unit name="hdfs_03">
+                <output-dir compare="Text">hdfs_03</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="external-indexing">
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="text-format">
+                <output-dir compare="Text">text-format</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="sequence-format">
+                <output-dir compare="Text">sequence-format</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="rc-format">
+                <output-dir compare="Text">rc-format</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="rtree-index">
+                <output-dir compare="Text">rtree-index</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="leftouterjoin">
+                <output-dir compare="Text">leftouterjoin</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="external-indexing">
+            <compilation-unit name="leftouterjoin-rtree">
+                <output-dir compare="Text">leftouterjoin-rtree</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="temporal">
+        <test-case FilePath="temporal">
+            <compilation-unit name="parse_02">
+                <output-dir compare="Text">parse_02</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="parse_01">
+                <output-dir compare="Text">parse_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="day_of_week_01">
+                <output-dir compare="Text">day_of_week_01</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="interval_bin">
+                <output-dir compare="Text">interval_bin</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="interval_bin_gby_0">
+                <output-dir compare="Text">interval_bin_gby_0</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="interval_bin_gby_1">
+                <output-dir compare="Text">interval_bin_gby_1</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="accessors">
+                <output-dir compare="Text">accessors</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="accessors_interval">
+                <output-dir compare="Text">accessors_interval</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="accessors_interval_null">
+                <output-dir compare="Text">accessors_interval_null</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="adjust_timezone">
+                <output-dir compare="Text">adjust_timezone</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="calendar_duration">
+                <output-dir compare="Text">calendar_duration</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="date_functions">
+                <output-dir compare="Text">date_functions</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="datetime_functions">
+                <output-dir compare="Text">datetime_functions</output-dir>
+            </compilation-unit>
+        </test-case>
         <!--
        <test-case FilePath="temporal">
            <compilation-unit name="insert_from_delimited_ds">
@@ -5136,131 +5158,131 @@
            </compilation-unit>
       </test-case>
         -->
-      <test-case FilePath="temporal">
-          <compilation-unit name="insert_from_ext_ds">
-        <output-dir compare="Text">insert_from_ext_ds</output-dir>
-      </compilation-unit>
-      </test-case>
-   <test-case FilePath="temporal">
-    <compilation-unit name="insert_from_ext_ds_2">
-        <output-dir compare="Text">insert_from_ext_ds_2</output-dir>
-      </compilation-unit>
-   </test-case>
-      <test-case FilePath="temporal">
-          <compilation-unit name="interval_functions">
-        <output-dir compare="Text">interval_functions</output-dir>
-      </compilation-unit>
-      </test-case>
-      <test-case FilePath="temporal">
-          <compilation-unit name="time_functions">
-        <output-dir compare="Text">time_functions</output-dir>
-      </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="temporal">
-          <compilation-unit name="duration_comps">
-        <output-dir compare="Text">duration_comps</output-dir>
-      </compilation-unit>
-      </test-case>
-  </test-group>
-  <test-group name="leftouterjoin">
-    <test-case FilePath="leftouterjoin">
-      <compilation-unit name="query_issue658">
-        <output-dir compare="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-group>
+        <test-case FilePath="temporal">
+            <compilation-unit name="insert_from_ext_ds">
+                <output-dir compare="Text">insert_from_ext_ds</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="insert_from_ext_ds_2">
+                <output-dir compare="Text">insert_from_ext_ds_2</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="interval_functions">
+                <output-dir compare="Text">interval_functions</output-dir>
+            </compilation-unit>
+        </test-case>
+        <test-case FilePath="temporal">
+            <compilation-unit name="time_functions">
+                <output-dir compare="Text">time_functions</output-dir>
+            </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="temporal">
+            <compilation-unit name="duration_comps">
+                <output-dir compare="Text">duration_comps</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="leftouterjoin">
+        <test-case FilePath="leftouterjoin">
+            <compilation-unit name="query_issue658">
+                <output-dir compare="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-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-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-group>
-  <test-group name="distinct">
-      <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="tinysocial">
-    <test-case FilePath="tinysocial">
-      <compilation-unit name="tinysocial-suite">
-        <output-dir compare="Text">tinysocial-suite</output-dir>
-      </compilation-unit>
-    </test-case>
-  </test-group>
-  <test-group name="types">
-    <test-case FilePath="types">
-      <compilation-unit name="record01">
-        <output-dir compare="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-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">
+        <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-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-group>
+    <test-group name="distinct">
+        <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="tinysocial">
+        <test-case FilePath="tinysocial">
+            <compilation-unit name="tinysocial-suite">
+                <output-dir compare="Text">tinysocial-suite</output-dir>
+            </compilation-unit>
+        </test-case>
+    </test-group>
+    <test-group name="types">
+        <test-case FilePath="types">
+            <compilation-unit name="record01">
+                <output-dir compare="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-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>
@@ -5323,4 +5345,58 @@
             </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="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-suite>
diff --git a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/adapter/factory/StreamBasedAdapterFactory.java b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/adapter/factory/StreamBasedAdapterFactory.java
index 6fed446..8daa7d0 100644
--- a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/adapter/factory/StreamBasedAdapterFactory.java
+++ b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/adapter/factory/StreamBasedAdapterFactory.java
@@ -71,6 +71,7 @@
     protected List<ExternalFile> files;
 
     protected static final HashMap<ATypeTag, IValueParserFactory> typeToValueParserFactMap = new HashMap<ATypeTag, IValueParserFactory>();
+
     static {
         typeToValueParserFactMap.put(ATypeTag.INT32, IntegerParserFactory.INSTANCE);
         typeToValueParserFactMap.put(ATypeTag.FLOAT, FloatParserFactory.INSTANCE);
@@ -120,7 +121,7 @@
         try {
             return conditionalPush ? new ConditionalPushTupleParserFactory(recordType, configuration)
                     : new AdmSchemafullRecordParserFactory(recordType, isPKAutoGenerated, primaryKeyPosition,
-                            origSourceDataTypeForAutoGeneratedPK);
+                    origSourceDataTypeForAutoGeneratedPK);
         } catch (Exception e) {
             throw new AsterixException(e);
         }
diff --git a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/AsterixBuiltinTypeMap.java b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/AsterixBuiltinTypeMap.java
index 3617bba..9645344 100644
--- a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/AsterixBuiltinTypeMap.java
+++ b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/AsterixBuiltinTypeMap.java
@@ -36,6 +36,7 @@
         _builtinTypeMap.put("float", BuiltinType.AFLOAT);
         _builtinTypeMap.put("double", BuiltinType.ADOUBLE);
         _builtinTypeMap.put("string", BuiltinType.ASTRING);
+        _builtinTypeMap.put("binary", BuiltinType.ABINARY);
         _builtinTypeMap.put("date", BuiltinType.ADATE);
         _builtinTypeMap.put("time", BuiltinType.ATIME);
         _builtinTypeMap.put("datetime", BuiltinType.ADATETIME);
diff --git a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/functions/ExternalFunctionCompilerUtil.java b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/functions/ExternalFunctionCompilerUtil.java
index d0e6aeb..f9c6040 100644
--- a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/functions/ExternalFunctionCompilerUtil.java
+++ b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/functions/ExternalFunctionCompilerUtil.java
@@ -31,6 +31,7 @@
 import edu.uci.ics.asterix.metadata.entities.Function;
 import edu.uci.ics.asterix.om.functions.AsterixFunction;
 import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.impl.ABinaryTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.ADoubleTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.AFloatTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.AInt32TypeComputer;
@@ -142,6 +143,8 @@
                 return AFloatTypeComputer.INSTANCE;
             case DOUBLE:
                 return ADoubleTypeComputer.INSTANCE;
+            case BINARY:
+                return ABinaryTypeComputer.INSTANCE;
             case STRING:
                 return AStringTypeComputer.INSTANCE;
             case ORDEREDLIST:
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/AObjectAscBinaryComparatorFactory.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/AObjectAscBinaryComparatorFactory.java
index c409a4a..739064e 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/AObjectAscBinaryComparatorFactory.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/AObjectAscBinaryComparatorFactory.java
@@ -19,10 +19,7 @@
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparator;
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparatorFactory;
 import edu.uci.ics.hyracks.data.std.accessors.PointableBinaryComparatorFactory;
-import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
-import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
-import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
-import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
+import edu.uci.ics.hyracks.data.std.primitive.*;
 
 public class AObjectAscBinaryComparatorFactory implements IBinaryComparatorFactory {
 
@@ -42,6 +39,8 @@
             final IBinaryComparator ascLongComp = LongBinaryComparatorFactory.INSTANCE.createBinaryComparator();
             final IBinaryComparator ascStrComp = new PointableBinaryComparatorFactory(UTF8StringPointable.FACTORY)
                     .createBinaryComparator();
+            final IBinaryComparator ascByteArrayComp = new PointableBinaryComparatorFactory(ByteArrayPointable.FACTORY)
+                    .createBinaryComparator();
             final IBinaryComparator ascFloatComp = new PointableBinaryComparatorFactory(FloatPointable.FACTORY)
                     .createBinaryComparator();
             final IBinaryComparator ascDoubleComp = new PointableBinaryComparatorFactory(DoublePointable.FACTORY)
@@ -133,6 +132,9 @@
                     case INTERVAL: {
                         return ascIntervalComp.compare(b1, s1 + 1, l1 - 1, b2, s2 + 1, l2 - 1);
                     }
+                    case BINARY: {
+                        return ascByteArrayComp.compare(b1, s1 + 1, l1 - 1, b2, s2 + 1, l2 -1);
+                    }
                     default: {
                         return rawComp.compare(b1, s1 + 1, l1 - 1, b2, s2 + 1, l2 - 1);
                     }
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/AUUIDPartialBinaryComparatorFactory.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/AUUIDPartialBinaryComparatorFactory.java
index 63c9a5a..21189bb 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/AUUIDPartialBinaryComparatorFactory.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/AUUIDPartialBinaryComparatorFactory.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
 package edu.uci.ics.asterix.dataflow.data.nontagged.comparators;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparator;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/ListItemBinaryComparatorFactory.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/ListItemBinaryComparatorFactory.java
index e25ad2f..c0cc407 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/ListItemBinaryComparatorFactory.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/comparators/ListItemBinaryComparatorFactory.java
@@ -21,10 +21,7 @@
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparator;
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparatorFactory;
 import edu.uci.ics.hyracks.data.std.accessors.PointableBinaryComparatorFactory;
-import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
-import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
-import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
-import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
+import edu.uci.ics.hyracks.data.std.primitive.*;
 
 public class ListItemBinaryComparatorFactory implements IBinaryComparatorFactory {
 
@@ -71,6 +68,8 @@
             final IBinaryComparator ascPolygonComp = APolygonPartialBinaryComparatorFactory.INSTANCE
                     .createBinaryComparator();
             final IBinaryComparator ascUUIDComp = AUUIDPartialBinaryComparatorFactory.INSTANCE.createBinaryComparator();
+            final IBinaryComparator ascByteArrayComp = new PointableBinaryComparatorFactory(ByteArrayPointable.FACTORY)
+                    .createBinaryComparator();
             final IBinaryComparator rawComp = RawBinaryComparatorFactory.INSTANCE.createBinaryComparator();
 
             @Override
@@ -159,6 +158,9 @@
                     case INTERVAL: {
                         return ascIntervalComp.compare(b1, s1 + skip1, l1 - skip1, b2, s2 + skip2, l2 - skip2);
                     }
+                    case BINARY: {
+                        return ascByteArrayComp.compare(b1, s1 + skip1, l1 - skip1, b2, s2 + skip2, l2 - skip2);
+                    }
                     default: {
                         return rawComp.compare(b1, s1 + skip1, l1 - skip1, b2, s2 + skip2, l2 - skip2);
                     }
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryBase64Printer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryBase64Printer.java
new file mode 100644
index 0000000..f86e90e
--- /dev/null
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryBase64Printer.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.dataflow.data.nontagged.printers;
+
+import edu.uci.ics.asterix.dataflow.data.nontagged.serde.ABinarySerializerDeserializer;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.data.IPrinter;
+
+import java.io.IOException;
+import java.io.PrintStream;
+
+public class ABinaryBase64Printer implements IPrinter {
+    private ABinaryBase64Printer() {
+    }
+
+    public static final ABinaryBase64Printer INSTANCE = new ABinaryBase64Printer();
+
+    @Override public void init() throws AlgebricksException {
+
+    }
+
+    @Override public void print(byte[] b, int s, int l, PrintStream ps) throws AlgebricksException {
+        int validLength = ABinarySerializerDeserializer.getLength(b, s + 1);
+        int start = s + 1 + ABinarySerializerDeserializer.SIZE_OF_LENGTH;
+        try {
+            ps.print("base64(\"");
+            printBase64Binary(b, start, validLength, ps);
+            ps.print("\")");
+        } catch (IOException e) {
+            throw new AlgebricksException(e);
+        }
+    }
+
+    /**
+     * Encodes a byte array into a {@code Appendable} stream by doing base64 encoding.
+     *
+     * @return the same stream in purpose of chained process.
+     */
+    public static Appendable printBase64Binary(byte[] input, int offset, int len, Appendable appendable)
+            throws IOException {
+        // encode elements until only 1 or 2 elements are left to encode
+        int remaining = len;
+        int i;
+        for (i = offset; remaining >= 3; remaining -= 3, i += 3) {
+            appendable.append(encode(input[i] >> 2));
+            appendable.append(encode(
+                    ((input[i] & 0x3) << 4)
+                            | ((input[i + 1] >> 4) & 0xF)));
+            appendable.append(encode(
+                    ((input[i + 1] & 0xF) << 2)
+                            | ((input[i + 2] >> 6) & 0x3)));
+            appendable.append(encode(input[i + 2] & 0x3F));
+        }
+        // encode when exactly 1 element (left) to encode
+        if (remaining == 1) {
+            appendable.append(encode(input[i] >> 2));
+            appendable.append(encode(((input[i]) & 0x3) << 4));
+            appendable.append('=');
+            appendable.append('=');
+        }
+        // encode when exactly 2 elements (left) to encode
+        if (remaining == 2) {
+            appendable.append(encode(input[i] >> 2));
+            appendable.append(encode(((input[i] & 0x3) << 4)
+                    | ((input[i + 1] >> 4) & 0xF)));
+            appendable.append(encode((input[i + 1] & 0xF) << 2));
+            appendable.append('=');
+        }
+        return appendable;
+    }
+
+    /**
+     * Encodes a byte array into a char array by doing base64 encoding.
+     * The caller must supply a big enough buffer.
+     *
+     * @return the value of {@code ptr+((len+2)/3)*4}, which is the new offset
+     * in the output buffer where the further bytes should be placed.
+     */
+    public static int printBase64Binary(byte[] input, int offset, int len, char[] buf, int ptr) {
+        // encode elements until only 1 or 2 elements are left to encode
+        int remaining = len;
+        int i;
+        for (i = offset; remaining >= 3; remaining -= 3, i += 3) {
+            buf[ptr++] = encode(input[i] >> 2);
+            buf[ptr++] = encode(
+                    ((input[i] & 0x3) << 4)
+                            | ((input[i + 1] >> 4) & 0xF));
+            buf[ptr++] = encode(
+                    ((input[i + 1] & 0xF) << 2)
+                            | ((input[i + 2] >> 6) & 0x3));
+            buf[ptr++] = encode(input[i + 2] & 0x3F);
+        }
+        // encode when exactly 1 element (left) to encode
+        if (remaining == 1) {
+            buf[ptr++] = encode(input[i] >> 2);
+            buf[ptr++] = encode(((input[i]) & 0x3) << 4);
+            buf[ptr++] = '=';
+            buf[ptr++] = '=';
+        }
+        // encode when exactly 2 elements (left) to encode
+        if (remaining == 2) {
+            buf[ptr++] = encode(input[i] >> 2);
+            buf[ptr++] = encode(((input[i] & 0x3) << 4)
+                    | ((input[i + 1] >> 4) & 0xF));
+            buf[ptr++] = encode((input[i + 1] & 0xF) << 2);
+            buf[ptr++] = '=';
+        }
+        return ptr;
+    }
+
+    private static final char[] encodeMap = initEncodeMap();
+
+    private static char[] initEncodeMap() {
+        char[] map = new char[64];
+        int i;
+        for (i = 0; i < 26; i++) {
+            map[i] = (char) ('A' + i);
+        }
+        for (i = 26; i < 52; i++) {
+            map[i] = (char) ('a' + (i - 26));
+        }
+        for (i = 52; i < 62; i++) {
+            map[i] = (char) ('0' + (i - 52));
+        }
+        map[62] = '+';
+        map[63] = '/';
+
+        return map;
+    }
+
+    public static char encode(int i) {
+        return encodeMap[i & 0x3F];
+    }
+}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryHexPrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryHexPrinter.java
new file mode 100644
index 0000000..c539e4e
--- /dev/null
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryHexPrinter.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.dataflow.data.nontagged.printers;
+
+import edu.uci.ics.asterix.dataflow.data.nontagged.serde.ABinarySerializerDeserializer;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.data.IPrinter;
+
+import java.io.IOException;
+import java.io.PrintStream;
+
+public class ABinaryHexPrinter implements IPrinter {
+    private ABinaryHexPrinter() {
+    }
+
+    public static final ABinaryHexPrinter INSTANCE = new ABinaryHexPrinter();
+
+    @Override public void init() throws AlgebricksException {
+
+    }
+
+    @Override public void print(byte[] b, int s, int l, PrintStream ps) throws AlgebricksException {
+        int validLength = ABinarySerializerDeserializer.getLength(b, s + 1);
+        int start = s + 1 + ABinarySerializerDeserializer.SIZE_OF_LENGTH;
+        try {
+            ps.print("hex(\"");
+            printHexString(b, start, validLength, ps);
+            ps.print("\")");
+        } catch (IOException e) {
+            throw new AlgebricksException(e);
+        }
+    }
+
+    public static Appendable printHexString(byte[] bytes, int start, int length, Appendable appendable)
+            throws IOException {
+        for (int i = 0; i < length; ++i) {
+            appendable.append((char) PrintTools.hex((bytes[start + i] >>> 4) & 0x0f, PrintTools.CASE.UPPER_CASE));
+            appendable.append((char) PrintTools.hex((bytes[start + i] & 0x0f), PrintTools.CASE.UPPER_CASE));
+        }
+        return appendable;
+    }
+}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryPrinterFactory.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryPrinterFactory.java
new file mode 100644
index 0000000..505f942
--- /dev/null
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryPrinterFactory.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.dataflow.data.nontagged.printers;
+
+import edu.uci.ics.hyracks.algebricks.data.IPrinter;
+import edu.uci.ics.hyracks.algebricks.data.IPrinterFactory;
+
+public class ABinaryPrinterFactory implements IPrinterFactory {
+
+    private ABinaryPrinterFactory() {
+    }
+
+    public static final ABinaryPrinterFactory INSTANCE = new ABinaryPrinterFactory();
+
+    @Override public IPrinter createPrinter() {
+        return ABinaryHexPrinter.INSTANCE;
+    }
+}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AObjectPrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AObjectPrinter.java
index 5ca940a..5a96e52 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AObjectPrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AObjectPrinter.java
@@ -123,6 +123,10 @@
                 AStringPrinter.INSTANCE.print(b, s, l, ps);
                 break;
             }
+            case BINARY: {
+                ABinaryHexPrinter.INSTANCE.print(b, s, l, ps);
+                break;
+            }
             case RECORD: {
                 this.recordPrinter.init();
                 recordPrinter.print(b, s, l, ps);
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AUUIDPrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AUUIDPrinter.java
index 5feb335..d98ca86 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AUUIDPrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AUUIDPrinter.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
 package edu.uci.ics.asterix.dataflow.data.nontagged.printers;
 
 import java.io.PrintStream;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AUUIDPrinterFactory.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AUUIDPrinterFactory.java
index 015b8b8..fa65fd2 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AUUIDPrinterFactory.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AUUIDPrinterFactory.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
 package edu.uci.ics.asterix.dataflow.data.nontagged.printers;
 
 import edu.uci.ics.hyracks.algebricks.data.IPrinter;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
index d109ae9..92beb61 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
@@ -14,12 +14,18 @@
  */
 package edu.uci.ics.asterix.dataflow.data.nontagged.printers;
 
+import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
+
+import javax.xml.bind.DatatypeConverter;
 import java.io.IOException;
 import java.io.OutputStream;
 
-import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
-
 public class PrintTools {
+    public static enum CASE {
+        LOWER_CASE,
+        UPPER_CASE,
+    }
+
     public static void writeUTF8StringWithEscapes(byte[] b, int s, int l, OutputStream os) throws IOException {
         int stringLength = UTF8StringPointable.getUTFLength(b, s);
         int position = s + 2; // skip 2 bytes containing string size
@@ -29,7 +35,7 @@
             char c = UTF8StringPointable.charAt(b, position);
             int sz = UTF8StringPointable.charSize(b, position);
             switch (c) {
-            // escape
+                // escape
                 case '\b':
                     os.write('\\');
                     os.write('b');
@@ -115,11 +121,18 @@
         os.write('u');
         os.write('0');
         os.write('0');
-        os.write(hex((c >>> 4) & 0x0f));
-        os.write(hex(c & 0x0f));
+        os.write(hex((c >>> 4) & 0x0f, CASE.LOWER_CASE));
+        os.write(hex(c & 0x0f, CASE.LOWER_CASE));
     }
 
-    private static byte hex(int i) {
-        return (byte) (i < 10 ? i + '0' : i + ('a' - 10));
+    static byte hex(int i, CASE c) {
+        switch (c) {
+            case LOWER_CASE:
+                return (byte) (i < 10 ? i + '0' : i + ('a' - 10));
+            case UPPER_CASE:
+                return (byte) (i < 10 ? i + '0' : i + ('A' - 10));
+        }
+        return Byte.parseByte(null);
     }
+
 }
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/AObjectPrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/AObjectPrinter.java
index 026c499..c626791 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/AObjectPrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/AObjectPrinter.java
@@ -16,6 +16,7 @@
 
 import java.io.PrintStream;
 
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ABinaryHexPrinter;
 import edu.uci.ics.asterix.om.types.ATypeTag;
 import edu.uci.ics.asterix.om.types.EnumDeserializer;
 import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -119,6 +120,10 @@
                 AStringPrinter.INSTANCE.print(b, s, l, ps);
                 break;
             }
+            case BINARY: {
+                ABinaryHexPrinter.INSTANCE.print(b, s, l, ps);
+                break;
+            }
             case RECORD: {
                 this.recordPrinter.init();
                 recordPrinter.print(b, s, l, ps);
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/ABinarySerializerDeserializer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/ABinarySerializerDeserializer.java
new file mode 100644
index 0000000..61b4fa7
--- /dev/null
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/ABinarySerializerDeserializer.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.dataflow.data.nontagged.serde;
+
+import edu.uci.ics.asterix.om.base.ABinary;
+import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.data.std.primitive.ByteArrayPointable;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.ByteArraySerializerDeserializer;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+public class ABinarySerializerDeserializer implements ISerializerDeserializer<ABinary>{
+
+    private static final long serialVersionUID = 1L;
+    public static final int SIZE_OF_LENGTH = ByteArrayPointable.SIZE_OF_LENGTH;
+
+    public static final ABinarySerializerDeserializer INSTANCE = new ABinarySerializerDeserializer();
+
+    private ABinarySerializerDeserializer(){}
+
+    @Override
+    public ABinary deserialize(DataInput in) throws HyracksDataException {
+        return new ABinary(ByteArraySerializerDeserializer.INSTANCE.deserialize(in));
+    }
+
+    @Override
+    public void serialize(ABinary binary, DataOutput out) throws HyracksDataException {
+        ByteArraySerializerDeserializer.INSTANCE.serialize(binary.getBytes(), binary.getStart(),
+                binary.getLength() , out);
+    }
+
+    public static int getLength(byte [] bytes, int offset){
+        return ByteArrayPointable.getLength(bytes,offset);
+    }
+
+    public static void putLength(int length, byte [] bytes, int offset){
+        ByteArrayPointable.putLength(length, bytes, offset);
+    }
+}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AObjectSerializerDeserializer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AObjectSerializerDeserializer.java
index 14ec491..864849b 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AObjectSerializerDeserializer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AObjectSerializerDeserializer.java
@@ -18,6 +18,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 
+import edu.uci.ics.asterix.om.base.ABinary;
 import edu.uci.ics.asterix.om.base.ABoolean;
 import edu.uci.ics.asterix.om.base.ACircle;
 import edu.uci.ics.asterix.om.base.ADate;
@@ -88,6 +89,9 @@
             case STRING: {
                 return AStringSerializerDeserializer.INSTANCE.deserialize(in);
             }
+            case BINARY: {
+                return ABinarySerializerDeserializer.INSTANCE.deserialize(in);
+            }
             case DATE: {
                 return ADateSerializerDeserializer.INSTANCE.deserialize(in);
             }
@@ -191,6 +195,9 @@
                 AStringSerializerDeserializer.INSTANCE.serialize((AString) instance, out);
                 break;
             }
+            case BINARY: {
+                ABinarySerializerDeserializer.INSTANCE.serialize((ABinary) instance, out);
+            }
             case DATE: {
                 ADateSerializerDeserializer.INSTANCE.serialize((ADate) instance, out);
                 break;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AOrderedListSerializerDeserializer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AOrderedListSerializerDeserializer.java
index 64cc90d..7c8f1ad 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AOrderedListSerializerDeserializer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AOrderedListSerializerDeserializer.java
@@ -67,6 +67,7 @@
             ATypeTag typeTag = EnumDeserializer.ATYPETAGDESERIALIZER.deserialize(in.readByte());
             switch (typeTag) {
                 case STRING:
+                case BINARY:
                 case RECORD:
                 case ORDEREDLIST:
                 case UNORDEREDLIST:
@@ -136,6 +137,7 @@
             ATypeTag typeTag = EnumDeserializer.ATYPETAGDESERIALIZER.deserialize(serOrderedList[offset + 1]);
             switch (typeTag) {
                 case STRING:
+                case BINARY:
                 case RECORD:
                 case ORDEREDLIST:
                 case UNORDEREDLIST:
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AUUIDSerializerDeserializer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AUUIDSerializerDeserializer.java
index acd0888..eaba0ae 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AUUIDSerializerDeserializer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AUUIDSerializerDeserializer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
 package edu.uci.ics.asterix.dataflow.data.nontagged.serde;
 
 import java.io.DataInput;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AUnorderedListSerializerDeserializer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AUnorderedListSerializerDeserializer.java
index 323b86d..163eb4c 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AUnorderedListSerializerDeserializer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/serde/AUnorderedListSerializerDeserializer.java
@@ -69,6 +69,7 @@
             ATypeTag typeTag = EnumDeserializer.ATYPETAGDESERIALIZER.deserialize(in.readByte());
             switch (typeTag) {
                 case STRING:
+                case BINARY:
                 case RECORD:
                 case ORDEREDLIST:
                 case UNORDEREDLIST:
@@ -137,6 +138,7 @@
             ATypeTag typeTag = EnumDeserializer.ATYPETAGDESERIALIZER.deserialize(serOrderedList[offset + 1]);
             switch (typeTag) {
                 case STRING:
+                case BINARY:
                 case RECORD:
                 case ORDEREDLIST:
                 case UNORDEREDLIST:
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlBinaryComparatorFactoryProvider.java b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlBinaryComparatorFactoryProvider.java
index 672621a..4d323cf 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlBinaryComparatorFactoryProvider.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlBinaryComparatorFactoryProvider.java
@@ -35,6 +35,7 @@
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparator;
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparatorFactory;
 import edu.uci.ics.hyracks.data.std.accessors.PointableBinaryComparatorFactory;
+import edu.uci.ics.hyracks.data.std.primitive.ByteArrayPointable;
 import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
 import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
 import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
@@ -64,6 +65,8 @@
     // Equivalent to UTF8STRING_POINTABLE_INSTANCE but all characters are considered lower case to implement case-insensitive comparisons.    
     public static final PointableBinaryComparatorFactory UTF8STRING_LOWERCASE_POINTABLE_INSTANCE = new PointableBinaryComparatorFactory(
             UTF8StringLowercasePointable.FACTORY);
+    public static final PointableBinaryComparatorFactory BINARY_POINTABLE_INSTANCE = new PointableBinaryComparatorFactory(
+            ByteArrayPointable.FACTORY);
 
     private AqlBinaryComparatorFactoryProvider() {
     }
@@ -169,6 +172,9 @@
             case UUID: {
                 return addOffset(AUUIDPartialBinaryComparatorFactory.INSTANCE, ascending);
             }
+            case BINARY: {
+                return addOffset(BINARY_POINTABLE_INSTANCE, ascending);
+            }
             default: {
                 return addOffset(RawBinaryComparatorFactory.INSTANCE, ascending);
             }
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlJSONPrinterFactoryProvider.java b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlJSONPrinterFactoryProvider.java
index 22ebd99..9ae9dbc 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlJSONPrinterFactoryProvider.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlJSONPrinterFactoryProvider.java
@@ -14,6 +14,7 @@
  */
 package edu.uci.ics.asterix.formats.nontagged;
 
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ABinaryPrinterFactory;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.AUUIDPrinterFactory;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ShortWithoutTypeInfoPrinterFactory;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.json.ABooleanPrinterFactory;
@@ -110,6 +111,8 @@
                     return ARectanglePrinterFactory.INSTANCE;
                 case STRING:
                     return AStringPrinterFactory.INSTANCE;
+                case BINARY:
+                    return ABinaryPrinterFactory.INSTANCE;
                 case RECORD:
                     return new ARecordPrinterFactory((ARecordType) aqlType);
                 case ORDEREDLIST:
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlNormalizedKeyComputerFactoryProvider.java b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlNormalizedKeyComputerFactoryProvider.java
index 9014a13..ffc3cdf 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlNormalizedKeyComputerFactoryProvider.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlNormalizedKeyComputerFactoryProvider.java
@@ -19,6 +19,7 @@
 import edu.uci.ics.asterix.om.types.IAType;
 import edu.uci.ics.hyracks.algebricks.data.INormalizedKeyComputerFactoryProvider;
 import edu.uci.ics.hyracks.api.dataflow.value.INormalizedKeyComputerFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.normalizers.ByteArrayNormalizedKeyComputerFactory;
 import edu.uci.ics.hyracks.dataflow.common.data.normalizers.DoubleNormalizedKeyComputerFactory;
 import edu.uci.ics.hyracks.dataflow.common.data.normalizers.FloatNormalizedKeyComputerFactory;
 import edu.uci.ics.hyracks.dataflow.common.data.normalizers.Integer64NormalizedKeyComputerFactory;
@@ -57,6 +58,9 @@
                 case STRING: {
                     return new AWrappedAscNormalizedKeyComputerFactory(new UTF8StringNormalizedKeyComputerFactory());
                 }
+                case BINARY: {
+                    return new AWrappedAscNormalizedKeyComputerFactory(new ByteArrayNormalizedKeyComputerFactory());
+                }
                 default: {
                     return null;
                 }
@@ -83,6 +87,9 @@
                 case STRING: {
                     return new AWrappedDescNormalizedKeyComputerFactory(new UTF8StringNormalizedKeyComputerFactory());
                 }
+                case BINARY: {
+                    return new AWrappedDescNormalizedKeyComputerFactory(new ByteArrayNormalizedKeyComputerFactory());
+                }
                 default: {
                     return null;
                 }
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlPrinterFactoryProvider.java b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlPrinterFactoryProvider.java
index a306608..bf941d0 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlPrinterFactoryProvider.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlPrinterFactoryProvider.java
@@ -14,6 +14,7 @@
  */
 package edu.uci.ics.asterix.formats.nontagged;
 
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ABinaryPrinterFactory;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ABooleanPrinterFactory;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ACirclePrinterFactory;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ADatePrinterFactory;
@@ -65,8 +66,8 @@
 
         if (aqlType != null) {
             switch (aqlType.getTypeTag()) {
-            // case ANYTYPE:
-            // return AAnyTypePrinterFactory.INSTANCE;
+                // case ANYTYPE:
+                // return AAnyTypePrinterFactory.INSTANCE;
                 case INT8:
                     return AInt8PrinterFactory.INSTANCE;
                 case INT16:
@@ -107,6 +108,8 @@
                     return ARectanglePrinterFactory.INSTANCE;
                 case STRING:
                     return AStringPrinterFactory.INSTANCE;
+                case BINARY:
+                    return ABinaryPrinterFactory.INSTANCE;
                 case RECORD:
                     return new ARecordPrinterFactory((ARecordType) aqlType);
                 case ORDEREDLIST:
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlSerializerDeserializerProvider.java b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlSerializerDeserializerProvider.java
index 12de85c..8d083ee 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlSerializerDeserializerProvider.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlSerializerDeserializerProvider.java
@@ -19,6 +19,7 @@
 import java.io.IOException;
 import java.io.Serializable;
 
+import edu.uci.ics.asterix.dataflow.data.nontagged.serde.ABinarySerializerDeserializer;
 import edu.uci.ics.asterix.dataflow.data.nontagged.serde.ABooleanSerializerDeserializer;
 import edu.uci.ics.asterix.dataflow.data.nontagged.serde.ACircleSerializerDeserializer;
 import edu.uci.ics.asterix.dataflow.data.nontagged.serde.ADateSerializerDeserializer;
@@ -128,6 +129,9 @@
             case STRING: {
                 return AStringSerializerDeserializer.INSTANCE;
             }
+            case BINARY: {
+                return ABinarySerializerDeserializer.INSTANCE;
+            }
             case TIME: {
                 return ATimeSerializerDeserializer.INSTANCE;
             }
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/ABinary.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/ABinary.java
index 7749a40..9152bcf 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/ABinary.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/ABinary.java
@@ -14,28 +14,54 @@
  */
 package edu.uci.ics.asterix.om.base;
 
-import org.json.JSONException;
-import org.json.JSONObject;
-
 import edu.uci.ics.asterix.common.exceptions.AsterixException;
+import edu.uci.ics.asterix.dataflow.data.nontagged.serde.ABinarySerializerDeserializer;
 import edu.uci.ics.asterix.om.types.BuiltinType;
 import edu.uci.ics.asterix.om.types.IAType;
 import edu.uci.ics.asterix.om.visitors.IOMVisitor;
+import edu.uci.ics.hyracks.data.std.primitive.ByteArrayPointable;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
 
 public class ABinary implements IAObject {
 
     private static final int HASH_PREFIX = 31;
 
-    private final byte[] bytes;
+    protected byte[] bytes;
+    protected int start;
+    protected int length;
 
     public ABinary(byte[] byteArray) {
         this.bytes = byteArray;
+        this.start = 0;
+        this.length = byteArray.length;
+    }
+
+    public ABinary(byte[] byteArray, int start, int length) {
+        this.bytes = byteArray;
+        this.start = start;
+        this.length = length;
     }
 
     public byte[] getBytes() {
         return bytes;
     }
 
+    public int getStart() {
+        return start;
+    }
+
+    public int getLength() {
+        return getByteArrayContentLength() + SIZE_OF_LEADING_LENGTH_FIELD;
+    }
+
+    public int getByteArrayContentLength() {
+        return ABinarySerializerDeserializer.getLength(bytes, start);
+    }
+
+    public static final int SIZE_OF_LEADING_LENGTH_FIELD = ByteArrayPointable.SIZE_OF_LENGTH;
+
     @Override
     public void accept(IOMVisitor visitor) throws AsterixException {
         visitor.visitABinary(this);
@@ -52,11 +78,14 @@
             return false;
         }
         byte[] x = ((ABinary) obj).getBytes();
-        if (bytes.length != x.length) {
+        int xStart = ((ABinary) obj).getStart();
+        int xLength = ((ABinary) obj).getLength();
+
+        if (getLength() != xLength) {
             return false;
         }
-        for (int k = 0; k < bytes.length; k++) {
-            if (bytes[k] != x[k]) {
+        for (int k = 0; k < xLength; k++) {
+            if (bytes[start + k] != x[xStart + k]) {
                 return false;
             }
         }
@@ -65,25 +94,44 @@
 
     @Override
     public int hash() {
-        int m = HASH_PREFIX <= bytes.length ? HASH_PREFIX : bytes.length;
+        int m = HASH_PREFIX <= getLength() ? HASH_PREFIX : getLength();
         int h = 0;
         for (int i = 0; i < m; i++) {
-            h += 31 * h + bytes[i];
+            h += 31 * h + bytes[start + i];
         }
         return h;
     }
 
     @Override
     public String toString() {
-        return "ABinary";
+        StringBuilder sb = new StringBuilder();
+        int validLength = getByteArrayContentLength();
+        int start = getStart() + SIZE_OF_LEADING_LENGTH_FIELD;
+        sb.append("ABinary: [ ");
+        for (int i = 0; i < validLength; i++) {
+            if (i > 0) {
+                sb.append(", ");
+            }
+            sb.append(bytes[start + i]);
+        }
+        sb.append(" ]");
+        return sb.toString();
+
     }
 
     @Override
     public JSONObject toJSON() throws JSONException {
         JSONObject json = new JSONObject();
 
-        json.put("ABinary", bytes);
+        int validLength = getByteArrayContentLength();
+        int start = getStart() + SIZE_OF_LEADING_LENGTH_FIELD;
+        JSONArray byteArray = new JSONArray();
+        for (int i = 0; i < validLength; i++) {
+            byteArray.put(bytes[start + i]);
+        }
+        json.put("ABinary", byteArray);
 
         return json;
     }
+
 }
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/AMutableBinary.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/AMutableBinary.java
new file mode 100644
index 0000000..14c7e1e
--- /dev/null
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/AMutableBinary.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.om.base;
+
+public class AMutableBinary extends ABinary {
+
+    public AMutableBinary(byte[] byteArray, int start, int length) {
+        super(byteArray, start, length);
+    }
+
+    public void setValue(byte[] b, int s, int l) {
+        super.bytes = b;
+        super.start = s;
+        super.length = l;
+    }
+
+}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/AMutableUUID.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/AMutableUUID.java
index 23241e2..be0bf98 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/AMutableUUID.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/AMutableUUID.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
 package edu.uci.ics.asterix.om.base;
 
 public class AMutableUUID extends AUUID {
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/AUUID.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/AUUID.java
index 69dac5d..2fe7c1e 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/AUUID.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/AUUID.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
 package edu.uci.ics.asterix.om.base;
 
 import java.security.SecureRandom;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/temporal/GregorianCalendarSystem.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/temporal/GregorianCalendarSystem.java
index 3be0858..4a85e7d 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/temporal/GregorianCalendarSystem.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/base/temporal/GregorianCalendarSystem.java
@@ -1,5 +1,20 @@
 /*
  * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * you may obtain a copy of the License from
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/functions/AsterixBuiltinFunctions.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/functions/AsterixBuiltinFunctions.java
index caec0f6..683cce5 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/functions/AsterixBuiltinFunctions.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/functions/AsterixBuiltinFunctions.java
@@ -61,6 +61,7 @@
 import edu.uci.ics.asterix.om.typecomputer.impl.NonTaggedUnaryMinusTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.NotNullTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.OpenRecordConstructorResultType;
+import edu.uci.ics.asterix.om.typecomputer.impl.OptionalABinaryTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.OptionalABooleanTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.OptionalACircleTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.OptionalADateTimeTypeComputer;
@@ -95,6 +96,7 @@
 import edu.uci.ics.asterix.om.typecomputer.impl.SubstringTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.TripleStringBoolOrNullTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.TripleStringStringOrNullTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.impl.UnaryBinaryInt32OrNullTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.UnaryBooleanOrNullFunctionTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.UnaryStringInt32OrNullTypeComputer;
 import edu.uci.ics.asterix.om.typecomputer.impl.UnaryStringOrNullTypeComputer;
@@ -207,6 +209,24 @@
             FunctionConstants.ASTERIX_NS, "round-half-to-even", 1);
     public final static FunctionIdentifier NUMERIC_ROUND_HALF_TO_EVEN2 = new FunctionIdentifier(
             FunctionConstants.ASTERIX_NS, "round-half-to-even", 2);
+
+    // binary functions
+    public final static FunctionIdentifier BINARY_LENGTH = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
+            "binary-length", 1);
+    public final static FunctionIdentifier PARSE_BINARY = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
+            "parse-binary", 2);
+    public final static FunctionIdentifier PRINT_BINARY = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
+            "print-binary", 2);
+    public final static FunctionIdentifier BINARY_CONCAT = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
+            "binary-concat", 1);
+    public final static FunctionIdentifier SUBBINARY_FROM = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
+            "sub-binary", 2);
+    public final static FunctionIdentifier SUBBINARY_FROM_TO = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
+            "sub-binary", 3);
+    public final static FunctionIdentifier FIND_BINARY = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
+            "find-binary", 2);
+    public final static FunctionIdentifier FIND_BINARY_FROM = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
+            "find-binary", 3);
     // String funcitons
     public final static FunctionIdentifier STRING_EQUAL = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
             "string-equal", 2);
@@ -429,6 +449,11 @@
             "null", 1);
     public final static FunctionIdentifier STRING_CONSTRUCTOR = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
             "string", 1);
+    public final static FunctionIdentifier BINARY_HEX_CONSTRUCTOR = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
+            "hex", 1);
+    public final static FunctionIdentifier BINARY_BASE64_CONSTRUCTOR = new FunctionIdentifier(
+            FunctionConstants.ASTERIX_NS,
+            "base64", 1);
     public final static FunctionIdentifier INT8_CONSTRUCTOR = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
             "int8", 1);
     public final static FunctionIdentifier INT16_CONSTRUCTOR = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
@@ -656,7 +681,8 @@
     public static final FunctionIdentifier IS_NULL = AlgebricksBuiltinFunctions.IS_NULL;
 
     public static final FunctionIdentifier IS_SYSTEM_NULL = new FunctionIdentifier(FunctionConstants.ASTERIX_NS,
-            "is-system-null", 1);;
+            "is-system-null", 1);
+    ;
     public static final FunctionIdentifier NOT_NULL = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "not-null",
             1);
     public static final FunctionIdentifier COLLECTION_TO_SEQUENCE = new FunctionIdentifier(
@@ -784,6 +810,15 @@
         addFunction(NUMERIC_ROUND_HALF_TO_EVEN, NonTaggedNumericUnaryFunctionTypeComputer.INSTANCE, true);
         addFunction(NUMERIC_ROUND_HALF_TO_EVEN2, NonTaggedNumericRoundHalfToEven2TypeComputer.INSTANCE, true);
 
+        addFunction(BINARY_LENGTH, UnaryBinaryInt32OrNullTypeComputer.INSTANCE, true);
+        addFunction(PARSE_BINARY, OptionalABinaryTypeComputer.INSTANCE, true);
+        addFunction(PRINT_BINARY, OptionalAStringTypeComputer.INSTANCE, true);
+        addFunction(BINARY_CONCAT, OptionalABinaryTypeComputer.INSTANCE, true);
+        addFunction(SUBBINARY_FROM, OptionalABinaryTypeComputer.INSTANCE, true);
+        addFunction(SUBBINARY_FROM_TO, OptionalABinaryTypeComputer.INSTANCE, true);
+        addFunction(FIND_BINARY, OptionalAInt32TypeComputer.INSTANCE, true);
+        addFunction(FIND_BINARY_FROM, OptionalAInt32TypeComputer.INSTANCE, true);
+
         addFunction(STRING_TO_CODEPOINT, OrderedListOfAInt32TypeComputer.INSTANCE, true);
         addFunction(CODEPOINT_TO_STRING, AStringTypeComputer.INSTANCE, true);
         addFunction(STRING_CONCAT, OptionalAStringTypeComputer.INSTANCE, true);
@@ -871,6 +906,8 @@
         addFunction(GET_POINTS_LINE_RECTANGLE_POLYGON_ACCESSOR, OrderedListOfAPointTypeComputer.INSTANCE, true);
         addFunction(STARTS_WITH, ABooleanTypeComputer.INSTANCE, true);
         addFunction(STRING_CONSTRUCTOR, OptionalAStringTypeComputer.INSTANCE, true);
+        addFunction(BINARY_HEX_CONSTRUCTOR, OptionalABinaryTypeComputer.INSTANCE, true);
+        addFunction(BINARY_BASE64_CONSTRUCTOR, OptionalABinaryTypeComputer.INSTANCE, true);
         addPrivateFunction(SUBSET_COLLECTION, new IResultTypeComputer() {
 
             @Override
@@ -1208,7 +1245,8 @@
                 || (includePrivateFunctions && builtinPrivateFunctionsSet.keySet().contains(finfo))) {
             return true;
         }
-        fi = new FunctionIdentifier(AlgebricksBuiltinFunctions.ALGEBRICKS_NS, signature.getName(), signature.getArity());
+        fi = new FunctionIdentifier(AlgebricksBuiltinFunctions.ALGEBRICKS_NS, signature.getName(),
+                signature.getArity());
         finfo = getAsterixFunctionInfo(fi);
         if (builtinPublicFunctionsSet.keySet().contains(finfo)
                 || (includePrivateFunctions && builtinPrivateFunctionsSet.keySet().contains(finfo))) {
@@ -1315,7 +1353,8 @@
         registeredFunctions.put(fi, functionInfo);
     }
 
-    public static void addPrivateFunction(FunctionIdentifier fi, IResultTypeComputer typeComputer, boolean isFunctional) {
+    public static void addPrivateFunction(FunctionIdentifier fi, IResultTypeComputer typeComputer,
+            boolean isFunctional) {
         IFunctionInfo functionInfo = new AsterixFunctionInfo(fi, isFunctional);
         builtinPrivateFunctionsSet.put(functionInfo, functionInfo);
         funTypeComputer.put(functionInfo, typeComputer);
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/AListPointable.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/AListPointable.java
index 2f7b608..95192e5 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/AListPointable.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/AListPointable.java
@@ -100,6 +100,7 @@
         if (typedItemList) {
             switch (itemTag) {
                 case STRING:
+                case BINARY:
                 case RECORD:
                 case ORDEREDLIST:
                 case UNORDEREDLIST:
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/printer/APrintVisitor.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/printer/APrintVisitor.java
index 15de81c..7d4cc86 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/printer/APrintVisitor.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/printer/APrintVisitor.java
@@ -20,6 +20,7 @@
 import java.util.Map;
 
 import edu.uci.ics.asterix.common.exceptions.AsterixException;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ABinaryHexPrinter;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ABooleanPrinter;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ACirclePrinter;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ADatePrinter;
@@ -186,6 +187,10 @@
                     AStringPrinter.INSTANCE.print(b, s, l, ps);
                     break;
                 }
+                case BINARY: {
+                    ABinaryHexPrinter.INSTANCE.print(b, s, l, ps);
+                    break;
+                }
                 case INTERVAL: {
                     AIntervalPrinter.INSTANCE.print(b, s, l, ps);
                     break;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/printer/json/APrintVisitor.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/printer/json/APrintVisitor.java
index 24e8ba5..2d716d6 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/printer/json/APrintVisitor.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/printer/json/APrintVisitor.java
@@ -20,6 +20,7 @@
 import java.util.Map;
 
 import edu.uci.ics.asterix.common.exceptions.AsterixException;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ABinaryHexPrinter;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.AUUIDPrinter;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ShortWithoutTypeInfoPrinter;
 import edu.uci.ics.asterix.dataflow.data.nontagged.printers.json.ABooleanPrinter;
@@ -177,6 +178,10 @@
                     AStringPrinter.INSTANCE.print(b, s, l, ps);
                     break;
                 }
+                case BINARY: {
+                    ABinaryHexPrinter.INSTANCE.print(b, s, l, ps);
+                    break;
+                }
                 case YEARMONTHDURATION: {
                     AYearMonthDurationPrinter.INSTANCE.print(b, s, l, ps);
                     break;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/ABinaryTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/ABinaryTypeComputer.java
new file mode 100644
index 0000000..16ec981
--- /dev/null
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/ABinaryTypeComputer.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.om.typecomputer.impl;
+
+import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.types.BuiltinType;
+import edu.uci.ics.asterix.om.types.IAType;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalExpression;
+import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.IVariableTypeEnvironment;
+import edu.uci.ics.hyracks.algebricks.core.algebra.metadata.IMetadataProvider;
+
+public class ABinaryTypeComputer implements IResultTypeComputer {
+    public static final ABinaryTypeComputer INSTANCE = new ABinaryTypeComputer();
+
+    private ABinaryTypeComputer() {
+
+    }
+
+    @Override public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
+            IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
+        return BuiltinType.ABINARY;
+    }
+}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/AUUIDTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/AUUIDTypeComputer.java
index 18d269b..3d46705 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/AUUIDTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/AUUIDTypeComputer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
 package edu.uci.ics.asterix.om.typecomputer.impl;
 
 import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/FlowRecordResultTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/FlowRecordResultTypeComputer.java
index a982a1f..91b0138 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/FlowRecordResultTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/FlowRecordResultTypeComputer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
 package edu.uci.ics.asterix.om.typecomputer.impl;
 
 import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalABinaryTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalABinaryTypeComputer.java
new file mode 100644
index 0000000..01d507f
--- /dev/null
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/OptionalABinaryTypeComputer.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.om.typecomputer.impl;
+
+import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.typecomputer.base.TypeComputerUtilities;
+import edu.uci.ics.asterix.om.types.AUnionType;
+import edu.uci.ics.asterix.om.types.BuiltinType;
+import edu.uci.ics.asterix.om.types.IAType;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalExpression;
+import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.IVariableTypeEnvironment;
+import edu.uci.ics.hyracks.algebricks.core.algebra.metadata.IMetadataProvider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class OptionalABinaryTypeComputer implements IResultTypeComputer {
+    public static final OptionalABinaryTypeComputer INSTANCE = new OptionalABinaryTypeComputer();
+
+    private OptionalABinaryTypeComputer(){
+
+    }
+
+    @Override public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
+            IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
+        if (TypeComputerUtilities.nullableType(expression, env)) {
+            List<IAType> unionList = new ArrayList<IAType>();
+            unionList.add(BuiltinType.ANULL);
+            unionList.add(BuiltinType.ABINARY);
+            return new AUnionType(unionList, "OptionalBinary");
+        } else {
+            return BuiltinType.ABINARY;
+        }
+    }
+}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java
index 75ed41d..9f963f4 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
 package edu.uci.ics.asterix.om.typecomputer.impl;
 
 import java.io.IOException;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/TypeCompatibilityChecker.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/TypeCompatibilityChecker.java
index 0739b2f..7c8ae51 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/TypeCompatibilityChecker.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/TypeCompatibilityChecker.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
 package edu.uci.ics.asterix.om.typecomputer.impl;
 
 import java.util.ArrayList;
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/UnaryBinaryInt32OrNullTypeComputer.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/UnaryBinaryInt32OrNullTypeComputer.java
new file mode 100644
index 0000000..3a28b52
--- /dev/null
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/typecomputer/impl/UnaryBinaryInt32OrNullTypeComputer.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.om.typecomputer.impl;
+
+import edu.uci.ics.asterix.om.typecomputer.base.IResultTypeComputer;
+import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.om.types.AUnionType;
+import edu.uci.ics.asterix.om.types.BuiltinType;
+import edu.uci.ics.asterix.om.types.IAType;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.NotImplementedException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalExpression;
+import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression;
+import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.IVariableTypeEnvironment;
+import edu.uci.ics.hyracks.algebricks.core.algebra.metadata.IMetadataProvider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class UnaryBinaryInt32OrNullTypeComputer implements IResultTypeComputer {
+    public static final UnaryBinaryInt32OrNullTypeComputer INSTANCE = new UnaryBinaryInt32OrNullTypeComputer();
+
+    private UnaryBinaryInt32OrNullTypeComputer() {
+
+    }
+
+    @Override public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env,
+            IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException {
+        AbstractFunctionCallExpression fce = (AbstractFunctionCallExpression) expression;
+        if (fce.getArguments().size() != 1) {
+            throw new AlgebricksException("Wrong Argument Number.");
+        }
+        ILogicalExpression arg0 = fce.getArguments().get(0).getValue();
+        IAType t0;
+        t0 = (IAType) env.getType(arg0);
+        if (t0.getTypeTag() != ATypeTag.NULL
+                && t0.getTypeTag() != ATypeTag.BINARY
+                && (t0.getTypeTag() == ATypeTag.UNION && !((AUnionType) t0).getUnionList()
+                .contains(BuiltinType.ABINARY))) {
+            throw new NotImplementedException("Expects Binary Type.");
+        }
+
+        List<IAType> unionList = new ArrayList<IAType>();
+        unionList.add(BuiltinType.ANULL);
+        if (t0.getTypeTag() == ATypeTag.NULL) {
+            return BuiltinType.ANULL;
+        }
+
+        if (t0.getTypeTag() == ATypeTag.BINARY || t0.getTypeTag().equals(ATypeTag.UNION)) {
+            unionList.add(BuiltinType.AINT32);
+        }
+
+        return new AUnionType(unionList, "binary-length-Result");
+
+    }
+}
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/types/ARecordType.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/types/ARecordType.java
index 493709e..be14ef7 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/types/ARecordType.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/types/ARecordType.java
@@ -279,6 +279,7 @@
                     case FLOAT:
                     case DOUBLE:
                     case STRING:
+                    case BINARY:
                     case DATE:
                     case TIME:
                     case UUID:
@@ -336,6 +337,7 @@
                         case FLOAT:
                         case DOUBLE:
                         case STRING:
+                        case BINARY:
                         case DATE:
                         case TIME:
                         case DATETIME:
@@ -438,6 +440,7 @@
             case FLOAT:
             case DOUBLE:
             case STRING:
+            case BINARY:
             case DATE:
             case TIME:
             case DATETIME:
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/util/NonTaggedFormatUtil.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/util/NonTaggedFormatUtil.java
index b16fddb..cbc5054 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/util/NonTaggedFormatUtil.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/util/NonTaggedFormatUtil.java
@@ -45,6 +45,7 @@
     public static final boolean isFixedSizedCollection(IAType type) {
         switch (type.getTypeTag()) {
             case STRING:
+            case BINARY:
             case RECORD:
             case ORDEREDLIST:
             case UNORDEREDLIST:
@@ -135,6 +136,7 @@
                 else
                     return AInt16SerializerDeserializer.getShort(serNonTaggedAObject, offset) * 16 + 2;
             case STRING:
+            case BINARY:
                 if (tagged)
                     return AInt16SerializerDeserializer.getUnsignedShort(serNonTaggedAObject, offset + 1) + 2;
                 else
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/visitors/OMPrintToStringVisitor.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/visitors/OMPrintToStringVisitor.java
index 073fb0f..5571769 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/visitors/OMPrintToStringVisitor.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/visitors/OMPrintToStringVisitor.java
@@ -71,6 +71,7 @@
 
     @Override
     public void visitABinary(ABinary obj) throws AsterixException {
+        // TODO Auto-generated method stub
         throw new NotImplementedException();
     }
 
diff --git a/asterix-om/src/test/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryPrinterTest.java b/asterix-om/src/test/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryPrinterTest.java
new file mode 100644
index 0000000..04036df
--- /dev/null
+++ b/asterix-om/src/test/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ABinaryPrinterTest.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.dataflow.data.nontagged.printers;
+
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.data.std.primitive.ByteArrayPointable;
+import org.junit.Test;
+
+import javax.xml.bind.DatatypeConverter;
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.util.Arrays;
+
+import static org.junit.Assert.*;
+
+public class ABinaryPrinterTest {
+
+    public static byte[] generateABinaryBytesByStringContent(String content){
+        String padding = "000000" + content;
+        byte [] bytes = DatatypeConverter.parseHexBinary(padding);
+        ByteArrayPointable.putLength(content.length() / 2, bytes, 1);
+        return bytes;
+    }
+
+    public static void testOneInputString(String input) throws AlgebricksException {
+
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        PrintStream ps = new PrintStream(baos);
+
+        byte [] bytes = generateABinaryBytesByStringContent(input);
+        ABinaryHexPrinter.INSTANCE.print(bytes, 0, bytes.length, ps);
+
+        String pureHex = baos.toString();
+        assertTrue(pureHex.startsWith("hex("));
+        assertTrue(pureHex.endsWith("\")"));
+        assertTrue(pureHex.substring(5,pureHex.length()-2).equalsIgnoreCase(input));
+    }
+
+    @Test
+    public void testPrintEveryChar() throws Exception {
+        testOneInputString("ABCDEF0123456789");
+        testOneInputString("0A0B0C0D0E0F00010203040506070809");
+        testOneInputString("A0B0C0D0E0F000102030405060708090");
+    }
+
+    @Test
+    public void testSpecialString() throws Exception{
+        testOneInputString("");
+        char [] chars = new char[(ByteArrayPointable.MAX_LENGTH ) * 2];
+        Arrays.fill(chars, 'F');
+        testOneInputString(new String(chars));
+    }
+}
\ No newline at end of file
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/common/AbstractAsterixListIterator.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/common/AbstractAsterixListIterator.java
index 56e5139..e95e9cb 100644
--- a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/common/AbstractAsterixListIterator.java
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/common/AbstractAsterixListIterator.java
@@ -124,6 +124,10 @@
                 }
                 break;
             }
+            case BINARY: {
+                cmp = AqlBinaryComparatorFactoryProvider.BINARY_POINTABLE_INSTANCE.createBinaryComparator();
+                break;
+            }
             default: {
                 cmp = null;
                 break;
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/comparisons/AbstractComparisonEvaluator.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/comparisons/AbstractComparisonEvaluator.java
index e5a26fc..ee1d98a 100644
--- a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/comparisons/AbstractComparisonEvaluator.java
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/comparisons/AbstractComparisonEvaluator.java
@@ -42,6 +42,8 @@
 import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparator;
 import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
+import edu.uci.ics.hyracks.data.std.accessors.PointableBinaryComparatorFactory;
+import edu.uci.ics.hyracks.data.std.primitive.ByteArrayPointable;
 import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
 import edu.uci.ics.hyracks.dataflow.common.data.marshalling.FloatSerializerDeserializer;
@@ -54,7 +56,9 @@
         EQUAL,
         GREATER_THAN,
         UNKNOWN
-    };
+    }
+
+    ;
 
     protected DataOutput out;
     protected ArrayBackedValueStorage outLeft = new ArrayBackedValueStorage();
@@ -85,6 +89,9 @@
             .createBinaryComparator();
     protected IBinaryComparator rectangleBinaryComparator = ARectanglePartialBinaryComparatorFactory.INSTANCE
             .createBinaryComparator();
+    protected final IBinaryComparator byteArrayComparator = new PointableBinaryComparatorFactory(
+            ByteArrayPointable.FACTORY)
+            .createBinaryComparator();
 
     public AbstractComparisonEvaluator(DataOutput out, ICopyEvaluatorFactory evalLeftFactory,
             ICopyEvaluatorFactory evalRightFactory) throws AlgebricksException {
@@ -142,8 +149,9 @@
             }
         }
 
-        if (isLeftNull || isRightNull)
+        if (isLeftNull || isRightNull) {
             return ComparisonResult.UNKNOWN;
+        }
 
         switch (typeTag1) {
             case INT8: {
@@ -228,15 +236,20 @@
                 result = rectangleBinaryComparator.compare(outLeft.getByteArray(), 1, outLeft.getLength() - 1,
                         outRight.getByteArray(), 1, outRight.getLength() - 1);
                 break;
+            case BINARY:
+                result = byteArrayComparator.compare(outLeft.getByteArray(), 1, outLeft.getLength() - 1,
+                        outRight.getByteArray(), 1, outRight.getLength() - 1);
+                break;
             default:
                 throw new AlgebricksException("Comparison for " + actualTypeTag + " is not supported.");
         }
-        if (result == 0)
+        if (result == 0) {
             return ComparisonResult.EQUAL;
-        else if (result < 0)
+        } else if (result < 0) {
             return ComparisonResult.LESS_THAN;
-        else
+        } else {
             return ComparisonResult.GREATER_THAN;
+        }
     }
 
     private ComparisonResult compareBooleanWithArg(ATypeTag typeTag2) throws AlgebricksException {
@@ -252,12 +265,13 @@
         if (typeTag2 == ATypeTag.STRING) {
             int result = strBinaryComp.compare(outLeft.getByteArray(), 1, outLeft.getLength() - 1,
                     outRight.getByteArray(), 1, outRight.getLength() - 1);
-            if (result == 0)
+            if (result == 0) {
                 return ComparisonResult.EQUAL;
-            else if (result < 0)
+            } else if (result < 0) {
                 return ComparisonResult.LESS_THAN;
-            else
+            } else {
                 return ComparisonResult.GREATER_THAN;
+            }
         }
         throw new AlgebricksException("Comparison is undefined between types AString and " + typeTag2 + " .");
     }
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/constructors/ABinaryBase64StringConstructorDescriptor.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/constructors/ABinaryBase64StringConstructorDescriptor.java
new file mode 100644
index 0000000..e492c82
--- /dev/null
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/constructors/ABinaryBase64StringConstructorDescriptor.java
@@ -0,0 +1,35 @@
+package edu.uci.ics.asterix.runtime.evaluators.constructors;
+
+import edu.uci.ics.asterix.om.functions.AsterixBuiltinFunctions;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptor;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptorFactory;
+import edu.uci.ics.asterix.runtime.evaluators.base.AbstractScalarFunctionDynamicDescriptor;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
+import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.ByteArrayBase64ParserFactory;
+
+public class ABinaryBase64StringConstructorDescriptor extends AbstractScalarFunctionDynamicDescriptor {
+
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override public IFunctionDescriptor createFunctionDescriptor() {
+            return new ABinaryBase64StringConstructorDescriptor();
+        }
+    };
+
+    @Override public ICopyEvaluatorFactory createEvaluatorFactory(final ICopyEvaluatorFactory[] args)
+            throws AlgebricksException {
+        return new ICopyEvaluatorFactory() {
+            @Override public ICopyEvaluator createEvaluator(IDataOutputProvider output) throws AlgebricksException {
+                return new ABinaryHexStringConstructorDescriptor.ABinaryConstructorEvaluator(output, args[0],
+                        ByteArrayBase64ParserFactory.INSTANCE);
+            }
+        };
+    }
+
+    @Override public FunctionIdentifier getIdentifier() {
+        return AsterixBuiltinFunctions.BINARY_BASE64_CONSTRUCTOR;
+    }
+}
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/constructors/ABinaryHexStringConstructorDescriptor.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/constructors/ABinaryHexStringConstructorDescriptor.java
new file mode 100644
index 0000000..bcf2715
--- /dev/null
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/constructors/ABinaryHexStringConstructorDescriptor.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.runtime.evaluators.constructors;
+
+import edu.uci.ics.asterix.formats.nontagged.AqlSerializerDeserializerProvider;
+import edu.uci.ics.asterix.om.base.ANull;
+import edu.uci.ics.asterix.om.functions.AsterixBuiltinFunctions;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptor;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptorFactory;
+import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.om.types.BuiltinType;
+import edu.uci.ics.asterix.runtime.evaluators.base.AbstractScalarFunctionDynamicDescriptor;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
+import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.ByteArrayHexParserFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.IValueParser;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.IValueParserFactory;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+public class ABinaryHexStringConstructorDescriptor extends AbstractScalarFunctionDynamicDescriptor {
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new ABinaryHexStringConstructorDescriptor();
+        }
+    };
+
+    @Override public ICopyEvaluatorFactory createEvaluatorFactory(final ICopyEvaluatorFactory[] args)
+            throws AlgebricksException {
+        return new ICopyEvaluatorFactory() {
+            @Override public ICopyEvaluator createEvaluator(final IDataOutputProvider output)
+                    throws AlgebricksException {
+                return new ABinaryConstructorEvaluator(output, args[0], ByteArrayHexParserFactory.INSTANCE);
+            }
+        };
+    }
+
+    @Override public FunctionIdentifier getIdentifier() {
+        return AsterixBuiltinFunctions.BINARY_HEX_CONSTRUCTOR;
+    }
+
+    static class ABinaryConstructorEvaluator implements ICopyEvaluator {
+        private DataOutput out;
+        private ArrayBackedValueStorage outInput;
+        private ICopyEvaluator eval;
+        private IValueParser byteArrayParser;
+
+        @SuppressWarnings("unchecked")
+        private ISerializerDeserializer<ANull> nullSerde = AqlSerializerDeserializerProvider.INSTANCE
+                .getSerializerDeserializer(BuiltinType.ANULL);
+
+        public ABinaryConstructorEvaluator(final IDataOutputProvider output, ICopyEvaluatorFactory copyEvaluatorFactory,
+                IValueParserFactory valueParserFactory)
+                throws AlgebricksException {
+            out = output.getDataOutput();
+            outInput = new ArrayBackedValueStorage();
+            eval = copyEvaluatorFactory.createEvaluator(outInput);
+            byteArrayParser = valueParserFactory.createValueParser();
+        }
+
+        @Override public void evaluate(IFrameTupleReference tuple) throws AlgebricksException {
+
+            try {
+                outInput.reset();
+                eval.evaluate(tuple);
+                byte[] binary = outInput.getByteArray();
+
+                ATypeTag tt = ATypeTag.VALUE_TYPE_MAPPING[binary[0]];
+                if (tt == ATypeTag.NULL) {
+                    nullSerde.serialize(ANull.NULL, out);
+                } else if (tt == ATypeTag.BINARY) {
+                    out.write(outInput.getByteArray(), outInput.getStartOffset(), outInput.getLength());
+                } else if (tt == ATypeTag.STRING) {
+                    String string = new String(outInput.getByteArray(), 3, outInput.getLength() - 3,
+                            "UTF-8");
+                    char[] buffer = string.toCharArray();
+                    out.write(ATypeTag.BINARY.serialize());
+                    byteArrayParser.parse(buffer, 0, buffer.length, out);
+                } else {
+                    throw new AlgebricksException("binary type of " + tt + "haven't implemented yet.");
+                }
+            } catch (IOException e) {
+                throw new AlgebricksException(e);
+            }
+        }
+    }
+
+    ;
+}
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/AbstractCopyEvaluator.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/AbstractCopyEvaluator.java
new file mode 100644
index 0000000..09dc82d
--- /dev/null
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/AbstractCopyEvaluator.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.runtime.evaluators.functions.binary;
+
+import edu.uci.ics.asterix.formats.nontagged.AqlSerializerDeserializerProvider;
+import edu.uci.ics.asterix.om.base.ANull;
+import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.om.types.BuiltinType;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+
+import java.io.DataOutput;
+
+public abstract class AbstractCopyEvaluator implements ICopyEvaluator {
+    @SuppressWarnings("unchecked")
+    protected ISerializerDeserializer<ANull> nullSerde = AqlSerializerDeserializerProvider.INSTANCE
+            .getSerializerDeserializer(BuiltinType.ANULL);
+
+    protected DataOutput dataOutput;
+    protected ArrayBackedValueStorage[] storages;
+    protected ICopyEvaluator[] evaluators;
+
+    public AbstractCopyEvaluator(final IDataOutputProvider output, final ICopyEvaluatorFactory[] copyEvaluatorFactories)
+            throws AlgebricksException {
+        dataOutput = output.getDataOutput();
+        storages = new ArrayBackedValueStorage[copyEvaluatorFactories.length];
+        evaluators = new ICopyEvaluator[copyEvaluatorFactories.length];
+        for (int i = 0; i < evaluators.length; ++i) {
+            storages[i] = new ArrayBackedValueStorage();
+            evaluators[i] = copyEvaluatorFactories[i].createEvaluator(storages[i]);
+        }
+    }
+
+    public ATypeTag evaluateTuple(IFrameTupleReference tuple, int id) throws AlgebricksException {
+        storages[id].reset();
+        evaluators[id].evaluate(tuple);
+        return ATypeTag.VALUE_TYPE_MAPPING[storages[id].getByteArray()[0]];
+    }
+
+    public boolean serializeNullIfAnyNull(ATypeTag... tags) throws HyracksDataException {
+        for (ATypeTag typeTag : tags) {
+            if (typeTag == ATypeTag.NULL) {
+                nullSerde.serialize(ANull.NULL, dataOutput);
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private static final String FIRST = "1st";
+    private static final String SECOND = "2nd";
+    private static final String THIRD = "3rd";
+    private static final String TH = "th";
+
+    public static String idToString(int i) {
+        String prefix = "";
+        if (i >= 10) {
+            prefix = String.valueOf(i / 10);
+        }
+        switch (i % 10) {
+            case 1:
+                return prefix + FIRST;
+            case 2:
+                return prefix + SECOND;
+            case 3:
+                return prefix + THIRD;
+            default:
+                return String.valueOf(i) + TH;
+        }
+    }
+
+    public static void checkTypeMachingThrowsIfNot(String title, ATypeTag[] expected, ATypeTag... actual)
+            throws AlgebricksException {
+        for (int i = 0; i < expected.length; i++) {
+            if (expected[i] != actual[i]) {
+                throw new AlgebricksException(title +
+                        ": expects " + expected[i] + " at " + idToString(i + 1) + " argument, but got " + actual[i]);
+            }
+        }
+    }
+
+}
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/BinaryConcatDescriptor.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/BinaryConcatDescriptor.java
new file mode 100644
index 0000000..ab1d6e1
--- /dev/null
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/BinaryConcatDescriptor.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.runtime.evaluators.functions.binary;
+
+import edu.uci.ics.asterix.common.exceptions.AsterixException;
+import edu.uci.ics.asterix.om.functions.AsterixBuiltinFunctions;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptor;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptorFactory;
+import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.runtime.evaluators.base.AbstractScalarFunctionDynamicDescriptor;
+import edu.uci.ics.asterix.runtime.evaluators.common.AsterixListAccessor;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
+import edu.uci.ics.hyracks.data.std.primitive.ByteArrayPointable;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+
+import java.io.IOException;
+
+public class BinaryConcatDescriptor extends AbstractScalarFunctionDynamicDescriptor {
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override public IFunctionDescriptor createFunctionDescriptor() {
+            return new BinaryConcatDescriptor();
+        }
+    };
+
+    @Override public FunctionIdentifier getIdentifier() {
+        return AsterixBuiltinFunctions.BINARY_CONCAT;
+    }
+
+    @Override public ICopyEvaluatorFactory createEvaluatorFactory(final ICopyEvaluatorFactory[] args)
+            throws AlgebricksException {
+        return new ICopyEvaluatorFactory() {
+            @Override public ICopyEvaluator createEvaluator(final IDataOutputProvider output)
+                    throws AlgebricksException {
+                return new AbstractCopyEvaluator(output, args) {
+
+                    private final AsterixListAccessor listAccessor = new AsterixListAccessor();
+                    private final byte SER_BINARY_TYPE = ATypeTag.BINARY.serialize();
+
+                    @Override public void evaluate(IFrameTupleReference tuple) throws AlgebricksException {
+                        ATypeTag typeTag = evaluateTuple(tuple, 0);
+                        if (typeTag != ATypeTag.UNORDEREDLIST && typeTag != ATypeTag.ORDEREDLIST) {
+                            throw new AlgebricksException(getIdentifier().getName()
+                                    + ": expects input type ORDEREDLIST/UNORDEREDLIST, but got "
+                                    + typeTag);
+                        }
+                        try {
+                            listAccessor.reset(storages[0].getByteArray(), 0);
+
+                            int concatLength = 0;
+                            for (int i = 0; i < listAccessor.size(); i++) {
+                                int itemOffset = listAccessor.getItemOffset(i);
+                                ATypeTag itemType = listAccessor.getItemType(itemOffset);
+                                if (itemType != ATypeTag.BINARY) {
+                                    if (serializeNullIfAnyNull(itemType)) {
+                                        return;
+                                    }
+                                    throw new AlgebricksException(getIdentifier().getName()
+                                            + ": expects type STRING/NULL for the list item but got " + itemType);
+                                }
+                                concatLength += ByteArrayPointable.getLength(storages[0].getByteArray(), itemOffset);
+                            }
+                            if (concatLength > ByteArrayPointable.MAX_LENGTH) {
+                                throw new AlgebricksException("the concatenated binary is too long.");
+                            }
+                            dataOutput.writeByte(SER_BINARY_TYPE);
+                            dataOutput.writeShort(concatLength);
+
+                            for (int i = 0; i < listAccessor.size(); i++) {
+                                int itemOffset = listAccessor.getItemOffset(i);
+                                int length = ByteArrayPointable.getLength(storages[0].getByteArray(), itemOffset);
+                                dataOutput.write(storages[0].getByteArray(),
+                                        itemOffset + ByteArrayPointable.SIZE_OF_LENGTH, length);
+                            }
+                        } catch (HyracksDataException e) {
+                            throw new AlgebricksException(e);
+                        } catch (IOException e) {
+                            throw new AlgebricksException(e);
+                        } catch (AsterixException e) {
+                            throw new AlgebricksException(e);
+                        }
+
+                    }
+                };
+
+            }
+        };
+
+    }
+}
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/BinaryLengthDescriptor.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/BinaryLengthDescriptor.java
new file mode 100644
index 0000000..1d4717e
--- /dev/null
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/BinaryLengthDescriptor.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.runtime.evaluators.functions.binary;
+
+import edu.uci.ics.asterix.formats.nontagged.AqlSerializerDeserializerProvider;
+import edu.uci.ics.asterix.om.base.AInt32;
+import edu.uci.ics.asterix.om.base.AMutableInt32;
+import edu.uci.ics.asterix.om.functions.AsterixBuiltinFunctions;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptor;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptorFactory;
+import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.om.types.BuiltinType;
+import edu.uci.ics.asterix.runtime.evaluators.base.AbstractScalarFunctionDynamicDescriptor;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
+import edu.uci.ics.hyracks.data.std.primitive.ByteArrayPointable;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+
+public class BinaryLengthDescriptor extends AbstractScalarFunctionDynamicDescriptor {
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new BinaryLengthDescriptor();
+        }
+    };
+
+    private static final ATypeTag[] EXPECTED_TAGS = { ATypeTag.BINARY };
+
+    @Override public ICopyEvaluatorFactory createEvaluatorFactory(final ICopyEvaluatorFactory[] args)
+            throws AlgebricksException {
+        return new ICopyEvaluatorFactory() {
+            @Override public ICopyEvaluator createEvaluator(final IDataOutputProvider output)
+                    throws AlgebricksException {
+                return new AbstractCopyEvaluator(output, args) {
+
+                    private AMutableInt32 result = new AMutableInt32(0);
+                    @SuppressWarnings("unchecked")
+                    private ISerializerDeserializer<AInt32> intSerde = AqlSerializerDeserializerProvider.INSTANCE
+                            .getSerializerDeserializer(BuiltinType.AINT32);
+
+                    @Override public void evaluate(IFrameTupleReference tuple) throws AlgebricksException {
+                        ATypeTag tag = evaluateTuple(tuple, 0);
+                        try {
+                            if (serializeNullIfAnyNull(tag)) {
+                                return;
+                            }
+                            checkTypeMachingThrowsIfNot(getIdentifier().getName(), EXPECTED_TAGS, tag);
+                            int len = ByteArrayPointable.getLength(storages[0].getByteArray(), 1);
+                            result.setValue(len);
+                            intSerde.serialize(result, dataOutput);
+                        } catch (HyracksDataException e) {
+                            throw new AlgebricksException(e);
+                        }
+
+                    }
+                };
+            }
+        };
+    }
+
+    @Override public FunctionIdentifier getIdentifier() {
+        return AsterixBuiltinFunctions.BINARY_LENGTH;
+    }
+}
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/FindBinaryDescriptor.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/FindBinaryDescriptor.java
new file mode 100644
index 0000000..4ba91d9
--- /dev/null
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/FindBinaryDescriptor.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.runtime.evaluators.functions.binary;
+
+import edu.uci.ics.asterix.formats.nontagged.AqlSerializerDeserializerProvider;
+import edu.uci.ics.asterix.om.base.AInt32;
+import edu.uci.ics.asterix.om.base.AMutableInt32;
+import edu.uci.ics.asterix.om.functions.AsterixBuiltinFunctions;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptor;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptorFactory;
+import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.om.types.BuiltinType;
+import edu.uci.ics.asterix.runtime.evaluators.base.AbstractScalarFunctionDynamicDescriptor;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
+import edu.uci.ics.hyracks.data.std.primitive.ByteArrayPointable;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+
+public class FindBinaryDescriptor extends AbstractScalarFunctionDynamicDescriptor {
+
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override public IFunctionDescriptor createFunctionDescriptor() {
+            return new FindBinaryDescriptor();
+        }
+    };
+
+    @Override public FunctionIdentifier getIdentifier() {
+        return AsterixBuiltinFunctions.FIND_BINARY;
+    }
+
+    private static final ATypeTag[] EXPECTED_INPUT_TAG = { ATypeTag.BINARY, ATypeTag.BINARY };
+
+    @Override public ICopyEvaluatorFactory createEvaluatorFactory(final ICopyEvaluatorFactory[] args)
+            throws AlgebricksException {
+        return new ICopyEvaluatorFactory() {
+            @Override public ICopyEvaluator createEvaluator(final IDataOutputProvider output)
+                    throws AlgebricksException {
+                return new AbstractFindBinaryCopyEvaluator(output, args, getIdentifier().getName()) {
+                    @Override protected int getFromOffset(IFrameTupleReference tuple) throws AlgebricksException {
+                        return 0;
+                    }
+                };
+            }
+        };
+    }
+
+    static abstract class AbstractFindBinaryCopyEvaluator extends AbstractCopyEvaluator {
+
+        public AbstractFindBinaryCopyEvaluator(IDataOutputProvider output,
+                ICopyEvaluatorFactory[] copyEvaluatorFactories, String functionName) throws AlgebricksException {
+            super(output, copyEvaluatorFactories);
+            this.functionName = functionName;
+        }
+
+        protected String functionName;
+        protected AMutableInt32 result = new AMutableInt32(-1);
+
+        @SuppressWarnings("unchecked")
+        protected ISerializerDeserializer<AInt32> intSerde = AqlSerializerDeserializerProvider.INSTANCE
+                .getSerializerDeserializer(BuiltinType.AINT32);
+
+        @Override public void evaluate(IFrameTupleReference tuple) throws AlgebricksException {
+            ATypeTag textTag = evaluateTuple(tuple, 0);
+            ATypeTag wordTag = evaluateTuple(tuple, 1);
+            int fromOffset = getFromOffset(tuple);
+
+            try {
+                if (serializeNullIfAnyNull(textTag, wordTag)) {
+                    return;
+                }
+                checkTypeMachingThrowsIfNot(functionName, EXPECTED_INPUT_TAG, textTag,
+                        wordTag);
+
+                byte[] textBytes = storages[0].getByteArray();
+                byte[] wordBytes = storages[1].getByteArray();
+                int textLength = ByteArrayPointable.getLength(textBytes, 1);
+                int wordLength = ByteArrayPointable.getLength(wordBytes, 1);
+                result.setValue(1 + indexOf(textBytes, 3, textLength, wordBytes, 3, wordLength, fromOffset));
+                intSerde.serialize(result, dataOutput);
+            } catch (HyracksDataException e) {
+                throw new AlgebricksException(e);
+            }
+        }
+
+        protected abstract int getFromOffset(IFrameTupleReference tuple) throws AlgebricksException;
+    }
+
+    // copy from String.indexOf(String)
+    static int indexOf(byte[] source, int sourceOffset, int sourceCount,
+            byte[] target, int targetOffset, int targetCount,
+            int fromIndex) {
+        if (fromIndex >= sourceCount) {
+            return (targetCount == 0 ? sourceCount : -1);
+        }
+        if (fromIndex < 0) {
+            fromIndex = 0;
+        }
+        if (targetCount == 0) {
+            return fromIndex;
+        }
+
+        byte first = target[targetOffset];
+        int max = sourceOffset + (sourceCount - targetCount);
+
+        for (int i = sourceOffset + fromIndex; i <= max; i++) {
+            /* Look for first character. */
+            if (source[i] != first) {
+                while (++i <= max && source[i] != first)
+                    ;
+            }
+
+            /* Found first character, now look at the rest of v2 */
+            if (i <= max) {
+                int j = i + 1;
+                int end = j + targetCount - 1;
+                for (int k = targetOffset + 1; j < end && source[j]
+                        == target[k]; j++, k++)
+                    ;
+
+                if (j == end) {
+                    /* Found whole string. */
+                    return i - sourceOffset;
+                }
+            }
+        }
+        return -1;
+    }
+
+}
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/FindBinaryFromDescriptor.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/FindBinaryFromDescriptor.java
new file mode 100644
index 0000000..4d0598b
--- /dev/null
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/FindBinaryFromDescriptor.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.runtime.evaluators.functions.binary;
+
+import edu.uci.ics.asterix.om.functions.AsterixBuiltinFunctions;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptor;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptorFactory;
+import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.runtime.evaluators.base.AbstractScalarFunctionDynamicDescriptor;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
+import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer;
+
+public class FindBinaryFromDescriptor extends AbstractScalarFunctionDynamicDescriptor{
+
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override public IFunctionDescriptor createFunctionDescriptor() {
+            return new FindBinaryFromDescriptor();
+        }
+    };
+
+    @Override public FunctionIdentifier getIdentifier() {
+        return AsterixBuiltinFunctions.FIND_BINARY_FROM;
+    }
+
+    @Override public ICopyEvaluatorFactory createEvaluatorFactory(final ICopyEvaluatorFactory[] args)
+            throws AlgebricksException {
+        return new ICopyEvaluatorFactory() {
+            @Override public ICopyEvaluator createEvaluator(final IDataOutputProvider output) throws AlgebricksException {
+                return new FindBinaryDescriptor.AbstractFindBinaryCopyEvaluator(output, args, getIdentifier().getName()) {
+                    @Override protected int getFromOffset(IFrameTupleReference tuple) throws AlgebricksException {
+                        ATypeTag offsetTag = evaluateTuple(tuple, 2);
+                        if (offsetTag != ATypeTag.INT32){
+                            throw new AlgebricksException(functionName + ":expects INT32 at 3rd arguments, but got " + offsetTag);
+                        }
+                        return IntegerSerializerDeserializer.getInt(storages[2].getByteArray(), 1);
+                    }
+                };
+            }
+        };
+    }
+
+}
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/ParseBinaryDescriptor.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/ParseBinaryDescriptor.java
new file mode 100644
index 0000000..35a7fec
--- /dev/null
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/ParseBinaryDescriptor.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.runtime.evaluators.functions.binary;
+
+import edu.uci.ics.asterix.formats.nontagged.AqlSerializerDeserializerProvider;
+import edu.uci.ics.asterix.om.base.ABinary;
+import edu.uci.ics.asterix.om.base.AMutableBinary;
+import edu.uci.ics.asterix.om.functions.AsterixBuiltinFunctions;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptor;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptorFactory;
+import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.om.types.BuiltinType;
+import edu.uci.ics.asterix.runtime.evaluators.base.AbstractScalarFunctionDynamicDescriptor;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
+import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.ByteArrayBase64ParserFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.ByteArrayHexParserFactory;
+
+public class ParseBinaryDescriptor extends AbstractScalarFunctionDynamicDescriptor {
+
+    static final String HEX_FORMAT = "hex";
+    static final String BASE64_FORMAT = "base64";
+
+    static boolean isCaseIgnoreEqual(String expectedLowerCaseString, byte[] bytes, int start,
+            int length) {
+        int pos = start;
+        int index = 0;
+        while (pos < start + length) {
+            char c1 = UTF8StringPointable.charAt(bytes, pos);
+            c1 = Character.toLowerCase(c1);
+            if (expectedLowerCaseString.charAt(index++) != c1) {
+                return false;
+            }
+            pos += UTF8StringPointable.charSize(bytes, pos);
+        }
+        return index == expectedLowerCaseString.length();
+    }
+
+    public final static IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new ParseBinaryDescriptor();
+        }
+    };
+
+    public static final ATypeTag[] EXPECTED_INPUT_TAGS = { ATypeTag.STRING, ATypeTag.STRING };
+
+    @Override public FunctionIdentifier getIdentifier() {
+        return AsterixBuiltinFunctions.PARSE_BINARY;
+    }
+
+    @Override public ICopyEvaluatorFactory createEvaluatorFactory(final ICopyEvaluatorFactory[] args)
+            throws AlgebricksException {
+        return new ICopyEvaluatorFactory() {
+            @Override public ICopyEvaluator createEvaluator(final IDataOutputProvider output)
+                    throws AlgebricksException {
+                return new AbstractCopyEvaluator(output, args) {
+
+                    @SuppressWarnings("unchecked")
+                    private ISerializerDeserializer<ABinary> binarySerde = AqlSerializerDeserializerProvider.INSTANCE
+                            .getSerializerDeserializer(BuiltinType.ABINARY);
+
+                    private AMutableBinary aBinary = new AMutableBinary(new byte[0], 0, 0);
+                    private final byte[] quadruplet = new byte[4];
+
+                    @Override public void evaluate(IFrameTupleReference tuple) throws AlgebricksException {
+                        ATypeTag binaryTag = evaluateTuple(tuple, 0);
+                        ATypeTag formatTag = evaluateTuple(tuple, 1);
+
+                        try {
+                            if (serializeNullIfAnyNull(binaryTag, formatTag)) {
+                                return;
+                            }
+                            checkTypeMachingThrowsIfNot(getIdentifier().getName(), EXPECTED_INPUT_TAGS, binaryTag,
+                                    formatTag);
+                            int lengthString = UTF8StringPointable.getUTFLength(storages[0].getByteArray(), 1);
+                            int lengthFormat = UTF8StringPointable.getUTFLength(storages[1].getByteArray(), 1);
+                            byte[] buffer;
+                            if (isCaseIgnoreEqual(HEX_FORMAT, storages[1].getByteArray(), 3, lengthFormat)) {
+                                buffer = ByteArrayHexParserFactory
+                                        .extractPointableArrayFromHexString(storages[0].getByteArray(), 3,
+                                                lengthString, aBinary.getBytes());
+                            } else if (isCaseIgnoreEqual(BASE64_FORMAT, storages[1].getByteArray(), 3, lengthFormat)) {
+                                buffer = ByteArrayBase64ParserFactory
+                                        .extractPointableArrayFromBase64String(storages[0].getByteArray(), 3
+                                                , lengthString, aBinary.getBytes(), quadruplet);
+                            } else {
+                                throw new AlgebricksException(getIdentifier().getName()
+                                        + ": expects format indicator of \"hex\" or \"base64\" in the 2nd argument");
+                            }
+                            aBinary.setValue(buffer, 0, buffer.length);
+                            binarySerde.serialize(aBinary, dataOutput);
+                        } catch (HyracksDataException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                };
+
+            }
+
+        };
+    }
+
+}
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/PrintBinaryDescriptor.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/PrintBinaryDescriptor.java
new file mode 100644
index 0000000..dd29782
--- /dev/null
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/PrintBinaryDescriptor.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.runtime.evaluators.functions.binary;
+
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ABinaryBase64Printer;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ABinaryHexPrinter;
+import edu.uci.ics.asterix.om.functions.AsterixBuiltinFunctions;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptor;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptorFactory;
+import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.runtime.evaluators.base.AbstractScalarFunctionDynamicDescriptor;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
+import edu.uci.ics.hyracks.data.std.primitive.ByteArrayPointable;
+import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+
+import java.io.IOException;
+
+import static edu.uci.ics.asterix.runtime.evaluators.functions.binary.ParseBinaryDescriptor.*;
+
+public class PrintBinaryDescriptor extends AbstractScalarFunctionDynamicDescriptor {
+
+    private static final byte SER_STRING_BYTE = ATypeTag.STRING.serialize();
+
+    @Override public FunctionIdentifier getIdentifier() {
+        return AsterixBuiltinFunctions.PRINT_BINARY;
+    }
+
+    public final static IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new PrintBinaryDescriptor();
+        }
+    };
+
+    public final static ATypeTag[] EXPECTED_INPUT_TAGS = { ATypeTag.BINARY, ATypeTag.STRING };
+
+    @Override public ICopyEvaluatorFactory createEvaluatorFactory(final ICopyEvaluatorFactory[] args)
+            throws AlgebricksException {
+        return new ICopyEvaluatorFactory() {
+            @Override public ICopyEvaluator createEvaluator(final IDataOutputProvider output)
+                    throws AlgebricksException {
+                return new AbstractCopyEvaluator(output, args) {
+
+                    private StringBuilder stringBuilder = new StringBuilder();
+
+                    @Override public void evaluate(IFrameTupleReference tuple) throws AlgebricksException {
+                        ATypeTag arg0Tag = evaluateTuple(tuple, 0);
+                        ATypeTag arg1Tag = evaluateTuple(tuple, 1);
+
+                        try {
+                            if (serializeNullIfAnyNull(arg0Tag, arg1Tag)) {
+                                return;
+                            }
+                            checkTypeMachingThrowsIfNot(getIdentifier().getName(), EXPECTED_INPUT_TAGS, arg0Tag,
+                                    arg1Tag);
+
+                            byte[] binaryBytes = storages[0].getByteArray();
+                            byte[] formatBytes = storages[1].getByteArray();
+
+                            int lengthBinary = ByteArrayPointable.getLength(binaryBytes, 1);
+                            int lengthFormat = UTF8StringPointable.getUTFLength(formatBytes, 1);
+                            stringBuilder.setLength(0);
+                            if (isCaseIgnoreEqual(HEX_FORMAT, formatBytes, 3, lengthFormat)) {
+                                ABinaryHexPrinter
+                                        .printHexString(binaryBytes, 3, lengthBinary, stringBuilder);
+
+                            } else if (isCaseIgnoreEqual(BASE64_FORMAT, formatBytes, 3, lengthFormat)) {
+                                ABinaryBase64Printer
+                                        .printBase64Binary(binaryBytes, 3, lengthBinary, stringBuilder);
+                            } else {
+                                throw new AlgebricksException(getIdentifier().getName()
+                                        + ": expects format indicator of \"hex\" or \"base64\" in the 2nd argument");
+                            }
+                            dataOutput.writeByte(SER_STRING_BYTE);
+                            dataOutput.writeUTF(stringBuilder.toString());
+                        } catch (HyracksDataException e) {
+                            throw new AlgebricksException(e);
+                        } catch (IOException e) {
+                            throw new AlgebricksException(e);
+                        }
+                    }
+                };
+            }
+        };
+
+    }
+}
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/SubBinaryFromDescriptor.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/SubBinaryFromDescriptor.java
new file mode 100644
index 0000000..2247f2e
--- /dev/null
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/SubBinaryFromDescriptor.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.runtime.evaluators.functions.binary;
+
+import edu.uci.ics.asterix.om.functions.AsterixBuiltinFunctions;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptor;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptorFactory;
+import edu.uci.ics.asterix.runtime.evaluators.base.AbstractScalarFunctionDynamicDescriptor;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
+import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
+import edu.uci.ics.hyracks.data.std.primitive.ByteArrayPointable;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+
+public class SubBinaryFromDescriptor extends AbstractScalarFunctionDynamicDescriptor {
+
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override public IFunctionDescriptor createFunctionDescriptor() {
+            return new SubBinaryFromDescriptor();
+        }
+    };
+
+    @Override public FunctionIdentifier getIdentifier() {
+        return AsterixBuiltinFunctions.SUBBINARY_FROM;
+    }
+
+    @Override public ICopyEvaluatorFactory createEvaluatorFactory(final ICopyEvaluatorFactory[] args)
+            throws AlgebricksException {
+        return new ICopyEvaluatorFactory() {
+            @Override public ICopyEvaluator createEvaluator(final IDataOutputProvider output)
+                    throws AlgebricksException {
+                return new SubBinaryFromToDescriptor.AbstractSubBinaryCopyEvaluator(output, args,
+                        getIdentifier().getName()) {
+                    @Override protected int getSubLength(IFrameTupleReference tuple) throws AlgebricksException {
+                        return ByteArrayPointable.MAX_LENGTH;
+                    }
+                };
+            }
+        };
+    }
+
+}
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/SubBinaryFromToDescriptor.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/SubBinaryFromToDescriptor.java
new file mode 100644
index 0000000..9b3a48f
--- /dev/null
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/evaluators/functions/binary/SubBinaryFromToDescriptor.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  you may obtain a copy of the License from
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package edu.uci.ics.asterix.runtime.evaluators.functions.binary;
+
+import edu.uci.ics.asterix.om.functions.AsterixBuiltinFunctions;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptor;
+import edu.uci.ics.asterix.om.functions.IFunctionDescriptorFactory;
+import edu.uci.ics.asterix.om.types.ATypeTag;
+import edu.uci.ics.asterix.runtime.evaluators.base.AbstractScalarFunctionDynamicDescriptor;
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
+import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
+import edu.uci.ics.hyracks.data.std.primitive.ByteArrayPointable;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer;
+
+import java.io.IOException;
+
+public class SubBinaryFromToDescriptor extends AbstractScalarFunctionDynamicDescriptor {
+
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override public IFunctionDescriptor createFunctionDescriptor() {
+            return new SubBinaryFromToDescriptor();
+        }
+    };
+
+    @Override public FunctionIdentifier getIdentifier() {
+        return AsterixBuiltinFunctions.SUBBINARY_FROM_TO;
+    }
+
+    @Override public ICopyEvaluatorFactory createEvaluatorFactory(final ICopyEvaluatorFactory[] args)
+            throws AlgebricksException {
+        return new ICopyEvaluatorFactory() {
+            @Override public ICopyEvaluator createEvaluator(final IDataOutputProvider output)
+                    throws AlgebricksException {
+                return new AbstractSubBinaryCopyEvaluator(output, args, getIdentifier().getName()) {
+                    @Override protected int getSubLength(IFrameTupleReference tuple) throws AlgebricksException {
+                        ATypeTag tagSubLength = evaluateTuple(tuple, 2);
+                        if (tagSubLength != ATypeTag.INT32) {
+                            throw new AlgebricksException(
+                                    functionName + ":expects INT32 at 3rd arguments, but got " + tagSubLength);
+                        }
+                        return IntegerSerializerDeserializer.getInt(storages[2].getByteArray(), 1);
+                    }
+                };
+            }
+        };
+    }
+
+    static abstract class AbstractSubBinaryCopyEvaluator extends AbstractCopyEvaluator {
+        public AbstractSubBinaryCopyEvaluator(IDataOutputProvider output,
+                ICopyEvaluatorFactory[] copyEvaluatorFactories, String functionName)
+                throws AlgebricksException {
+            super(output, copyEvaluatorFactories);
+            this.functionName = functionName;
+        }
+
+        protected final String functionName;
+
+        static final ATypeTag[] EXPECTED_INPUT_TAGS = { ATypeTag.BINARY, ATypeTag.INT32 };
+
+        @Override public void evaluate(IFrameTupleReference tuple) throws AlgebricksException {
+
+            ATypeTag argTag0 = evaluateTuple(tuple, 0);
+            ATypeTag argTag1 = evaluateTuple(tuple, 1);
+
+            try {
+                if (serializeNullIfAnyNull(argTag0, argTag1)) {
+                    return;
+                }
+                checkTypeMachingThrowsIfNot(functionName, EXPECTED_INPUT_TAGS, argTag0,
+                        argTag1);
+
+                byte[] binaryBytes = storages[0].getByteArray();
+                byte[] startBytes = storages[1].getByteArray();
+
+                int start = IntegerSerializerDeserializer.getInt(startBytes, 1) - 1; // strange SQL index convention
+                int totalLength = ByteArrayPointable.getLength(binaryBytes, 1);
+                int subLength = getSubLength(tuple);
+
+                if (start < 0) {
+                    start = 0;
+                }
+
+                if (start >= totalLength || subLength < 0) {
+                    subLength = 0;
+                } else if (start + subLength > totalLength) {
+                    subLength = totalLength - start;
+                }
+
+                dataOutput.write(ATypeTag.BINARY.serialize());
+                dataOutput.writeShort(subLength);
+                dataOutput
+                        .write(binaryBytes, 1 + ByteArrayPointable.SIZE_OF_LENGTH + start, subLength);
+            } catch (HyracksDataException e) {
+                throw new AlgebricksException(e);
+            } catch (IOException e) {
+                throw new AlgebricksException(e);
+            }
+        }
+
+        protected abstract int getSubLength(IFrameTupleReference tuple) throws AlgebricksException;
+    }
+}
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/formats/NonTaggedDataFormat.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/formats/NonTaggedDataFormat.java
index 28ad34b..d9bf623 100644
--- a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/formats/NonTaggedDataFormat.java
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/formats/NonTaggedDataFormat.java
@@ -127,6 +127,8 @@
 import edu.uci.ics.asterix.runtime.evaluators.common.CreateMBREvalFactory;
 import edu.uci.ics.asterix.runtime.evaluators.common.FieldAccessByIndexEvalFactory;
 import edu.uci.ics.asterix.runtime.evaluators.common.FunctionManagerImpl;
+import edu.uci.ics.asterix.runtime.evaluators.constructors.ABinaryBase64StringConstructorDescriptor;
+import edu.uci.ics.asterix.runtime.evaluators.constructors.ABinaryHexStringConstructorDescriptor;
 import edu.uci.ics.asterix.runtime.evaluators.constructors.ABooleanConstructorDescriptor;
 import edu.uci.ics.asterix.runtime.evaluators.constructors.ACircleConstructorDescriptor;
 import edu.uci.ics.asterix.runtime.evaluators.constructors.ADateConstructorDescriptor;
@@ -242,6 +244,14 @@
 import edu.uci.ics.asterix.runtime.evaluators.functions.SwitchCaseDescriptor;
 import edu.uci.ics.asterix.runtime.evaluators.functions.UnorderedListConstructorDescriptor;
 import edu.uci.ics.asterix.runtime.evaluators.functions.WordTokensDescriptor;
+import edu.uci.ics.asterix.runtime.evaluators.functions.binary.BinaryConcatDescriptor;
+import edu.uci.ics.asterix.runtime.evaluators.functions.binary.BinaryLengthDescriptor;
+import edu.uci.ics.asterix.runtime.evaluators.functions.binary.FindBinaryDescriptor;
+import edu.uci.ics.asterix.runtime.evaluators.functions.binary.FindBinaryFromDescriptor;
+import edu.uci.ics.asterix.runtime.evaluators.functions.binary.ParseBinaryDescriptor;
+import edu.uci.ics.asterix.runtime.evaluators.functions.binary.PrintBinaryDescriptor;
+import edu.uci.ics.asterix.runtime.evaluators.functions.binary.SubBinaryFromDescriptor;
+import edu.uci.ics.asterix.runtime.evaluators.functions.binary.SubBinaryFromToDescriptor;
 import edu.uci.ics.asterix.runtime.evaluators.functions.temporal.AdjustDateTimeForTimeZoneDescriptor;
 import edu.uci.ics.asterix.runtime.evaluators.functions.temporal.AdjustTimeForTimeZoneDescriptor;
 import edu.uci.ics.asterix.runtime.evaluators.functions.temporal.CalendarDuartionFromDateDescriptor;
@@ -410,6 +420,17 @@
         temp.add(NumericRoundDescriptor.FACTORY);
         temp.add(NumericRoundHalfToEvenDescriptor.FACTORY);
         temp.add(NumericRoundHalfToEven2Descriptor.FACTORY);
+
+        // Binary functions
+        temp.add(BinaryLengthDescriptor.FACTORY);
+        temp.add(ParseBinaryDescriptor.FACTORY);
+        temp.add(PrintBinaryDescriptor.FACTORY);
+        temp.add(BinaryConcatDescriptor.FACTORY);
+        temp.add(SubBinaryFromDescriptor.FACTORY);
+        temp.add(SubBinaryFromToDescriptor.FACTORY);
+        temp.add(FindBinaryDescriptor.FACTORY);
+        temp.add(FindBinaryFromDescriptor.FACTORY);
+
         // String functions
         temp.add(StringEqualDescriptor.FACTORY);
         temp.add(StringStartWithDescrtiptor.FACTORY);
@@ -491,6 +512,8 @@
         // new functions - constructors
         temp.add(ABooleanConstructorDescriptor.FACTORY);
         temp.add(ANullConstructorDescriptor.FACTORY);
+        temp.add(ABinaryHexStringConstructorDescriptor.FACTORY);
+        temp.add(ABinaryBase64StringConstructorDescriptor.FACTORY);
         temp.add(AStringConstructorDescriptor.FACTORY);
         temp.add(AInt8ConstructorDescriptor.FACTORY);
         temp.add(AInt16ConstructorDescriptor.FACTORY);
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java
index 0cd3098..a6419fe 100644
--- a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java
@@ -18,7 +18,6 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayDeque;
-import java.util.ArrayList;
 import java.util.BitSet;
 import java.util.List;
 import java.util.Queue;
@@ -32,9 +31,7 @@
 import edu.uci.ics.asterix.dataflow.data.nontagged.serde.AIntervalSerializerDeserializer;
 import edu.uci.ics.asterix.dataflow.data.nontagged.serde.APolygonSerializerDeserializer;
 import edu.uci.ics.asterix.om.base.ABoolean;
-import edu.uci.ics.asterix.om.base.AMutableUUID;
 import edu.uci.ics.asterix.om.base.ANull;
-import edu.uci.ics.asterix.om.base.AUUID;
 import edu.uci.ics.asterix.om.types.AOrderedListType;
 import edu.uci.ics.asterix.om.types.ARecordType;
 import edu.uci.ics.asterix.om.types.ATypeTag;
@@ -151,10 +148,11 @@
     public void initialize(InputStream in, ARecordType recordType, boolean datasetRec) throws AsterixException {
         // Use original record type variable - origRecTypeForAutoGeneratedPK if we have auto-generated PK.
         // The recordType variable does not contain field information about auto-generated PK.
-        if (!isPKAutoGenerated)
+        if (!isPKAutoGenerated) {
             this.recordType = recordType;
-        else
+        } else {
             this.recordType = origRecTypeForAutoGeneratedPK;
+        }
         this.datasetRec = datasetRec;
         try {
             admLexer = new AdmLexer(new java.io.InputStreamReader(in));
@@ -181,15 +179,17 @@
             case AdmLexer.TOKEN_NULL_LITERAL: {
                 if (checkType(ATypeTag.NULL, objectType)) {
                     nullSerde.serialize(ANull.NULL, out);
-                } else
+                } else {
                     throw new ParseException("This field can not be null");
+                }
                 break;
             }
             case AdmLexer.TOKEN_TRUE_LITERAL: {
                 if (checkType(ATypeTag.BOOLEAN, objectType)) {
                     booleanSerde.serialize(ABoolean.TRUE, out);
-                } else
+                } else {
                     throw new ParseException(mismatchErrorMessage + objectType.getTypeName());
+                }
                 break;
             }
             case AdmLexer.TOKEN_BOOLEAN_CONS: {
@@ -199,8 +199,9 @@
             case AdmLexer.TOKEN_FALSE_LITERAL: {
                 if (checkType(ATypeTag.BOOLEAN, objectType)) {
                     booleanSerde.serialize(ABoolean.FALSE, out);
-                } else
+                } else {
                     throw new ParseException(mismatchErrorMessage + objectType.getTypeName());
+                }
                 break;
             }
             case AdmLexer.TOKEN_DOUBLE_LITERAL: {
@@ -267,14 +268,29 @@
                             admLexer.getLastTokenImage().length() - 1);
                     aUUID.fromStringToAMuatbleUUID(tokenImage);
                     uuidSerde.serialize(aUUID, out);
-                } else
+                } else {
                     throw new ParseException(mismatchErrorMessage + objectType.getTypeName());
+                }
                 break;
             }
             case AdmLexer.TOKEN_STRING_CONS: {
                 parseConstructor(ATypeTag.STRING, objectType, out);
                 break;
             }
+            case AdmLexer.TOKEN_HEX_CONS:
+            case AdmLexer.TOKEN_BASE64_CONS: {
+                if (checkType(ATypeTag.BINARY, objectType)) {
+                    if (admLexer.next() == AdmLexer.TOKEN_CONSTRUCTOR_OPEN) {
+                        if (admLexer.next() == AdmLexer.TOKEN_STRING_LITERAL) {
+                            parseToBinaryTarget(token, admLexer.getLastTokenImage(), out);
+                            if (admLexer.next() == AdmLexer.TOKEN_CONSTRUCTOR_CLOSE) {
+                                break;
+                            }
+                        }
+                    }
+                }
+                throw new ParseException(mismatchErrorMessage + objectType.getTypeName());
+            }
             case AdmLexer.TOKEN_DATE_CONS: {
                 parseConstructor(ATypeTag.DATE, objectType, out);
                 break;
@@ -369,8 +385,9 @@
                 if (checkType(ATypeTag.UNORDEREDLIST, objectType)) {
                     objectType = getComplexType(objectType, ATypeTag.UNORDEREDLIST);
                     parseUnorderedList((AUnorderedListType) objectType, out);
-                } else
+                } else {
                     throw new ParseException(mismatchErrorMessage + objectType.getTypeTag());
+                }
                 break;
             }
 
@@ -378,16 +395,18 @@
                 if (checkType(ATypeTag.ORDEREDLIST, objectType)) {
                     objectType = getComplexType(objectType, ATypeTag.ORDEREDLIST);
                     parseOrderedList((AOrderedListType) objectType, out);
-                } else
+                } else {
                     throw new ParseException(mismatchErrorMessage + objectType.getTypeTag());
+                }
                 break;
             }
             case AdmLexer.TOKEN_START_RECORD: {
                 if (checkType(ATypeTag.RECORD, objectType)) {
                     objectType = getComplexType(objectType, ATypeTag.RECORD);
                     parseRecord((ARecordType) objectType, out, datasetRec);
-                } else
+                } else {
                     throw new ParseException(mismatchErrorMessage + objectType.getTypeTag());
+                }
                 break;
             }
             case AdmLexer.TOKEN_UUID_CONS: {
@@ -401,6 +420,7 @@
                 throw new ParseException("Unexpected ADM token kind: " + AdmLexer.tokenKindToString(token) + ".");
             }
         }
+
     }
 
     private String replaceEscapes(String tokenImage) throws ParseException {
@@ -464,15 +484,17 @@
             return null;
         }
 
-        if (aObjectType.getTypeTag() == tag)
+        if (aObjectType.getTypeTag() == tag) {
             return aObjectType;
+        }
 
         if (aObjectType.getTypeTag() == ATypeTag.UNION) {
             List<IAType> unionList = ((AUnionType) aObjectType).getUnionList();
-            for (int i = 0; i < unionList.size(); i++)
+            for (int i = 0; i < unionList.size(); i++) {
                 if (unionList.get(i).getTypeTag() == tag) {
                     return unionList.get(i);
                 }
+            }
         }
         return null; // wont get here
     }
@@ -512,13 +534,15 @@
             if (recType != null) {
                 nulls = new BitSet(recType.getFieldNames().length);
                 recBuilder.reset(recType);
-            } else
+            } else {
                 recBuilder.reset(null);
+            }
         } else if (recType != null) {
             nulls = new BitSet(recType.getFieldNames().length);
             recBuilder.reset(recType);
-        } else
+        } else {
             recBuilder.reset(null);
+        }
 
         recBuilder.init();
         int token;
@@ -581,8 +605,9 @@
                     token = admLexer.next();
                     this.admFromLexerStream(token, fieldType, fieldValueBuffer.getDataOutput(), false);
                     if (openRecordField) {
-                        if (fieldValueBuffer.getByteArray()[0] != ATypeTag.NULL.serialize())
+                        if (fieldValueBuffer.getByteArray()[0] != ATypeTag.NULL.serialize()) {
                             recBuilder.addField(fieldNameBuffer, fieldValueBuffer);
+                        }
                     } else if (recType.getFieldTypes()[fieldId].getTypeTag() == ATypeTag.UNION) {
                         if (NonTaggedFormatUtil.isOptionalField((AUnionType) recType.getFieldTypes()[fieldId])) {
                             if (fieldValueBuffer.getByteArray()[0] != ATypeTag.NULL.serialize()) {
@@ -621,21 +646,26 @@
             // where nullableFieldId equals primaryKey field.
             // In this case, we create a random ID and assign it as a PK
             if (isPKAutoGenerated && nullableFieldId == primaryKeyPosition) {
-                   fieldValueBuffer.reset();
-                   aUUID.nextUUID();
+                fieldValueBuffer.reset();
+                aUUID.nextUUID();
                 fieldValueBuffer.getDataOutput().writeByte(AUUIDTag);
-                Integer64SerializerDeserializer.INSTANCE.serialize(aUUID.getMostSignificantBits(), fieldValueBuffer.getDataOutput());
-                Integer64SerializerDeserializer.INSTANCE.serialize(aUUID.getLeastSignificantBits(), fieldValueBuffer.getDataOutput());
+                Integer64SerializerDeserializer.INSTANCE
+                        .serialize(aUUID.getMostSignificantBits(), fieldValueBuffer.getDataOutput());
+                Integer64SerializerDeserializer.INSTANCE
+                        .serialize(aUUID.getLeastSignificantBits(), fieldValueBuffer.getDataOutput());
                 recBuilder.addField(primaryKeyPosition, fieldValueBuffer);
                 insertedAutoGeneratedPK = true;
                 nulls.set(nullableFieldId);
                 // Check from the primary key field position to make sure no other field is missing
                 nullableFieldId = checkNullConstraints(recType, nulls, nullableFieldId);
             }
-            if (nullableFieldId != -1)
+            if (nullableFieldId != -1) {
                 throw new ParseException("Field: " + recType.getFieldNames()[nullableFieldId] + " can not be null");
-            if (isPKAutoGenerated && !insertedAutoGeneratedPK)
-                throw new ParseException("Auto-generated PK Field: " + recType.getFieldNames()[primaryKeyPosition] + " should not exist in the ADM file.");
+            }
+            if (isPKAutoGenerated && !insertedAutoGeneratedPK) {
+                throw new ParseException("Auto-generated PK Field: " + recType.getFieldNames()[primaryKeyPosition]
+                        + " should not exist in the ADM file.");
+            }
         }
         recBuilder.write(out, true);
         returnRecordBuilder(recBuilder);
@@ -645,23 +675,27 @@
 
     private int checkNullConstraints(ARecordType recType, BitSet nulls, int startingPosition) {
         boolean isNull = false;
-        for (int i = startingPosition; i < recType.getFieldTypes().length; i++)
+        for (int i = startingPosition; i < recType.getFieldTypes().length; i++) {
             if (nulls.get(i) == false) {
                 IAType type = recType.getFieldTypes()[i];
-                if (type.getTypeTag() != ATypeTag.NULL && type.getTypeTag() != ATypeTag.UNION)
+                if (type.getTypeTag() != ATypeTag.NULL && type.getTypeTag() != ATypeTag.UNION) {
                     return i;
+                }
 
                 if (type.getTypeTag() == ATypeTag.UNION) { // union
                     List<IAType> unionList = ((AUnionType) type).getUnionList();
-                    for (int j = 0; j < unionList.size(); j++)
+                    for (int j = 0; j < unionList.size(); j++) {
                         if (unionList.get(j).getTypeTag() == ATypeTag.NULL) {
                             isNull = true;
                             break;
                         }
-                    if (!isNull)
+                    }
+                    if (!isNull) {
                         return i;
+                    }
                 }
             }
+        }
         return -1;
     }
 
@@ -671,8 +705,9 @@
         OrderedListBuilder orderedListBuilder = (OrderedListBuilder) getOrderedListBuilder();
 
         IAType itemType = null;
-        if (oltype != null)
+        if (oltype != null) {
             itemType = oltype.getItemType();
+        }
         orderedListBuilder.reset(oltype);
 
         int token;
@@ -715,8 +750,9 @@
 
         IAType itemType = null;
 
-        if (uoltype != null)
+        if (uoltype != null) {
             itemType = uoltype.getItemType();
+        }
         unorderedListBuilder.reset(uoltype);
 
         int token;
@@ -758,10 +794,11 @@
 
     private IARecordBuilder getRecordBuilder() {
         RecordBuilder recBuilder = (RecordBuilder) recordBuilderPool.poll();
-        if (recBuilder != null)
+        if (recBuilder != null) {
             return recBuilder;
-        else
+        } else {
             return new RecordBuilder();
+        }
     }
 
     private void returnRecordBuilder(IARecordBuilder recBuilder) {
@@ -770,10 +807,11 @@
 
     private IAsterixListBuilder getOrderedListBuilder() {
         OrderedListBuilder orderedListBuilder = (OrderedListBuilder) orderedListBuilderPool.poll();
-        if (orderedListBuilder != null)
+        if (orderedListBuilder != null) {
             return orderedListBuilder;
-        else
+        } else {
             return new OrderedListBuilder();
+        }
     }
 
     private void returnOrderedListBuilder(IAsterixListBuilder orderedListBuilder) {
@@ -782,10 +820,11 @@
 
     private IAsterixListBuilder getUnorderedListBuilder() {
         UnorderedListBuilder unorderedListBuilder = (UnorderedListBuilder) unorderedListBuilderPool.poll();
-        if (unorderedListBuilder != null)
+        if (unorderedListBuilder != null) {
             return unorderedListBuilder;
-        else
+        } else {
             return new UnorderedListBuilder();
+        }
     }
 
     private void returnUnorderedListBuilder(IAsterixListBuilder unorderedListBuilder) {
@@ -805,6 +844,20 @@
         baaosPool.add(tempBaaos);
     }
 
+    private void parseToBinaryTarget(int lexerToken, String tokenImage, DataOutput out)
+            throws ParseException, HyracksDataException {
+        switch (lexerToken) {
+            case AdmLexer.TOKEN_HEX_CONS: {
+                parseHexBinaryString(tokenImage.toCharArray(), 1, tokenImage.length() - 2, out);
+                break;
+            }
+            case AdmLexer.TOKEN_BASE64_CONS: {
+                parseBase64BinaryString(tokenImage.toCharArray(), 1, tokenImage.length() - 2, out);
+                break;
+            }
+        }
+    }
+
     private void parseToNumericTarget(ATypeTag typeTag, IAType objectType, DataOutput out) throws AsterixException,
             IOException {
         final ATypeTag targetTypeTag = getTargetTypeTag(typeTag, objectType);
@@ -951,12 +1004,13 @@
 
     private void parseBoolean(String bool, DataOutput out) throws AsterixException, HyracksDataException {
         String errorMessage = "This can not be an instance of boolean";
-        if (bool.equals("true"))
+        if (bool.equals("true")) {
             booleanSerde.serialize(ABoolean.TRUE, out);
-        else if (bool.equals("false"))
+        } else if (bool.equals("false")) {
             booleanSerde.serialize(ABoolean.FALSE, out);
-        else
+        } else {
             throw new ParseException(errorMessage);
+        }
     }
 
     private void parseInt8(String int8, DataOutput out) throws AsterixException, HyracksDataException {
@@ -965,24 +1019,27 @@
         byte value = 0;
         int offset = 0;
 
-        if (int8.charAt(offset) == '+')
+        if (int8.charAt(offset) == '+') {
             offset++;
-        else if (int8.charAt(offset) == '-') {
+        } else if (int8.charAt(offset) == '-') {
             offset++;
             positive = false;
         }
         for (; offset < int8.length(); offset++) {
-            if (int8.charAt(offset) >= '0' && int8.charAt(offset) <= '9')
+            if (int8.charAt(offset) >= '0' && int8.charAt(offset) <= '9') {
                 value = (byte) (value * 10 + int8.charAt(offset) - '0');
-            else if (int8.charAt(offset) == 'i' && int8.charAt(offset + 1) == '8' && offset + 2 == int8.length())
+            } else if (int8.charAt(offset) == 'i' && int8.charAt(offset + 1) == '8' && offset + 2 == int8.length()) {
                 break;
-            else
+            } else {
                 throw new ParseException(errorMessage);
+            }
         }
-        if (value < 0)
+        if (value < 0) {
             throw new ParseException(errorMessage);
-        if (value > 0 && !positive)
+        }
+        if (value > 0 && !positive) {
             value *= -1;
+        }
         aInt8.setValue(value);
         int8Serde.serialize(aInt8, out);
     }
@@ -993,25 +1050,28 @@
         short value = 0;
         int offset = 0;
 
-        if (int16.charAt(offset) == '+')
+        if (int16.charAt(offset) == '+') {
             offset++;
-        else if (int16.charAt(offset) == '-') {
+        } else if (int16.charAt(offset) == '-') {
             offset++;
             positive = false;
         }
         for (; offset < int16.length(); offset++) {
-            if (int16.charAt(offset) >= '0' && int16.charAt(offset) <= '9')
+            if (int16.charAt(offset) >= '0' && int16.charAt(offset) <= '9') {
                 value = (short) (value * 10 + int16.charAt(offset) - '0');
-            else if (int16.charAt(offset) == 'i' && int16.charAt(offset + 1) == '1' && int16.charAt(offset + 2) == '6'
-                    && offset + 3 == int16.length())
+            } else if (int16.charAt(offset) == 'i' && int16.charAt(offset + 1) == '1' && int16.charAt(offset + 2) == '6'
+                    && offset + 3 == int16.length()) {
                 break;
-            else
+            } else {
                 throw new ParseException(errorMessage);
+            }
         }
-        if (value < 0)
+        if (value < 0) {
             throw new ParseException(errorMessage);
-        if (value > 0 && !positive)
+        }
+        if (value > 0 && !positive) {
             value *= -1;
+        }
         aInt16.setValue(value);
         int16Serde.serialize(aInt16, out);
     }
@@ -1022,25 +1082,28 @@
         int value = 0;
         int offset = 0;
 
-        if (int32.charAt(offset) == '+')
+        if (int32.charAt(offset) == '+') {
             offset++;
-        else if (int32.charAt(offset) == '-') {
+        } else if (int32.charAt(offset) == '-') {
             offset++;
             positive = false;
         }
         for (; offset < int32.length(); offset++) {
-            if (int32.charAt(offset) >= '0' && int32.charAt(offset) <= '9')
+            if (int32.charAt(offset) >= '0' && int32.charAt(offset) <= '9') {
                 value = (value * 10 + int32.charAt(offset) - '0');
-            else if (int32.charAt(offset) == 'i' && int32.charAt(offset + 1) == '3' && int32.charAt(offset + 2) == '2'
-                    && offset + 3 == int32.length())
+            } else if (int32.charAt(offset) == 'i' && int32.charAt(offset + 1) == '3' && int32.charAt(offset + 2) == '2'
+                    && offset + 3 == int32.length()) {
                 break;
-            else
+            } else {
                 throw new ParseException(errorMessage);
+            }
         }
-        if (value < 0)
+        if (value < 0) {
             throw new ParseException(errorMessage);
-        if (value > 0 && !positive)
+        }
+        if (value > 0 && !positive) {
             value *= -1;
+        }
 
         aInt32.setValue(value);
         int32Serde.serialize(aInt32, out);
@@ -1052,25 +1115,28 @@
         long value = 0;
         int offset = 0;
 
-        if (int64.charAt(offset) == '+')
+        if (int64.charAt(offset) == '+') {
             offset++;
-        else if (int64.charAt(offset) == '-') {
+        } else if (int64.charAt(offset) == '-') {
             offset++;
             positive = false;
         }
         for (; offset < int64.length(); offset++) {
-            if (int64.charAt(offset) >= '0' && int64.charAt(offset) <= '9')
+            if (int64.charAt(offset) >= '0' && int64.charAt(offset) <= '9') {
                 value = (value * 10 + int64.charAt(offset) - '0');
-            else if (int64.charAt(offset) == 'i' && int64.charAt(offset + 1) == '6' && int64.charAt(offset + 2) == '4'
-                    && offset + 3 == int64.length())
+            } else if (int64.charAt(offset) == 'i' && int64.charAt(offset + 1) == '6' && int64.charAt(offset + 2) == '4'
+                    && offset + 3 == int64.length()) {
                 break;
-            else
+            } else {
                 throw new ParseException(errorMessage);
+            }
         }
-        if (value < 0)
+        if (value < 0) {
             throw new ParseException(errorMessage);
-        if (value > 0 && !positive)
+        }
+        if (value > 0 && !positive) {
             value *= -1;
+        }
 
         aInt64.setValue(value);
         int64Serde.serialize(aInt64, out);
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/AbstractDataParser.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/AbstractDataParser.java
index e7ae93d..402b639 100644
--- a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/AbstractDataParser.java
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/AbstractDataParser.java
@@ -17,6 +17,7 @@
 import java.io.DataOutput;
 
 import edu.uci.ics.asterix.formats.nontagged.AqlSerializerDeserializerProvider;
+import edu.uci.ics.asterix.om.base.ABinary;
 import edu.uci.ics.asterix.om.base.ABoolean;
 import edu.uci.ics.asterix.om.base.ACircle;
 import edu.uci.ics.asterix.om.base.ADate;
@@ -30,6 +31,7 @@
 import edu.uci.ics.asterix.om.base.AInt64;
 import edu.uci.ics.asterix.om.base.AInt8;
 import edu.uci.ics.asterix.om.base.ALine;
+import edu.uci.ics.asterix.om.base.AMutableBinary;
 import edu.uci.ics.asterix.om.base.AMutableCircle;
 import edu.uci.ics.asterix.om.base.AMutableDate;
 import edu.uci.ics.asterix.om.base.AMutableDateTime;
@@ -64,10 +66,10 @@
 import edu.uci.ics.asterix.om.base.temporal.GregorianCalendarSystem;
 import edu.uci.ics.asterix.om.types.BuiltinType;
 import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.common.utils.Pair;
 import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.ByteArrayBase64ParserFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.ByteArrayHexParserFactory;
 
 /**
  * Base class for data parsers. Includes the common set of definitions for
@@ -82,6 +84,7 @@
     protected AMutableDouble aDouble = new AMutableDouble(0);
     protected AMutableFloat aFloat = new AMutableFloat(0);
     protected AMutableString aString = new AMutableString("");
+    protected AMutableBinary aBinary = new AMutableBinary(new byte[] { }, 0, 0);
     protected AMutableString aStringFieldName = new AMutableString("");
     protected AMutableUUID aUUID = new AMutableUUID(0, 0);
     // For temporal and spatial data types
@@ -98,6 +101,8 @@
     protected AMutableLine aLine = new AMutableLine(null, null);
     protected AMutableDate aDate = new AMutableDate(0);
 
+    private final byte[] base64ParserQuadruplet = new byte[4];
+
     // Serializers
     @SuppressWarnings("unchecked")
     protected ISerializerDeserializer<ADouble> doubleSerde = AqlSerializerDeserializerProvider.INSTANCE
@@ -166,6 +171,9 @@
     @SuppressWarnings("unchecked")
     protected final static ISerializerDeserializer<ALine> lineSerde = AqlSerializerDeserializerProvider.INSTANCE
             .getSerializerDeserializer(BuiltinType.ALINE);
+    @SuppressWarnings("unchecked")
+    protected final static ISerializerDeserializer<ABinary> binarySerde = AqlSerializerDeserializerProvider.INSTANCE
+            .getSerializerDeserializer(BuiltinType.ABINARY);
 
     protected String filename;
 
@@ -289,8 +297,9 @@
     protected void parseRectangle(String rectangle, DataOutput out) throws HyracksDataException {
         try {
             String[] points = rectangle.split(" ");
-            if (points.length != 2)
+            if (points.length != 2) {
                 throw new HyracksDataException("rectangle consists of only 2 points.");
+            }
             aPoint.setValue(Double.parseDouble(points[0].split(",")[0]), Double.parseDouble(points[0].split(",")[1]));
             aPoint2.setValue(Double.parseDouble(points[1].split(",")[0]), Double.parseDouble(points[1].split(",")[1]));
             if (aPoint.getX() > aPoint2.getX() && aPoint.getY() > aPoint2.getY()) {
@@ -310,8 +319,9 @@
     protected void parseLine(String line, DataOutput out) throws HyracksDataException {
         try {
             String[] points = line.split(" ");
-            if (points.length != 2)
+            if (points.length != 2) {
                 throw new HyracksDataException("line consists of only 2 points.");
+            }
             aPoint.setValue(Double.parseDouble(points[0].split(",")[0]), Double.parseDouble(points[0].split(",")[1]));
             aPoint2.setValue(Double.parseDouble(points[1].split(",")[0]), Double.parseDouble(points[1].split(",")[1]));
             aLine.setValue(aPoint, aPoint2);
@@ -321,4 +331,20 @@
         }
     }
 
+    protected void parseHexBinaryString(char[] input, int start, int length, DataOutput out)
+            throws HyracksDataException {
+        byte[] newBytes = ByteArrayHexParserFactory
+                .extractPointableArrayFromHexString(input, start, length, aBinary.getBytes());
+        aBinary.setValue(newBytes, 0, newBytes.length);
+        binarySerde.serialize(aBinary, out);
+    }
+
+    protected void parseBase64BinaryString(char[] input, int start, int length, DataOutput out)
+            throws HyracksDataException {
+        byte[] newBytes = ByteArrayBase64ParserFactory
+                .extractPointableArrayFromBase64String(input, start, length,
+                        aBinary.getBytes(), base64ParserQuadruplet);
+        aBinary.setValue(newBytes, 0, newBytes.length);
+        binarySerde.serialize(aBinary, out);
+    }
 }
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/DelimitedDataParser.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/DelimitedDataParser.java
index 18f9553..7a0ae4d 100644
--- a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/DelimitedDataParser.java
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/DelimitedDataParser.java
@@ -503,6 +503,7 @@
                                 lastDelimiterPosition = p;
                                 start = p + 1;
                                 state = State.CR;
+                                startedQuote = false;
                                 return true;
                             }
                         }
diff --git a/asterix-runtime/src/main/resources/adm.grammar b/asterix-runtime/src/main/resources/adm.grammar
index b9db2e7..b0ca26f 100644
--- a/asterix-runtime/src/main/resources/adm.grammar
+++ b/asterix-runtime/src/main/resources/adm.grammar
@@ -19,6 +19,8 @@
 DATETIME_CONS  = string(datetime)
 DURATION_CONS  = string(duration)
 STRING_CONS    = string(string)
+HEX_CONS       = string(hex)
+BASE64_CONS    = string(base64)
 POINT_CONS     = string(point)
 POINT3D_CONS   = string(point3d)
 LINE_CONS      = string(line)
diff --git a/pom.xml b/pom.xml
index ea8c0bf..95f7fc9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,8 +33,8 @@
     <global.test.includes>**/*TestSuite.java,**/*Test.java,${execution.tests}</global.test.includes>
     <global.test.excludes>${optimizer.tests},${metadata.tests},${invalid.tests}</global.test.excludes>
     <!-- Versions under dependencymanagement or used in many projects via properties -->
-    <algebricks.version>0.2.14</algebricks.version>
-    <hyracks.version>0.2.14</hyracks.version>
+    <algebricks.version>0.2.15-SNAPSHOT</algebricks.version>
+    <hyracks.version>0.2.15-SNAPSHOT</hyracks.version>
     <hadoop.version>2.2.0</hadoop.version>
     <junit.version>4.8.1</junit.version>
     <commons.io.version>2.4</commons.io.version>
