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/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