Added asterix project
git-svn-id: https://asterixdb.googlecode.com/svn/trunk@12 eaa15691-b419-025a-1212-ee371bd00084
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries.txt b/asterix/asterix-app/src/test/resources/metadata/queries.txt
new file mode 100644
index 0000000..fedfeb6
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries.txt
@@ -0,0 +1,27 @@
+metadata_dataverse.aql
+metadata_dataset.aql
+metadata_index.aql
+metadata_datatype.aql
+metadata_node.aql
+metadata_nodegroup.aql
+custord_q1.aql
+custord_q2.aql
+custord_q3.aql
+custord_q4.aql
+custord_dataverse.aql
+custord_dataset.aql
+custord_index.aql
+custord_datatype.aql
+custord_nodegroup.aql
+custord_q5.aql
+exceptions.aql
+custord_q7.aql
+custord_q8.aql
+metadata_dataverse.aql
+metadata_dataset.aql
+metadata_index.aql
+metadata_datatype.aql
+metadata_node.aql
+metadata_nodegroup.aql
+custord_q9.aql
+custord_q10.aql
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_dataset.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_dataset.aql
new file mode 100644
index 0000000..530c6c9
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_dataset.aql
@@ -0,0 +1,10 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/custord_dataset.adm";
+
+for $c in dataset('Dataset')
+where $c.DataverseName = "custord"
+return $c
+
+
+
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_datatype.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_datatype.aql
new file mode 100644
index 0000000..1525b93
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_datatype.aql
@@ -0,0 +1,7 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/custord_datatype.adm";
+
+for $c in dataset('Datatype')
+where $c.DataverseName = "custord"
+return $c
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_dataverse.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_dataverse.aql
new file mode 100644
index 0000000..277bf62
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_dataverse.aql
@@ -0,0 +1,8 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/custord_dataverse.adm";
+
+for $c in dataset('Dataverse')
+where $c.DataverseName = "custord"
+return $c
+
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_index.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_index.aql
new file mode 100644
index 0000000..95450da
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_index.aql
@@ -0,0 +1,7 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/custord_index.adm";
+
+for $c in dataset('Index')
+where $c.DataverseName = "custord"
+return $c
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_nodegroup.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_nodegroup.aql
new file mode 100644
index 0000000..090c739
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_nodegroup.aql
@@ -0,0 +1,6 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/metadata_nodegroup.adm";
+
+for $c in dataset('Nodegroup')
+return $c
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_q1.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q1.aql
new file mode 100644
index 0000000..4ba02b9
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q1.aql
@@ -0,0 +1,65 @@
+drop dataverse custord if exists;
+
+create dataverse custord;
+
+use dataverse custord;
+
+create type StreetType as closed {
+ number: int32?,
+ name: string
+}
+
+create type AddressType as open {
+ street: StreetType,
+ city: string,
+ state: string,
+ zip: int16
+}
+
+create type CustomerType as closed {
+ cid: int32,
+ name: string,
+ age: int32?,
+ address: AddressType?,
+ interests: {{string}},
+ children: [ {
+ name : string,
+ dob : string
+ } ]
+}
+
+create type OrderType as open {
+ oid: int32,
+ cid: int32,
+ orderstatus: string,
+ orderpriority: string,
+ clerk: string,
+ total: float,
+ items: [ {
+ number: int64,
+ storeIds: {{int8}}
+ } ]
+}
+
+create nodegroup group1 if not exists on nc1, nc2;
+
+create dataset Customers(CustomerType)
+ partitioned by key cid, name on group1;
+
+load dataset Customers
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/metadata/customerData.json"),("format"="adm"));
+
+create dataset Orders(OrderType)
+ partitioned by key oid on group1;
+
+load dataset Orders
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1://data/metadata/orderData.json"),("format"="adm"));
+
+create index ordCustId if not exists on Orders(cid);
+
+create index custName if not exists on Customers(name, cid);
+
+create index ordClerkTotal if not exists on Orders(clerk, total);
+
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_q10.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q10.aql
new file mode 100644
index 0000000..abe6041
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q10.aql
@@ -0,0 +1,7 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/custord_q10.adm";
+
+for $c in dataset('Dataset')
+return $c
+
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_q2.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q2.aql
new file mode 100644
index 0000000..d99bed6
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q2.aql
@@ -0,0 +1,6 @@
+use dataverse custord;
+
+write output to nc1:"rttest/custord_q2.adm";
+
+for $c in dataset('Customers')
+return $c.address
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_q3.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q3.aql
new file mode 100644
index 0000000..c093baa
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q3.aql
@@ -0,0 +1,6 @@
+use dataverse custord;
+
+write output to nc1:"rttest/custord_q3.adm";
+
+for $o in dataset('Orders')
+return {"id" : $o.oid, "total": $o.total}
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_q4.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q4.aql
new file mode 100644
index 0000000..03114b7
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q4.aql
@@ -0,0 +1,8 @@
+use dataverse custord;
+
+write output to nc1:"rttest/custord_q4.adm";
+
+for $c in dataset('Customers')
+for $o in dataset('Orders')
+where $c.cid = $o.cid
+return {"cust_name":$c.name, "cust_age": $c.age, "order_total":$o.total}
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_q5.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q5.aql
new file mode 100644
index 0000000..716cce7
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q5.aql
@@ -0,0 +1,21 @@
+drop nodegroup fuzzynodegroup if exists;
+
+drop dataverse fuzzyjoin if exists;
+
+use dataverse custord;
+
+create dataset Customers if not exists (CustomerType)
+ partitioned by key cid, name on group1;
+
+drop dataset employees if exists;
+
+create index custName if not exists on Customers(name, cid);
+
+drop index Customers.custAddress if exists;
+
+create type StreetType if not exists as closed {
+ number: int32?,
+ name: string
+}
+
+drop type DBLPType if exists;
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_q6.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q6.aql
new file mode 100644
index 0000000..231c410
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q6.aql
@@ -0,0 +1,7 @@
+use dataverse custord;
+
+drop index Orders.ordClerkTotal;
+
+drop dataset Orders;
+
+drop type OrderType;
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_q7.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q7.aql
new file mode 100644
index 0000000..247ed78
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q7.aql
@@ -0,0 +1,2 @@
+drop dataverse custord;
+
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_q8.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q8.aql
new file mode 100644
index 0000000..bb4225d
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q8.aql
@@ -0,0 +1,2 @@
+drop nodegroup group1;
+
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/custord_q9.aql b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q9.aql
new file mode 100644
index 0000000..2d3f960
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/custord_q9.aql
@@ -0,0 +1,52 @@
+drop dataverse custord if exists;
+
+create dataverse custord;
+
+use dataverse custord;
+
+create type StreetType as closed {
+ number: int32?,
+ name: string
+}
+
+create type AddressType as open {
+ street: StreetType,
+ city: string,
+ state: string,
+ zip: int16
+}
+
+create type CustomerType as closed {
+ cid: int32,
+ name: string,
+ age: int32?,
+ address: AddressType?,
+ interests: {{string}},
+ children: [ {
+ name : string,
+ dob : string
+ } ]
+}
+
+create type OrderType as open {
+ oid: int32,
+ cid: int32,
+ orderstatus: string,
+ orderpriority: string,
+ clerk: string,
+ total: float,
+ items: [ {
+ number: int64,
+ storeIds: {{int8}}
+ } ]
+}
+
+create external dataset Customers(CustomerType)
+using "edu.uci.ics.asterix.external.dataset.adapter.HDFSAdapter"
+ (("hdfs"="hdfs://temp1/data1"),("n1"="v1"),("n2"="v2"), ("n3"="v3"));
+
+create external dataset Orders(OrderType)
+using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
+(("path"="nc1:///tmp1/data1,nc2:///tmp2/data2"));
+
+
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/exceptions.aql b/asterix/asterix-app/src/test/resources/metadata/queries/exceptions.aql
new file mode 100644
index 0000000..b6ec188
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/exceptions.aql
@@ -0,0 +1,21 @@
+// Each statement (except for the second "use" statement) should throw an exception.
+
+//drop nodegroup group1;
+
+//drop dataverse fuzzyjoin;
+
+//use dataverse fuzzy;
+
+//use dataverse custord;
+
+//drop index Cust.ord;
+
+//drop index Customers.ord;
+
+//drop type AddressType;
+
+//drop type CustomerType;
+
+//drop type StreetType;
+
+//drop dataset DBLP;
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/metadata_dataset.aql b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_dataset.aql
new file mode 100644
index 0000000..723e65c
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_dataset.aql
@@ -0,0 +1,9 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/metadata_dataset.adm";
+
+for $c in dataset('Dataset')
+return $c
+
+
+
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/metadata_datatype.aql b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_datatype.aql
new file mode 100644
index 0000000..a144f4f
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_datatype.aql
@@ -0,0 +1,6 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/metadata_datatype.adm";
+
+for $c in dataset('Datatype')
+return $c
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/metadata_dataverse.aql b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_dataverse.aql
new file mode 100644
index 0000000..e7e1249
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_dataverse.aql
@@ -0,0 +1,6 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/metadata_dataverse.adm";
+
+for $c in dataset('Dataverse')
+return $c
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/metadata_index.aql b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_index.aql
new file mode 100644
index 0000000..6ff3185
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_index.aql
@@ -0,0 +1,6 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/metadata_index.adm";
+
+for $c in dataset('Index')
+return $c
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/metadata_node.aql b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_node.aql
new file mode 100644
index 0000000..ce28ac8
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_node.aql
@@ -0,0 +1,6 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/metadata_node.adm";
+
+for $c in dataset('Node')
+return $c
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/metadata_nodegroup.aql b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_nodegroup.aql
new file mode 100644
index 0000000..090c739
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/metadata_nodegroup.aql
@@ -0,0 +1,6 @@
+use dataverse Metadata;
+
+write output to nc1:"rttest/metadata_nodegroup.adm";
+
+for $c in dataset('Nodegroup')
+return $c
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/regress_01_create_type.aql b/asterix/asterix-app/src/test/resources/metadata/queries/regress_01_create_type.aql
new file mode 100644
index 0000000..e978572
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/regress_01_create_type.aql
@@ -0,0 +1,12 @@
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+create nodegroup group1 if not exists on nc1, nc2;
+
+// Create a type in test dataverse.
+// This type will be referred to in a subsequent script.
+create type TestType as closed {
+ id: int32,
+ name: string
+}
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/regress_02_refer_existing_type.aql b/asterix/asterix-app/src/test/resources/metadata/queries/regress_02_refer_existing_type.aql
new file mode 100644
index 0000000..aeed866
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/regress_02_refer_existing_type.aql
@@ -0,0 +1,6 @@
+use dataverse test;
+
+// Refer to existing type in test dataverse.
+create type UseTestType as closed {
+ test: TestType
+}
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/queries/regress_03_repeated_create_drop.aql b/asterix/asterix-app/src/test/resources/metadata/queries/regress_03_repeated_create_drop.aql
new file mode 100644
index 0000000..02009da
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/queries/regress_03_repeated_create_drop.aql
@@ -0,0 +1,34 @@
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+create type TypeOne as open {
+ f: int32
+}
+create nodegroup group1 if not exists on nc1, nc2;
+create dataset typeonedataset(TypeOne)
+partitioned by key f on group1;
+
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+create type TypeTwo as open {
+ f: int32
+}
+create nodegroup group1 if not exists on nc1, nc2;
+create dataset typetwodataset(TypeTwo)
+partitioned by key f on group1;
+
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+create type TypeThree as open {
+ f: int32
+}
+create nodegroup group1 if not exists on nc1, nc2;
+create dataset typethreedataset(TypeThree)
+partitioned by key f on group1;
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/custord_dataset.adm b/asterix/asterix-app/src/test/resources/metadata/results/custord_dataset.adm
new file mode 100644
index 0000000..68e8f41
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/custord_dataset.adm
@@ -0,0 +1,2 @@
+{ "DataverseName": "custord", "DatasetName": "Customers", "DataTypeName": "CustomerType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "cid", "name" ], "PrimaryKey": [ "cid", "name" ], "GroupName": "group1" }, "ExternalDetails": null, "Timestamp": "Thu Sep 01 15:45:33 PDT 2011" }
+{ "DataverseName": "custord", "DatasetName": "Orders", "DataTypeName": "OrderType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "oid" ], "PrimaryKey": [ "oid" ], "GroupName": "group1" }, "ExternalDetails": null, "Timestamp": "Mon Jul 11 09:30:35 PDT 2011" }
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/custord_datatype.adm b/asterix/asterix-app/src/test/resources/metadata/results/custord_datatype.adm
new file mode 100644
index 0000000..98f1f84
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/custord_datatype.adm
@@ -0,0 +1,13 @@
+{ "DataverseName": "custord", "DatatypeName": "AddressType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "street", "FieldType": "StreetType" }, { "FieldName": "city", "FieldType": "string" }, { "FieldName": "state", "FieldType": "string" }, { "FieldName": "zip", "FieldType": "int16" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Mon Jul 11 12:36:53 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "CustomerType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "EnumValues": null, "Record": { "IsOpen": false, "Fields": [ { "FieldName": "cid", "FieldType": "int32" }, { "FieldName": "name", "FieldType": "string" }, { "FieldName": "age", "FieldType": "Field_age_in_CustomerType" }, { "FieldName": "address", "FieldType": "Field_address_in_CustomerType" }, { "FieldName": "interests", "FieldType": "Field_interests_in_CustomerType" }, { "FieldName": "children", "FieldType": "Field_children_in_CustomerType" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Mon Jul 11 12:37:24 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "Field_address_in_CustomerType", "Derived": { "Tag": "UNION", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": [ "null", "AddressType" ], "UnorderedList": null, "OrderedList": null }, "Timestamp": "Mon Jul 11 12:37:52 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "Field_age_in_CustomerType", "Derived": { "Tag": "UNION", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": [ "null", "int32" ], "UnorderedList": null, "OrderedList": null }, "Timestamp": "Mon Jul 11 12:38:18 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "Field_children_in_CustomerType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "Field_children_in_CustomerType_ItemType" }, "Timestamp": "Mon Jul 11 12:38:44 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "Field_children_in_CustomerType_ItemType", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "name", "FieldType": "string" }, { "FieldName": "dob", "FieldType": "string" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Mon Jul 11 12:39:07 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "Field_interests_in_CustomerType", "Derived": { "Tag": "UNORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": "string", "OrderedList": null }, "Timestamp": "Mon Jul 11 12:39:33 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "Field_items_in_OrderType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "Field_items_in_OrderType_ItemType" }, "Timestamp": "Tue Jul 12 11:35:37 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "Field_items_in_OrderType_ItemType", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "number", "FieldType": "int64" }, { "FieldName": "storeIds", "FieldType": "Field_storeIds_in_Field_items_in_OrderType_ItemType" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Tue Jul 12 11:36:52 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "Field_number_in_StreetType", "Derived": { "Tag": "UNION", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": [ "null", "int32" ], "UnorderedList": null, "OrderedList": null }, "Timestamp": "Mon Jul 11 12:40:47 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "Field_storeIds_in_Field_items_in_OrderType_ItemType", "Derived": { "Tag": "UNORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": "int8", "OrderedList": null }, "Timestamp": "Tue Jul 12 11:37:59 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "OrderType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "oid", "FieldType": "int32" }, { "FieldName": "cid", "FieldType": "int32" }, { "FieldName": "orderstatus", "FieldType": "string" }, { "FieldName": "orderpriority", "FieldType": "string" }, { "FieldName": "clerk", "FieldType": "string" }, { "FieldName": "total", "FieldType": "float" }, { "FieldName": "items", "FieldType": "Field_items_in_OrderType" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Mon Jul 11 12:41:20 PDT 2011" }
+{ "DataverseName": "custord", "DatatypeName": "StreetType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "EnumValues": null, "Record": { "IsOpen": false, "Fields": [ { "FieldName": "number", "FieldType": "Field_number_in_StreetType" }, { "FieldName": "name", "FieldType": "string" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Mon Jul 11 12:42:08 PDT 2011" }
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/custord_dataverse.adm b/asterix/asterix-app/src/test/resources/metadata/results/custord_dataverse.adm
new file mode 100644
index 0000000..6e248c2
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/custord_dataverse.adm
@@ -0,0 +1 @@
+{ "DataverseName": "custord", "DataFormat": "edu.uci.ics.asterix.runtime.formats.NonTaggedDataFormat", "Timestamp": "Mon Jul 11 17:05:53 PDT 2011" }
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/custord_index.adm b/asterix/asterix-app/src/test/resources/metadata/results/custord_index.adm
new file mode 100644
index 0000000..2e0f166
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/custord_index.adm
@@ -0,0 +1,5 @@
+{ "DataverseName": "custord", "DatasetName": "Customers", "IndexName": "$Customers", "IndexStructure": "BTREE", "SearchKey": [ "cid", "name" ], "Timestamp": "Mon Jul 11 10:42:48 PDT 2011" }
+{ "DataverseName": "custord", "DatasetName": "Customers", "IndexName": "custName", "IndexStructure": "BTREE", "SearchKey": [ "name", "cid" ], "Timestamp": "Mon Jul 11 10:44:32 PDT 2011" }
+{ "DataverseName": "custord", "DatasetName": "Orders", "IndexName": "$Orders", "IndexStructure": "BTREE", "SearchKey": [ "oid" ], "Timestamp": "Mon Jul 11 10:44:58 PDT 2011" }
+{ "DataverseName": "custord", "DatasetName": "Orders", "IndexName": "ordClerkTotal", "IndexStructure": "BTREE", "SearchKey": [ "clerk", "total" ], "Timestamp": "Mon Jul 11 17:18:08 PDT 2011" }
+{ "DataverseName": "custord", "DatasetName": "Orders", "IndexName": "ordCustId", "IndexStructure": "BTREE", "SearchKey": [ "cid" ], "Timestamp": "Mon Jul 11 10:46:25 PDT 2011" }
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/custord_nodegroup.adm b/asterix/asterix-app/src/test/resources/metadata/results/custord_nodegroup.adm
new file mode 100644
index 0000000..4edbfaa
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/custord_nodegroup.adm
@@ -0,0 +1 @@
+{ "GroupName": "MetadataGroup", "NodeNames": {{ "nc1" }}, "Timestamp": "Mon Jul 11 10:51:10 PDT 2011" }
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/custord_q10.adm b/asterix/asterix-app/src/test/resources/metadata/results/custord_q10.adm
new file mode 100644
index 0000000..ed1df70
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/custord_q10.adm
@@ -0,0 +1,8 @@
+{ "DataverseName": "Metadata", "DatasetName": "Dataset", "DataTypeName": "DatasetRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "DataverseName", "DatasetName" ], "PrimaryKey": [ "DataverseName", "DatasetName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Thu Sep 01 15:52:00 PDT 2011" }
+{ "DataverseName": "Metadata", "DatasetName": "Datatype", "DataTypeName": "DatatypeRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "DataverseName", "DatatypeName" ], "PrimaryKey": [ "DataverseName", "DatatypeName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Thu Sep 01 15:52:00 PDT 2011" }
+{ "DataverseName": "Metadata", "DatasetName": "Dataverse", "DataTypeName": "DataverseRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "DataverseName" ], "PrimaryKey": [ "DataverseName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Thu Sep 01 15:52:00 PDT 2011" }
+{ "DataverseName": "Metadata", "DatasetName": "Index", "DataTypeName": "IndexRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "DataverseName", "DatasetName", "IndexName" ], "PrimaryKey": [ "DataverseName", "DatasetName", "IndexName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Thu Sep 01 15:52:00 PDT 2011" }
+{ "DataverseName": "Metadata", "DatasetName": "Node", "DataTypeName": "NodeRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "NodeName" ], "PrimaryKey": [ "NodeName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Thu Sep 01 15:52:00 PDT 2011" }
+{ "DataverseName": "Metadata", "DatasetName": "Nodegroup", "DataTypeName": "NodeGroupRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "GroupName" ], "PrimaryKey": [ "GroupName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Tue Sep 06 09:29:34 PDT 2011" }
+{ "DataverseName": "custord", "DatasetName": "Customers", "DataTypeName": "CustomerType", "DatasetType": "EXTERNAL", "InternalDetails": null, "ExternalDetails": { "Adapter": "adapter.java", "HdfsPath": "hdfs://temp1/data1", "Splits": [ ], "Properties": [ { "Name": "n1", "Value": "v1" }, { "Name": "n3", "Value": "v3" }, { "Name": "n2", "Value": "v2" } ], "IsAtHdfs": true }, "Timestamp": "Mon Sep 12 17:07:35 PDT 2011" }
+{ "DataverseName": "custord", "DatasetName": "Orders", "DataTypeName": "OrderType", "DatasetType": "EXTERNAL", "InternalDetails": null, "ExternalDetails": { "Adapter": "adapter.java", "HdfsPath": "null", "Splits": [ { "NodeName": "nc1", "FileName": "/tmp1/data1" }, { "NodeName": "nc2", "FileName": "/tmp2/data2" } ], "Properties": [ ], "IsAtHdfs": false }, "Timestamp": "Mon Sep 12 17:08:14 PDT 2011" }
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/custord_q2.adm b/asterix/asterix-app/src/test/resources/metadata/results/custord_q2.adm
new file mode 100644
index 0000000..44a793a
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/custord_q2.adm
@@ -0,0 +1,2 @@
+{ "street": { "number": 389, "name": "Palo verde" }, "city": "Mountain View", "state": "CA", "zip": 27075i16 }
+null
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/custord_q3.adm b/asterix/asterix-app/src/test/resources/metadata/results/custord_q3.adm
new file mode 100644
index 0000000..04615c9
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/custord_q3.adm
@@ -0,0 +1,4 @@
+{ "id": 10, "total": 14.2326f }
+{ "id": 100, "total": 124.26f }
+{ "id": 1000, "total": 97.20656f }
+{ "id": 10000, "total": 7.206f }
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/custord_q4.adm b/asterix/asterix-app/src/test/resources/metadata/results/custord_q4.adm
new file mode 100644
index 0000000..652ad79
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/custord_q4.adm
@@ -0,0 +1,4 @@
+{ "cust_name": "Mike Rotruck", "cust_age": null, "order_total": 124.26f }
+{ "cust_name": "Mike Rotruck", "cust_age": null, "order_total": 97.20656f }
+{ "cust_name": "Jodi Alex", "cust_age": 19, "order_total": 14.2326f }
+{ "cust_name": "Jodi Alex", "cust_age": 19, "order_total": 7.206f }
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/metadata_dataset.adm b/asterix/asterix-app/src/test/resources/metadata/results/metadata_dataset.adm
new file mode 100644
index 0000000..85a8973
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/metadata_dataset.adm
@@ -0,0 +1,6 @@
+{ "DataverseName": "Metadata", "DatasetName": "Dataset", "DataTypeName": "DatasetRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "DataverseName", "DatasetName" ], "PrimaryKey": [ "DataverseName", "DatasetName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Thu Sep 01 15:52:00 PDT 2011" }
+{ "DataverseName": "Metadata", "DatasetName": "Datatype", "DataTypeName": "DatatypeRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "DataverseName", "DatatypeName" ], "PrimaryKey": [ "DataverseName", "DatatypeName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Thu Sep 01 15:52:00 PDT 2011" }
+{ "DataverseName": "Metadata", "DatasetName": "Dataverse", "DataTypeName": "DataverseRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "DataverseName" ], "PrimaryKey": [ "DataverseName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Thu Sep 01 15:52:00 PDT 2011" }
+{ "DataverseName": "Metadata", "DatasetName": "Index", "DataTypeName": "IndexRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "DataverseName", "DatasetName", "IndexName" ], "PrimaryKey": [ "DataverseName", "DatasetName", "IndexName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Thu Sep 01 15:52:00 PDT 2011" }
+{ "DataverseName": "Metadata", "DatasetName": "Node", "DataTypeName": "NodeRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "NodeName" ], "PrimaryKey": [ "NodeName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Thu Sep 01 15:52:00 PDT 2011" }
+{ "DataverseName": "Metadata", "DatasetName": "Nodegroup", "DataTypeName": "NodeGroupRecordType", "DatasetType": "INTERNAL", "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ "GroupName" ], "PrimaryKey": [ "GroupName" ], "GroupName": "MetadataGroup" }, "ExternalDetails": null, "Timestamp": "Tue Sep 06 09:29:34 PDT 2011" }
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/metadata_datatype.adm b/asterix/asterix-app/src/test/resources/metadata/results/metadata_datatype.adm
new file mode 100644
index 0000000..1ae69c3
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/metadata_datatype.adm
@@ -0,0 +1,49 @@
+{ "DataverseName": "Metadata", "DatatypeName": "DatasetRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "DataverseName", "FieldType": "string" }, { "FieldName": "DatasetName", "FieldType": "string" }, { "FieldName": "DataTypeName", "FieldType": "string" }, { "FieldName": "DatasetType", "FieldType": "string" }, { "FieldName": "InternalDetails", "FieldType": "Field_InternalDetails_in_DatasetRecordType" }, { "FieldName": "ExternalDetails", "FieldType": "Field_ExternalDetails_in_DatasetRecordType" }, { "FieldName": "Timestamp", "FieldType": "string" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Tue Sep 06 08:42:36 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "DatatypeRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "DataverseName", "FieldType": "string" }, { "FieldName": "DatatypeName", "FieldType": "string" }, { "FieldName": "Derived", "FieldType": "Field_Derived_in_DatatypeRecordType" }, { "FieldName": "Timestamp", "FieldType": "string" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "DataverseRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "DataverseName", "FieldType": "string" }, { "FieldName": "DataFormat", "FieldType": "string" }, { "FieldName": "Timestamp", "FieldType": "string" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "UNION", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": [ "null", "Type_#1_UnionType_Field_Derived_in_DatatypeRecordType" ], "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_EnumValues_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "UNION", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": [ "null", "Type_#1_UnionType_Field_EnumValues_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType" ], "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }\
+{ "DataverseName": "Metadata", "DatatypeName": "Field_ExternalDetails_in_DatasetRecordType", "Derived": { "Tag": "UNION", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": [ "null", "Type_#1_UnionType_Field_ExternalDetails_in_DatasetRecordType" ], "UnorderedList": null, "OrderedList": null }, "Timestamp": "Wed Sep 07 15:54:21 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_Fields_in_Type_#1_UnionType_Field_Record_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "Field_Fields_in_Type_#1_UnionType_Field_Record_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType_ItemType" }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_Fields_in_Type_#1_UnionType_Field_Record_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType_ItemType", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "FieldName", "FieldType": "string" }, { "FieldName": "FieldType", "FieldType": "string" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_InternalDetails_in_DatasetRecordType", "Derived": { "Tag": "UNION", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": [ "null", "Type_#1_UnionType_Field_InternalDetails_in_DatasetRecordType" ], "UnorderedList": null, "OrderedList": null }, "Timestamp": "Wed Sep 07 19:02:47 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_NodeNames_in_NodeGroupRecordType", "Derived": { "Tag": "UNORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": "string", "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_NodeStores_in_NodeRecordType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "string" }, "Timestamp": "Mon Sep 12 16:56:20 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_OrderedList_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "UNION", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": [ "null", "string" ], "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_PartitioningKey_in_Type_#1_UnionType_Field_InternalDetails_in_DatasetRecordType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "string" }, "Timestamp": "Wed Sep 07 19:03:39 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_PrimaryKey_in_Type_#1_UnionType_Field_InternalDetails_in_DatasetRecordType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "string" }, "Timestamp": "Wed Sep 07 19:11:05 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_Properties_in_Type_#1_UnionType_Field_ExternalDetails_in_DatasetRecordType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "Field_Properties_in_Type_#1_UnionType_Field_ExternalDetails_in_DatasetRecordType_ItemType" }, "Timestamp": "Wed Sep 07 19:25:06 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_Properties_in_Type_#1_UnionType_Field_ExternalDetails_in_DatasetRecordType_ItemType", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "Name", "FieldType": "string" }, { "FieldName": "Value", "FieldType": "string" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Wed Sep 07 19:15:49 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_Record_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "UNION", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": [ "null", "Type_#1_UnionType_Field_Record_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType" ], "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_SearchKey_in_IndexRecordType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "string" }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_Splits_in_Type_#1_UnionType_Field_ExternalDetails_in_DatasetRecordType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "Field_Splits_in_Type_#1_UnionType_Field_ExternalDetails_in_DatasetRecordType_ItemType" }, "Timestamp": "Wed Sep 07 19:27:12 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_Splits_in_Type_#1_UnionType_Field_ExternalDetails_in_DatasetRecordType_ItemType", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "NodeName", "FieldType": "string" }, { "FieldName": "FileName", "FieldType": "string" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Wed Sep 07 19:27:59 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_Union_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "UNION", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": [ "null", "Type_#1_UnionType_Field_Union_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType" ], "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Field_UnorderedList_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "UNION", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": [ "null", "string" ], "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "IndexRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "DataverseName", "FieldType": "string" }, { "FieldName": "DatasetName", "FieldType": "string" }, { "FieldName": "IndexName", "FieldType": "string" }, { "FieldName": "IndexStructure", "FieldType": "string" }, { "FieldName": "SearchKey", "FieldType": "Field_SearchKey_in_IndexRecordType" }, { "FieldName": "Timestamp", "FieldType": "string" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "NodeGroupRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "GroupName", "FieldType": "string" }, { "FieldName": "NodeNames", "FieldType": "Field_NodeNames_in_NodeGroupRecordType" }, { "FieldName": "Timestamp", "FieldType": "string" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "NodeRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": false, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "NodeName", "FieldType": "string" }, { "FieldName": "NumberOfCores", "FieldType": "int32" }, { "FieldName": "WorkingMemorySize", "FieldType": "int32" }, { "FieldName": "NodeStores", "FieldType": "Field_NodeStores_in_NodeRecordType" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Mon Sep 12 16:58:48 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "Tag", "FieldType": "string" }, { "FieldName": "IsAnonymous", "FieldType": "boolean" }, { "FieldName": "EnumValues", "FieldType": "Field_EnumValues_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType" }, { "FieldName": "Record", "FieldType": "Field_Record_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType" }, { "FieldName": "Union", "FieldType": "Field_Union_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType" }, { "FieldName": "UnorderedList", "FieldType": "Field_UnorderedList_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType" }, { "FieldName": "OrderedList", "FieldType": "Field_OrderedList_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Type_#1_UnionType_Field_EnumValues_in_Type_#1_UnionType_Field_Derived_in_DatatypeRecordType", "Derived": { "Tag": "ORDEREDLIST", "IsAnonymous": true, "EnumValues": null, "Record": null, "Union": null, "UnorderedList": null, "OrderedList": "string" }, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "Type_#1_UnionType_Field_ExternalDetails_in_DatasetRecordType", "Derived": { "Tag": "RECORD", "IsAnonymous": true, "EnumValues": null, "Record": { "IsOpen": true, "Fields": [ { "FieldName": "Adapter", "FieldType": "string" }, { "FieldName": "HdfsPath", "FieldType": "string" }, { "FieldName": "Splits", "FieldType": "Field_Splits_in_Type_#1_UnionType_Field_ExternalDetails_in_DatasetRecordType" }, { "FieldName": "Properties", "FieldType": "Field_Properties_in_Type_#1_UnionType_Field_ExternalDetails_in_DatasetRecordType" }, { "FieldName": "IsAtHdfs", "FieldType": "boolean" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Wed Sep 07 19:28:39 PDT 2011" }
+{ "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" } ] }, "Union": null, "UnorderedList": null, "OrderedList": null }, "Timestamp": "Wed Sep 07 19:29:41 PDT 2011" }
+{ "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": "Sun May 08 16:32:43 PDT 2011" }
+{ "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": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "boolean", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "circle", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "date", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "datetime", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "double", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "duration", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "float", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "int16", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "int32", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "int64", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "int8", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "line2d", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "null", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "point2d", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "point3d", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "polygon2d", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "string", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
+{ "DataverseName": "Metadata", "DatatypeName": "time", "Derived": null, "Timestamp": "Sun May 08 16:32:43 PDT 2011" }
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/metadata_dataverse.adm b/asterix/asterix-app/src/test/resources/metadata/results/metadata_dataverse.adm
new file mode 100644
index 0000000..e7e194f
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/metadata_dataverse.adm
@@ -0,0 +1 @@
+{ "DataverseName": "Metadata", "DataFormat": "edu.uci.ics.asterix.runtime.formats.NonTaggedDataFormat", "Timestamp": "Tue Sep 06 09:27:54 PDT 2011" }
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/metadata_index.adm b/asterix/asterix-app/src/test/resources/metadata/results/metadata_index.adm
new file mode 100644
index 0000000..a800f08
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/metadata_index.adm
@@ -0,0 +1,9 @@
+{ "DataverseName": "Metadata", "DatasetName": "Dataset", "IndexName": "$Dataset", "IndexStructure": "BTREE", "SearchKey": [ "DataverseName", "DatasetName" ], "Timestamp": "Sun May 08 16:32:43 PDT 2011"}
+{ "DataverseName": "Metadata", "DatasetName": "Dataset", "IndexName": "DatatypeName", "IndexStructure": "BTREE", "SearchKey": [ "DataverseName", "DatatypeName", "DatasetName" ], "Timestamp": "Sun May 08 16:32:43 PDT 2011"}
+{ "DataverseName": "Metadata", "DatasetName": "Dataset", "IndexName": "GroupName", "IndexStructure": "BTREE", "SearchKey": [ "GroupName", "DataverseName", "DatasetName" ], "Timestamp": "Sun May 08 16:32:43 PDT 2011"}
+{ "DataverseName": "Metadata", "DatasetName": "Datatype", "IndexName": "$Datatype", "IndexStructure": "BTREE", "SearchKey": [ "DataverseName", "DatatypeName" ], "Timestamp": "Sun May 08 16:32:43 PDT 2011"}
+{ "DataverseName": "Metadata", "DatasetName": "Datatype", "IndexName": "DatatypeName", "IndexStructure": "BTREE", "SearchKey": [ "DataverseName", "NestedDatatypeName", "TopDatatypeName" ], "Timestamp": "Sun May 08 16:32:43 PDT 2011"}
+{ "DataverseName": "Metadata", "DatasetName": "Dataverse", "IndexName": "$Dataverse", "IndexStructure": "BTREE", "SearchKey": [ "DataverseName" ], "Timestamp": "Sun May 08 16:32:43 PDT 2011"}
+{ "DataverseName": "Metadata", "DatasetName": "Index", "IndexName": "$Index", "IndexStructure": "BTREE", "SearchKey": [ "DataverseName", "DatasetName", "IndexName" ], "Timestamp": "Sun May 08 16:32:43 PDT 2011"}
+{ "DataverseName": "Metadata", "DatasetName": "Node", "IndexName": "$Node", "IndexStructure": "BTREE", "SearchKey": [ "NodeName" ], "Timestamp": "Sun May 08 16:32:43 PDT 2011"}
+{ "DataverseName": "Metadata", "DatasetName": "Nodegroup", "IndexName": "$Nodegroup", "IndexStructure": "BTREE", "SearchKey": [ "GroupName" ], "Timestamp": "Sun May 08 16:32:43 PDT 2011"}
\ No newline at end of file
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/metadata_node.adm b/asterix/asterix-app/src/test/resources/metadata/results/metadata_node.adm
new file mode 100644
index 0000000..eaba201
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/metadata_node.adm
@@ -0,0 +1,2 @@
+{ "NodeName": "nc1", "NumberOfCores": 0, "WorkingMemorySize": 0, "NodeStores": [ "/tmp/nc1/" ] }
+{ "NodeName": "nc2", "NumberOfCores": 0, "WorkingMemorySize": 0, "NodeStores": [ "/tmp/nc2/" ] }
diff --git a/asterix/asterix-app/src/test/resources/metadata/results/metadata_nodegroup.adm b/asterix/asterix-app/src/test/resources/metadata/results/metadata_nodegroup.adm
new file mode 100644
index 0000000..d9e1bb0
--- /dev/null
+++ b/asterix/asterix-app/src/test/resources/metadata/results/metadata_nodegroup.adm
@@ -0,0 +1 @@
+{ "GroupName": "MetadataGroup", "NodeNames": {{ "nc1" }}, "Timestamp": "Tue Sep 06 17:10:32 PDT 2011" }
\ No newline at end of file