Changes to fix issue 803

commit cebd62530711b56f7f4449ed6a98c1e743a07eee
Author: Young-Seok <kisskys@gmail.com>
Date:   Mon Sep 29 17:04:02 2014 -0700

Change-Id: I149376a2555612461e0ca27670c904d1c6816cda
Reviewed-on: http://fulliautomatix.ics.uci.edu:8443/143
Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-duplicated-keys/insert-duplicated-keys.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-duplicated-keys/insert-duplicated-keys.1.ddl.aql
new file mode 100644
index 0000000..ae0c4a5
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-duplicated-keys/insert-duplicated-keys.1.ddl.aql
@@ -0,0 +1,14 @@
+drop dataverse STBench if exists;
+create dataverse STBench;
+use dataverse STBench;
+
+create type SimpleGeoPlaceType as closed {
+    coordinates: point,
+    id: int64,
+    name: string,
+    tags: string,
+    categories: string,
+    phone: string
+}
+create dataset SimpleGeoPlace (SimpleGeoPlaceType) primary key id;
+create index btreeName on SimpleGeoPlace(name) type btree;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-duplicated-keys/insert-duplicated-keys.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-duplicated-keys/insert-duplicated-keys.2.update.aql
new file mode 100644
index 0000000..02cfc75
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-duplicated-keys/insert-duplicated-keys.2.update.aql
@@ -0,0 +1,20 @@
+use dataverse STBench;
+
+insert into dataset SimpleGeoPlace
+{ "coordinates": point("-2.423658,53.0842802"), "id": 5, "name": "20:20 Mobile", "tags": "mobile", "categories": "Professional Services Computer Services", "phone": "" }
+;
+
+/* this should return TreeIndexDuplicateKeyException */
+insert into dataset SimpleGeoPlace
+{ "coordinates": point("-2.423658,53.0842802"), "id": 5, "name": "20:20 Mobile", "tags": "mobile", "categories": "Professional Services Computer Services", "phone": "" }
+;
+
+/* this should return TreeIndexDuplicateKeyException without hang*/
+insert into dataset SimpleGeoPlace
+{ "coordinates": point("-2.423658,53.0842802"), "id": 5, "name": "20:20 Mobile", "tags": "mobile", "categories": "Professional Services Computer Services", "phone": "" }
+;
+
+/* this should return TreeIndexDuplicateKeyException without hang*/
+insert into dataset SimpleGeoPlace
+{ "coordinates": point("-2.423658,53.0842802"), "id": 5, "name": "20:20 Mobile", "tags": "mobile", "categories": "Professional Services Computer Services", "phone": "" }
+;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/dml/insert-duplicated-keys/insert-duplicated-keys.3.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/dml/insert-duplicated-keys/insert-duplicated-keys.3.ddl.aql
new file mode 100644
index 0000000..b88d84e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/dml/insert-duplicated-keys/insert-duplicated-keys.3.ddl.aql
@@ -0,0 +1,2 @@
+/* this should successfully drop STBench dataverse */
+drop dataverse STBench;
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterix-app/src/test/resources/runtimets/testsuite.xml
index 2dd0f18..555126d 100644
--- a/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -1452,6 +1452,12 @@
       </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>