diff --git a/asterix-bad/src/test/resources/runtimets/only_bad.xml b/asterix-bad/src/test/resources/runtimets/only_bad.xml
new file mode 100644
index 0000000..d6e89bb
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/only_bad.xml
@@ -0,0 +1,25 @@
+<!--
+ ! Licensed to the Apache Software Foundation (ASF) under one
+ ! or more contributor license agreements. See the NOTICE file
+ ! distributed with this work for additional information
+ ! regarding copyright ownership. The ASF licenses this file
+ ! to you 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 at
+ !
+ ! 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.
+ !-->
+<test-suite  xmlns="urn:xml.testframework.asterix.apache.org"
+             ResultOffsetPath="results"
+             QueryOffsetPath="queries"
+             QueryFileExtension=".sqlpp">
+  <test-group name="failed">
+  </test-group>
+</test-suite>
diff --git a/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.1.ddl.sqlpp
new file mode 100644
index 0000000..9f938f7
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.1.ddl.sqlpp
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 at
+ *
+ *   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.
+ */
+DROP DATAVERSE test IF EXISTS;
+CREATE DATAVERSE test;
+USE test;
+
+DROP DATASET Tweets IF EXISTS;
+DROP TYPE Tweet IF EXISTS;
+
+CREATE TYPE Tweet AS OPEN {
+ tid: bigint,
+ area_code: string,
+ text: string,
+ location: point,
+ timestamp: datetime
+};
+
+CREATE ACTIVE DATASET Tweets(Tweet) PRIMARY KEY tid;
+CREATE DATASET Tweets2(Tweet) PRIMARY KEY tid;
+
+CREATE INDEX s_rating ON Tweets(area_code);
+CREATE INDEX s_location ON Tweets(location) type RTREE;
+
+
+CREATE INDEX s_rating2 ON Tweets2(area_code);
+CREATE INDEX s_location2 ON Tweets2(location) type RTREE;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.2.update.sqlpp
new file mode 100644
index 0000000..961a587
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.2.update.sqlpp
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 at
+ *
+ *   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.
+ */
+use test;
+
+INSERT INTO Tweets([{"tid" : 999, "area_code": "45", "text": "Tweet 1.", "location": point("1998078.3009357268, 1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": False}]);
+UPSERT INTO Tweets([{"tid" : 1000, "area_code": "46", "text": "Tweet 2", "location": point("1998078.3009357268, 1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": False}]);
+
+INSERT INTO Tweets2([{"tid" : 999, "area_code": "45", "text": "Tweet 1.", "location": point("1998078.3009357268, 1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": False}]);
+UPSERT INTO Tweets2([{"tid" : 1000, "area_code": "45", "text": "Tweet 2", "location": point("1998078.3009357268, 1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": False}]);
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.3.update.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.3.update.sqlpp
index b7bb951..a566da2 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.3.update.sqlpp
@@ -16,10 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+use test;
+DELETE FROM Tweets t WHERE t.tid = 1000;
+DELETE FROM Tweets2 t2 WHERE t2.tid = 1000;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.4.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.4.query.sqlpp
index b7bb951..2d6b123 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.4.query.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+USE test;
+SELECT t FROM Tweets2 t ORDER BY t.tid;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.5.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.5.query.sqlpp
index b7bb951..a266db3 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_delete/active_dataset_delete.5.query.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+USE test;
+SELECT t, meta(t).`_active_timestamp` as Time FROM Tweets t ORDER BY t.tid;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.1.ddl.sqlpp
new file mode 100644
index 0000000..9f938f7
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.1.ddl.sqlpp
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 at
+ *
+ *   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.
+ */
+DROP DATAVERSE test IF EXISTS;
+CREATE DATAVERSE test;
+USE test;
+
+DROP DATASET Tweets IF EXISTS;
+DROP TYPE Tweet IF EXISTS;
+
+CREATE TYPE Tweet AS OPEN {
+ tid: bigint,
+ area_code: string,
+ text: string,
+ location: point,
+ timestamp: datetime
+};
+
+CREATE ACTIVE DATASET Tweets(Tweet) PRIMARY KEY tid;
+CREATE DATASET Tweets2(Tweet) PRIMARY KEY tid;
+
+CREATE INDEX s_rating ON Tweets(area_code);
+CREATE INDEX s_location ON Tweets(location) type RTREE;
+
+
+CREATE INDEX s_rating2 ON Tweets2(area_code);
+CREATE INDEX s_location2 ON Tweets2(location) type RTREE;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.2.update.sqlpp
similarity index 78%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.2.update.sqlpp
index b1a132b..42a5a10 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.2.update.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
+use test;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+INSERT INTO Tweets([{"tid" : 999, "area_code": "45", "text": "Tweet 1.", "location": point("1998078.3009357268, 1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": False}]);
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.3.update.sqlpp
similarity index 78%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.3.update.sqlpp
index b1a132b..55bec97 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.3.update.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
+use test;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+INSERT INTO Tweets2([{"tid" : 999, "area_code": "45", "text": "Tweet 1.", "location": point("1998078.3009357268, 1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": False}]);
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.4.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.4.query.sqlpp
index b7bb951..a266db3 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.4.query.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+USE test;
+SELECT t, meta(t).`_active_timestamp` as Time FROM Tweets t ORDER BY t.tid;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.5.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.5.query.sqlpp
index b7bb951..2d6b123 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_insert/active_dataset_insert.5.query.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+USE test;
+SELECT t FROM Tweets2 t ORDER BY t.tid;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.1.ddl.sqlpp
new file mode 100644
index 0000000..9f938f7
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.1.ddl.sqlpp
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 at
+ *
+ *   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.
+ */
+DROP DATAVERSE test IF EXISTS;
+CREATE DATAVERSE test;
+USE test;
+
+DROP DATASET Tweets IF EXISTS;
+DROP TYPE Tweet IF EXISTS;
+
+CREATE TYPE Tweet AS OPEN {
+ tid: bigint,
+ area_code: string,
+ text: string,
+ location: point,
+ timestamp: datetime
+};
+
+CREATE ACTIVE DATASET Tweets(Tweet) PRIMARY KEY tid;
+CREATE DATASET Tweets2(Tweet) PRIMARY KEY tid;
+
+CREATE INDEX s_rating ON Tweets(area_code);
+CREATE INDEX s_location ON Tweets(location) type RTREE;
+
+
+CREATE INDEX s_rating2 ON Tweets2(area_code);
+CREATE INDEX s_location2 ON Tweets2(location) type RTREE;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.2.update.sqlpp
similarity index 78%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.2.update.sqlpp
index b1a132b..7e94456 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.2.update.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
+use test;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+UPSERT INTO Tweets([{"tid" : 1000, "area_code": "45", "text": "Tweet 2", "location": point("1998078.3009357268, 1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": False}]);
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.3.update.sqlpp
similarity index 78%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.3.update.sqlpp
index b1a132b..2e97f48 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.3.update.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
+use test;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+UPSERT INTO Tweets2([{"tid" : 1000, "area_code": "45", "text": "Tweet 2", "location": point("1998078.3009357268, 1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": False}]);
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.4.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.4.query.sqlpp
index b7bb951..a266db3 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.4.query.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+USE test;
+SELECT t, meta(t).`_active_timestamp` as Time FROM Tweets t ORDER BY t.tid;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.5.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.5.query.sqlpp
index b7bb951..2d6b123 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_dataset_upsert/active_dataset_upsert.5.query.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+USE test;
+SELECT t FROM Tweets2 t ORDER BY t.tid;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_feeds/active_feeds.1.ddl.sqlpp
similarity index 70%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_feeds/active_feeds.1.ddl.sqlpp
index b1a132b..936b50c 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_feeds/active_feeds.1.ddl.sqlpp
@@ -16,12 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
+DROP DATAVERSE test IF EXISTS;
+CREATE DATAVERSE test;
+USE test;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+DROP DATASET Tweets IF EXISTS;
+DROP TYPE Tweet IF EXISTS;
+
+CREATE TYPE Tweet AS OPEN {
+ tid: bigint
+};
+
+CREATE ACTIVE DATASET Tweets(Tweet) PRIMARY KEY tid;
+
+//CREATE INDEX s_rating ON Tweets(hateful_rating);
+//CREATE INDEX s_location ON Tweets(location) type RTREE;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_feeds/active_feeds.2.update.sqlpp
similarity index 78%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_feeds/active_feeds.2.update.sqlpp
index b1a132b..83c892d 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_feeds/active_feeds.2.update.sqlpp
@@ -16,12 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
+USE test;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+CREATE FEED TweetFeed WITH {
+  "adapter-name" : "localfs",
+  "path" : "asterix_nc1://data/tweets.txt",
+  "type-name":"Tweet",
+  "format": "adm"
+};
+
+CONNECT FEED TweetFeed TO DATASET Tweets;
+
+START FEED TweetFeed;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_feeds/active_feeds.3.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_feeds/active_feeds.3.query.sqlpp
index b7bb951..28ba203 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_feeds/active_feeds.3.query.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+USE test;
+SELECT t, meta(t).`_active_timestamp` as Time FROM Tweets t where t.threatening_flag = true ORDER BY t.tid;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.1.ddl.sqlpp
similarity index 77%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.1.ddl.sqlpp
index 220f05a..d37cd2c 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.1.ddl.sqlpp
@@ -16,13 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
+DROP DATAVERSE test IF EXISTS;
+CREATE DATAVERSE test;
+USE test;
 
-use channels;
+CREATE TYPE Tweet AS OPEN {
+ tid: bigint,
+ area_code: string,
+ text: string,
+ location: point,
+ timestamp: datetime
+};
 
-drop channel EmergenciesNearMeChannel;
+CREATE ACTIVE DATASET Tweets(Tweet) PRIMARY KEY tid;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.2.update.sqlpp
similarity index 75%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.2.update.sqlpp
index b1a132b..d174faf 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.2.update.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
+use test;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+INSERT INTO Tweets([{"tid" : 999, "area_code": "45", "text": "Xikui likes Google, but Mike likes AsterixDB.", "location": point("1998078.3009357268, 1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": False}]);
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.3.update.sqlpp
similarity index 83%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.3.update.sqlpp
index b7bb951..227bebd 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.3.update.sqlpp
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+USE test;
+
+CREATE FUNCTION Tweets(code)
+{
+  SELECT t
+  FROM Tweets t WHERE area_code = t.area_code AND previous_channel_time(t) < current_datetime()
+};
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.4.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.4.query.sqlpp
index b7bb951..5f67a9b 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_function_in_udf/active_function_in_udf.4.query.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+USE test;
+Tweets("45");
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_functions/active_functions.1.ddl.sqlpp
similarity index 72%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_functions/active_functions.1.ddl.sqlpp
index b1a132b..2fc3783 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_functions/active_functions.1.ddl.sqlpp
@@ -16,12 +16,19 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
+DROP DATAVERSE test IF EXISTS;
+CREATE DATAVERSE test;
+USE test;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+DROP DATASET Tweets IF EXISTS;
+DROP TYPE Tweet IF EXISTS;
+
+CREATE TYPE Tweet AS OPEN {
+ tid: bigint,
+ area_code: string,
+ text: string,
+ location: point,
+ timestamp: datetime
+};
+
+CREATE ACTIVE DATASET Tweets(Tweet) PRIMARY KEY tid;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_functions/active_functions.2.update.sqlpp
similarity index 73%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_functions/active_functions.2.update.sqlpp
index b1a132b..8945806 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_functions/active_functions.2.update.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
+use test;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+INSERT INTO Tweets([{"tid" : 999, "area_code": "45", "text": "Jia sells Google, and Xikui likes Facebook, but Mike betrays AsterixDB.", "location": point("1998078.3009357268, 1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": False}]);
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_functions/active_functions.3.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_functions/active_functions.3.query.sqlpp
index b7bb951..0d719c7 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/active_functions/active_functions.3.query.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+USE test;
+SELECT current_channel_time(t) as Time_current_channel, previous_channel_time(t) as previous_channel_time FROM Tweets t;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.1.ddl.sqlpp
similarity index 65%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.1.ddl.sqlpp
index 3e2d5c0..5624725 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.1.ddl.sqlpp
@@ -16,14 +16,21 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
+drop dataverse experiments if exists;
+create dataverse experiments;
+use experiments;
 
+create type TweetMessageType as open {
+    id : string
+};
 
-use channels;
+create ACTIVE dataset Tweets(TweetMessageType) primary key id;
 
-subscribe to roomRecords (123) on brokerA;
+create feed TweetFeed with {
+  "adapter-name" : "http_adapter",
+  "addresses" : "asterix_nc2:10002,asterix_nc1:10001",
+  "address-type" : "NC",
+  "type-name" : "TweetMessageType",
+  "format" : "adm",
+  "dynamic" : true
+};
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.2.update.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.2.update.sqlpp
index b7bb951..75f92d5 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.2.update.sqlpp
@@ -16,10 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+
+use experiments;
+set `wait-for-completion-feed` "false";
+
+connect feed TweetFeed to dataset Tweets;
+start feed TweetFeed;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.3.post.http
similarity index 67%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.3.post.http
index b1a132b..38d2959 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.3.post.http
@@ -16,12 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
-
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+nc:asterix_nc2:10002 /
+--body={ "id": "nc2:1", "username": "magarika", "location": "", "text": "RT @ken24xavier: Obama tells SOROS - our plan is ALMOST finished http://t.co/WvzK0GtU", "timestamp": "Thu Dec 06 16:53:05 PST 2012" }{ "id": "nc2:2", "username": "jaysauce82", "location": "", "text": "Not voting for President Obama #BadDecision", "timestamp": "Thu Dec 06 16:53:16 PST 2012" }
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.4.post.http
similarity index 77%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.4.post.http
index b1a132b..b5632d2 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.4.post.http
@@ -16,12 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
-
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+nc:asterix_nc1:10001 /
+--body={ "id": "nc1:1", "username": "magarika", "location": "", "text": "RT @ken24xavier: Obama tells SOROS - our plan is ALMOST finished http://t.co/WvzK0GtU", "timestamp": "Thu Dec 06 16:53:05 PST 2012" }
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.5.sleep.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.5.sleep.sqlpp
index b7bb951..2ea09b0 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.5.sleep.sqlpp
@@ -16,10 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+1500
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.6.update.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.6.update.sqlpp
index b7bb951..48690f3 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.6.update.sqlpp
@@ -16,10 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+
+use experiments;
+stop feed TweetFeed;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.7.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.7.query.sqlpp
index b7bb951..bcddf7a 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.7.query.sqlpp
@@ -16,10 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+
+use experiments;
+
+select value count(t) from Tweets as t;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.8.ddl.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.8.ddl.sqlpp
index b7bb951..e4d2615 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_http_feed/bad_http_feed.8.ddl.sqlpp
@@ -16,10 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+
+use experiments;
+drop dataverse experiments;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.1.ddl.sqlpp
similarity index 65%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.1.ddl.sqlpp
index b1a132b..39a6908 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.1.ddl.sqlpp
@@ -16,12 +16,24 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
+DROP DATAVERSE test if exists;
+CREATE DATAVERSE test;
+USE test;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+create type Tweet as open {
+  tid : bigint
+};
+
+CREATE ACTIVE DATASET Tweets(Tweet) primary key tid;
+
+CREATE FEED TweetFeed with {
+  "adapter-name" : "http_adapter",
+  "addresses" : "127.0.0.1:10001",
+  "address-type" : "IP",
+  "type-name" : "Tweet",
+  "format" : "adm",
+  "dynamic" : "false"
+};
+
+CONNECT FEED TweetFeed to dataset Tweets;
+START FEED TweetFeed;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.10.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.10.query.sqlpp
index b7bb951..0959ad1 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.10.query.sqlpp
@@ -16,10 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+use test;
+
+FROM LocalThreateningTweets l
+UNNEST l.results r
+SELECT VALUE r.result.t ORDER BY r.result.t.tid;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.2.ddl.sqlpp
similarity index 81%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.2.ddl.sqlpp
index 220f05a..d3fe34e 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.2.ddl.sqlpp
@@ -16,13 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
+use test;
 
-use channels;
-
-drop channel EmergenciesNearMeChannel;
+CREATE CONTINUOUS PUSH CHANNEL ThreateningTweetsAt(area_name) PERIOD duration("PT2S") {
+    SELECT t
+    FROM Tweets t
+    WHERE t.area_name = area_name AND is_new(t)
+};
diff --git a/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.3.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.3.ddl.sqlpp
new file mode 100644
index 0000000..4d4bc1a
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.3.ddl.sqlpp
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 at
+ *
+ *   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.
+ */
+use test;
+
+CREATE TYPE LocalThreateningTweet AS {
+  channelExecutionEpochTime: bigint,
+  dataverseName: string,
+  channelName: string
+};
+
+CREATE DATASET LocalThreateningTweets(LocalThreateningTweet) PRIMARY KEY channelExecutionEpochTime;
+
+// Here we cannot use BAD feeds, since the remote calls in BAD feeds causes test cases to halt
+CREATE FEED LocalThreateningTweetFeed WITH {
+  "adapter-name" : "http_adapter",
+  "addresses" : "127.0.0.1:10002",
+  "address-type" : "IP",
+  "type-name" : "LocalThreateningTweet",
+  "format" : "adm"
+};
+
+CONNECT FEED LocalThreateningTweetFeed TO DATASET LocalThreateningTweets;
+START FEED LocalThreateningTweetFeed;
+
+CREATE BROKER OCPD_BAD_Broker AT "http://127.0.0.1:10002" with {
+  "broker-type" : "BAD"
+};
+SUBSCRIBE TO ThreateningTweetsAt("OC") on OCPD_BAD_Broker;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.4.post.http
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.4.post.http
index b7bb951..0f4f9e7 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.4.post.http
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+nc:asterix_nc1:10001 /
+--body={"tid" : 0, "area_name": "OC", "text": "OC Tweet"}{"tid" : 1, "area_name": "UCI", "text": "UCI Tweet"}
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.5.sleep.sqlpp
similarity index 86%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.5.sleep.sqlpp
index b7bb951..5f299bc 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.5.sleep.sqlpp
@@ -16,10 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+5000
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.6.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.6.query.sqlpp
index b7bb951..0959ad1 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.6.query.sqlpp
@@ -16,10 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+use test;
+
+FROM LocalThreateningTweets l
+UNNEST l.results r
+SELECT VALUE r.result.t ORDER BY r.result.t.tid;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.7.ddl.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.7.ddl.sqlpp
index b7bb951..788507c 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.7.ddl.sqlpp
@@ -16,10 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+use test;
+
+STOP FEED LocalThreateningTweetFeed;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.8.post.http
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.8.post.http
index b7bb951..c146b00 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.8.post.http
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+nc:asterix_nc1:10001 /
+--body={"tid" : 2, "area_name": "OC", "text": "OC Tweet"}{"tid" : 3, "area_name": "UCI", "text": "UCI Tweet"}
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.9.sleep.sqlpp
similarity index 86%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.9.sleep.sqlpp
index b7bb951..5f299bc 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/bad_islands/bad_islands.9.sleep.sqlpp
@@ -16,10 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+5000
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.1.ddl.sqlpp
similarity index 82%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.1.ddl.sqlpp
index b7bb951..e30e8e9 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.1.ddl.sqlpp
@@ -16,10 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+DROP DATAVERSE test IF EXISTS;
+CREATE DATAVERSE test;
+USE test;
+
+CREATE TYPE Tweet AS OPEN {
+ tid: bigint
+};
+
+CREATE ACTIVE DATASET Tweets(Tweet) PRIMARY KEY tid;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.2.update.sqlpp
similarity index 76%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.2.update.sqlpp
index b1a132b..0ab3f13 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.2.update.sqlpp
@@ -16,12 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
+USE test;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+CREATE FEED TweetFeed WITH {
+  "adapter-name" : "localfs",
+  "path" : "asterix_nc1://data/tweets.txt",
+  "type-name":"Tweet",
+  "format" : "adm",
+  "insert-feed" : true
+};
+
+CONNECT FEED TweetFeed TO DATASET Tweets;
+
+START FEED TweetFeed;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.3.update.sqlpp
similarity index 69%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.3.update.sqlpp
index b1a132b..45cc2f5 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.3.update.sqlpp
@@ -16,12 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-use channels;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+USE test;
+
+CREATE CONTINUOUS CHANNEL ThreateningTweetsAt(area_name) PERIOD duration("PT2S") {
+    SELECT t, current_channel_time("ThreateningTweetsAt") as TimeCurrent , previous_channel_time("ThreateningTweetsAt") as TimePrevious
+    FROM Tweets t
+    WHERE t.area_name = area_name
+      AND is_new(t)
+};
+
+
+CREATE BROKER brokerA AT "http://127.0.0.1:10100";
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.4.update.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.4.update.sqlpp
index b7bb951..fc9d1af 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.4.update.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+USE test;
+SUBSCRIBE TO ThreateningTweetsAt("LA") on brokerA;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.5.sleep.sqlpp
similarity index 86%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.5.sleep.sqlpp
index b7bb951..5f299bc 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.5.sleep.sqlpp
@@ -16,10 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+5000
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.6.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.6.query.sqlpp
index b7bb951..289d213 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_cq/new_tweets_from_area/new_tweets_from_area.6.query.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+use test;
+SELECT VALUE r.result from ThreateningTweetsAtResults r ORDER BY r.result.t.tid;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.1.ddl.sqlpp
similarity index 89%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.1.ddl.sqlpp
index 819d052..5badc4c 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Check Whether a Channel works after adding a new Index
-* Expected Res : Success
-* Date         : Apr 2018
-* Author       : Steven Jacobs
-*/
-
 drop dataverse channels if exists;
 create dataverse channels;
 use channels;
@@ -56,14 +49,12 @@
 
 
 create function RecentEmergenciesNearUser(userName) {
-  (
   select report, shelters from
-   ( select value r from Reports r)report,
+   (select value r from Reports r)report,
   UserLocations u
     let shelters = (select s.location from Shelters s where spatial_intersect(s.location,u.location))
   where u.userName = userName
   and spatial_intersect(report.location,u.location)
-  )
 };
 
 create repetitive channel EmergencyChannel using RecentEmergenciesNearUser@1 period duration("PT10S");
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.2.update.sqlpp
similarity index 99%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.2.update.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.2.update.sqlpp
index 0a38e41..dbd8cf4 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.2.update.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Check Whether a Channel works after adding a new Index
-* Expected Res : Success
-* Date         : Apr 2018
-* Author       : channels Jacobs
-*/
 
 use channels;
 
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.3.update.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.3.update.sqlpp
index b7bb951..52cd9a9 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.3.update.sqlpp
@@ -16,10 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+
+use channels;
+
+create index delivery on EmergencyChannelResults(deliveryTime);
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.4.sleep.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.4.sleep.sqlpp
index b7bb951..06985bd 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.4.sleep.sqlpp
@@ -16,10 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+
+15000
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.5.query.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.5.query.sqlpp
similarity index 85%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.5.query.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.5.query.sqlpp
index dd6e1ca..eebfbc4 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.5.query.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.5.query.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Check Whether a Channel works after adding a new Index
-* Expected Res : Success
-* Date         : Apr 2018
-* Author       : Steven Jacobs
-*/
-
 use channels;
 
 select value array_count(
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.6.ddl.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.6.ddl.sqlpp
index b7bb951..45b1194 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/add_index/add_index.6.ddl.sqlpp
@@ -16,10 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+
+use channels;
+
+drop channel EmergencyChannel;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/create_channel_check_datasets/create_channel_check_datasets.1.ddl.sqlpp
similarity index 91%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/create_channel_check_datasets/create_channel_check_datasets.1.ddl.sqlpp
index b85ba91..addc85f 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/create_channel_check_datasets/create_channel_check_datasets.1.ddl.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Create Channel Test
-* Expected Res : Success
-* Date         : March 2015
-* Author       : Steven Jacobs
-*/
 
 drop dataverse channels if exists;
 create dataverse channels;
@@ -48,4 +42,4 @@
   and spatial_intersect(m.sender_location, place))
 };
 
-create repetitive channel nearbyTweetChannel using NearbyTweetsContainingText@2 period duration("PT10M");
\ No newline at end of file
+create repetitive channel nearbyTweetChannel using NearbyTweetsContainingText@2 period duration("PT10M");
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_datasets/create_channel_check_datasets.3.query.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/create_channel_check_datasets/create_channel_check_datasets.3.query.sqlpp
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_datasets/create_channel_check_datasets.3.query.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/create_channel_check_datasets/create_channel_check_datasets.3.query.sqlpp
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp
similarity index 91%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_rq/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp
index b85ba91..7e314d5 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Create Channel Test
-* Expected Res : Success
-* Date         : March 2015
-* Author       : Steven Jacobs
-*/
-
 drop dataverse channels if exists;
 create dataverse channels;
 use channels;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_metadata/create_channel_check_metadata.3.query.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/create_channel_check_metadata/create_channel_check_metadata.3.query.sqlpp
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_metadata/create_channel_check_metadata.3.query.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/create_channel_check_metadata/create_channel_check_metadata.3.query.sqlpp
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.1.ddl.sqlpp
similarity index 90%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.1.ddl.sqlpp
index e8d57a6..fb4b81e 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-
 drop dataverse channels if exists;
 create dataverse channels;
 use channels;
@@ -54,15 +47,16 @@
 
 create broker brokerA at "http://www.notifyA.com";
 
+// since BAD-RQ doesn't provide continuous semantics, adding temporal predicate would cause test case to fail randomly
 create function EmergenciesNearMe(emergencyType, uid){
-  (with tenMinutesAgo as current_datetime() - day_time_duration("PT10S")
+  (with tenMinutesAgo as current_datetime() - day_time_duration("PT5S")
   select report as report, shelters as shelters
   from EmergencyReports report, UserLocations user
   let shelters = (select * from EmergencyShelters shelter
     where spatial_intersect(report.impactZone,shelter.location))
   where user.user_id = uid
-    and report.timestamp >= tenMinutesAgo
-    and user.timestamp >= tenMinutesAgo
+    //and report.timestamp >= tenMinutesAgo
+    //and user.timestamp >= tenMinutesAgo
     and report.emergencyType = emergencyType
     and spatial_intersect(report.impactZone,create_point(user.latitude,user.longitude)))
 };
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.2.update.sqlpp
similarity index 87%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.2.update.sqlpp
index b1a132b..44c13df 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.2.update.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
 use channels;
 
 subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.3.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.3.update.sqlpp
similarity index 79%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.3.update.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.3.update.sqlpp
index 292151e..b3d2f6c 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.3.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.3.update.sqlpp
@@ -16,18 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
 
 use channels;
 upsert into UserLocations([
-{"user_id":1, "latitude":5, "longitude":5, "timestamp":current_datetime()},
-{"user_id":2, "latitude":10, "longitude":10, "timestamp":current_datetime()},
-{"user_id":3, "latitude":15, "longitude":15, "timestamp":current_datetime()}]
+{"user_id":1, "latitude":5.0, "longitude":5.0, "timestamp":current_datetime()},
+{"user_id":2, "latitude":10.0, "longitude":10.0, "timestamp":current_datetime()},
+{"user_id":3, "latitude":15.0, "longitude":15.0, "timestamp":current_datetime()}]
 );
 upsert into EmergencyShelters([
 {"name":"A", "location":create_point(5.0,5.0)},
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.4.sleep.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.4.sleep.sqlpp
index b7bb951..af2f691 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.4.sleep.sqlpp
@@ -16,10 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+10000
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.5.query.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.5.query.sqlpp
index b7bb951..626ec87 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.5.query.sqlpp
@@ -16,10 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+use channels;
+select value array_count (result.result.shelters)
+from EmergenciesNearMeChannelResults result
+limit 1;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp
similarity index 87%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp
index 220f05a..0be897c 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/disasters_with_friends/disasters_with_friends.6.ddl.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
 
 use channels;
 
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_datasets/drop_channel_check_datasets.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_datasets/drop_channel_check_datasets.1.ddl.sqlpp
similarity index 92%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_datasets/drop_channel_check_datasets.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_datasets/drop_channel_check_datasets.1.ddl.sqlpp
index 1c7fdcc..6aad378 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_datasets/drop_channel_check_datasets.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_datasets/drop_channel_check_datasets.1.ddl.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Drop Channel Test. Check Metadata
-* Expected Res : Success
-* Date         : March 2015
-* Author       : Steven Jacobs
-*/
 
 drop dataverse channels if exists;
 create dataverse channels;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_datasets/drop_channel_check_datasets.2.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_datasets/drop_channel_check_datasets.2.ddl.sqlpp
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_datasets/drop_channel_check_datasets.2.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_datasets/drop_channel_check_datasets.2.ddl.sqlpp
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_datasets/drop_channel_check_datasets.3.query.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_datasets/drop_channel_check_datasets.3.query.sqlpp
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_datasets/drop_channel_check_datasets.3.query.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_datasets/drop_channel_check_datasets.3.query.sqlpp
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_metadata/drop_channel_check_metadata.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_metadata/drop_channel_check_metadata.1.ddl.sqlpp
similarity index 92%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_metadata/drop_channel_check_metadata.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_metadata/drop_channel_check_metadata.1.ddl.sqlpp
index 1c7fdcc..dbd4d6d 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_metadata/drop_channel_check_metadata.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_metadata/drop_channel_check_metadata.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Drop Channel Test. Check Metadata
-* Expected Res : Success
-* Date         : March 2015
-* Author       : Steven Jacobs
-*/
-
 drop dataverse channels if exists;
 create dataverse channels;
 use channels;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_metadata/drop_channel_check_metadata.2.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_metadata/drop_channel_check_metadata.2.ddl.sqlpp
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_metadata/drop_channel_check_metadata.2.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_metadata/drop_channel_check_metadata.2.ddl.sqlpp
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_metadata/drop_channel_check_metadata.3.query.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_metadata/drop_channel_check_metadata.3.query.sqlpp
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/drop_channel_check_metadata/drop_channel_check_metadata.3.query.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_channel_check_metadata/drop_channel_check_metadata.3.query.sqlpp
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_function/drop_function.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_function/drop_function.1.ddl.sqlpp
similarity index 92%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/drop_function/drop_function.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_function/drop_function.1.ddl.sqlpp
index a5d3775..8e20d86 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_function/drop_function.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_function/drop_function.1.ddl.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Drop Channel Function
-* Expected Res : Error
-* Date         : Jan 2018
-* Author       : Steven Jacobs
-*/
 
 drop dataverse channels if exists;
 create dataverse channels;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_function_dataverse/drop_function_dataverse.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_function_dataverse/drop_function_dataverse.1.ddl.sqlpp
similarity index 91%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/drop_function_dataverse/drop_function_dataverse.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_function_dataverse/drop_function_dataverse.1.ddl.sqlpp
index d1047b0..e22deb1 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_function_dataverse/drop_function_dataverse.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_function_dataverse/drop_function_dataverse.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Drop Channel Function Dataverse
-* Expected Res : Error
-* Date         : Jan 2018
-* Author       : Steven Jacobs
-*/
-
 drop dataverse channels if exists;
 create dataverse channels;
 use channels;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_index/drop_index.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_index/drop_index.1.ddl.sqlpp
similarity index 94%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/drop_index/drop_index.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_index/drop_index.1.ddl.sqlpp
index ca01dd7..38a70fb 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_index/drop_index.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_index/drop_index.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Drop Function Dataset Index
-* Expected Res : Error
-* Date         : Jan 2018
-* Author       : Steven Jacobs
-*/
-
 drop dataverse two if exists;
 drop dataverse channels if exists;
 create dataverse channels;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_results/drop_results.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_results/drop_results.1.ddl.sqlpp
similarity index 92%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/drop_results/drop_results.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_results/drop_results.1.ddl.sqlpp
index 432f3c5..f61f050 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_results/drop_results.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_results/drop_results.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Drop Channel Results
-* Expected Res : Error
-* Date         : Jan 2018
-* Author       : Steven Jacobs
-*/
-
 drop dataverse two if exists;
 drop dataverse channels if exists;
 create dataverse channels;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_subscriptions/drop_subscriptions.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_subscriptions/drop_subscriptions.1.ddl.sqlpp
similarity index 92%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/drop_subscriptions/drop_subscriptions.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_subscriptions/drop_subscriptions.1.ddl.sqlpp
index f6dc2bf..b33d7c4 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/drop_subscriptions/drop_subscriptions.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/drop_subscriptions/drop_subscriptions.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Drop Channel Subscriptions
-* Expected Res : Error
-* Date         : Jan 2018
-* Author       : Steven Jacobs
-*/
-
 drop dataverse two if exists;
 drop dataverse channels if exists;
 create dataverse channels;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.1.ddl.sqlpp
similarity index 93%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.1.ddl.sqlpp
index 638f7b5..d4f2b01 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-
 drop dataverse two if exists;
 drop dataverse channels if exists;
 create dataverse channels;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.2.update.sqlpp
similarity index 87%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.2.update.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.2.update.sqlpp
index 3e2d5c0..1ab9c30 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.2.update.sqlpp
@@ -16,14 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-
-
 use channels;
 
 subscribe to roomRecords (123) on brokerA;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.3.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.3.update.sqlpp
similarity index 87%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.3.update.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.3.update.sqlpp
index 2e00f6a..8754dc1 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.3.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.3.update.sqlpp
@@ -16,14 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-
-
 use channels;
 
 subscribe to roomRecords (350) on brokerB;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.4.query.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.4.query.sqlpp
similarity index 87%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.4.query.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.4.query.sqlpp
index 8612077..a83e597 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.4.query.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.4.query.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-
 use channels;
 
 select test.BrokerName, test.param0
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.5.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.5.update.sqlpp
similarity index 88%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.5.update.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.5.update.sqlpp
index 2499ac7..56ecc59 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.5.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.5.update.sqlpp
@@ -16,14 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-
-
 use channels;
 
 
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.6.sleep.sqlpp
similarity index 86%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.6.sleep.sqlpp
index b7bb951..18865b0 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.6.sleep.sqlpp
@@ -16,10 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
 5000
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.7.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.7.update.sqlpp
similarity index 88%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.7.update.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.7.update.sqlpp
index eb7ee2e..c5db418 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.7.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.7.update.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-
 use channels;
 
 upsert into UserLocations([
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.8.query.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.8.query.sqlpp
similarity index 87%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.8.query.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.8.query.sqlpp
index 91473b9..a6c284c 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.8.query.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.8.query.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-
 use channels;
 
 select result.result.userId
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.9.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.9.ddl.sqlpp
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.9.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/room_occupants/room_occupants.9.ddl.sqlpp
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.1.ddl.sqlpp
similarity index 91%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.1.ddl.sqlpp
index b85ba91..bfc8d0e 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_metadata/create_channel_check_metadata.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Create Channel Test
-* Expected Res : Success
-* Date         : March 2015
-* Author       : Steven Jacobs
-*/
-
 drop dataverse channels if exists;
 create dataverse channels;
 use channels;
@@ -48,4 +41,6 @@
   and spatial_intersect(m.sender_location, place))
 };
 
-create repetitive channel nearbyTweetChannel using NearbyTweetsContainingText@2 period duration("PT10M");
\ No newline at end of file
+create broker brokerA at "http://www.notifyA.com";
+
+create repetitive channel nearbyTweetChannel using NearbyTweetsContainingText@2 period duration("PT10M");
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.2.update.sqlpp
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.2.update.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.2.update.sqlpp
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.3.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.3.update.sqlpp
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.3.update.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.3.update.sqlpp
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.4.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.4.update.sqlpp
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.4.update.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.4.update.sqlpp
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.5.query.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.5.query.sqlpp
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.5.query.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.5.query.sqlpp
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.1.ddl.sqlpp
similarity index 80%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.1.ddl.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.1.ddl.sqlpp
index a21a4be..6475001 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.1.ddl.sqlpp
@@ -16,12 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Long Term Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
 
 drop dataverse channels if exists;
 create dataverse channels;
@@ -41,6 +35,6 @@
   where location.roomNumber = room)
 };
 
-create broker brokerA at "http://www.notifyA.com";
+CREATE BROKER brokerA at "http://127.0.0.1:5020/echo";
 
-create repetitive channel roomRecords using RoomOccupants@1 period duration("PT10S");
+CREATE REPETITIVE CHANNEL roomRecords USING RoomOccupants@1 PERIOD duration("PT3S");
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.2.update.sqlpp
similarity index 87%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.2.update.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.2.update.sqlpp
index 3e2d5c0..063b13c 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.2.update.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-
 
 use channels;
 
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.5.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.3.update.sqlpp
similarity index 87%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.5.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.3.update.sqlpp
index 2499ac7..d4deb02 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.5.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.3.update.sqlpp
@@ -16,17 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-
-
 use channels;
 
-
 upsert into UserLocations([
 {"userId":1, "roomNumber":123},
 {"userId":2, "roomNumber":222},
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.4.sleep.sqlpp
similarity index 85%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.4.sleep.sqlpp
index b7bb951..a3490bb 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/room_occupants/room_occupants.6.sleep.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.4.sleep.sqlpp
@@ -16,10 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-5000
+10000
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.5.query.sqlpp
similarity index 76%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.5.query.sqlpp
index b1a132b..c8d736f 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.2.update.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/bad_rq/ten_minute_channel/ten_minute_channel.5.query.sqlpp
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 /*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
+ Sample Notification:
+ {'dataverseName': 'channels', 'channelName': 'roomRecords', 'channelExecutionEpochTime': 1594924658617, 'subscriptionIds': [['dbf4b346-5fb5-8589-eb67-6a7465060ec7']]}
 */
+
 use channels;
 
-subscribe to EmergenciesNearMeChannel("tornado", 1) on brokerA;
+(select value count(result) from roomRecordsResults)[0] > 2;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.3.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.3.update.sqlpp
deleted file mode 100644
index d0f65e5..0000000
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.3.update.sqlpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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 at
- *
- *   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.
- */
-/*
-* Description  : Check Whether a Channel works after adding a new Index
-* Expected Res : Success
-* Date         : Apr 2018
-* Author       : Steven Jacobs
-*/
-
-use channels;
-
-create index delivery on EmergencyChannelResults(deliveryTime);
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.4.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.4.sleep.sqlpp
deleted file mode 100644
index 5f764b3..0000000
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.4.sleep.sqlpp
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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 at
- *
- *   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.
- */
-/*
-* Description  : Check Whether a Channel works after adding a new Index
-* Expected Res : Success
-* Date         : Apr 2018
-* Author       : Steven Jacobs
-*/
-
-15000
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.6.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.6.ddl.sqlpp
deleted file mode 100644
index 54075e5..0000000
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.6.ddl.sqlpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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 at
- *
- *   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.
- */
-/*
-* Description  : Check Whether a Channel works after adding a new Index
-* Expected Res : Success
-* Date         : Apr 2018
-* Author       : Steven Jacobs
-*/
-
-use channels;
-
-drop channel EmergencyChannel;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_datasets/create_channel_check_datasets.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_datasets/create_channel_check_datasets.1.ddl.sqlpp
deleted file mode 100644
index 8e20dcb..0000000
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/create_channel_check_datasets/create_channel_check_datasets.1.ddl.sqlpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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 at
- *
- *   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.
- */
-/*
-* Description  : Create Channel Test. Confirms that the subscription and result datasets are created
-* Expected Res : Success
-* Date         : March 2015
-* Author       : Steven Jacobs
-*/
-
-drop dataverse channels if exists;
-create dataverse channels;
-use channels;
-
-create type TweetMessageTypeuuid as closed {
-  tweetid: uuid,
-  sender_location: point,
-  send_time: datetime,
-  referred_topics: {{ string }},
-  message_text: string,
-  countA: int32,
-  countB: int32
-};
-
-
-create dataset TweetMessageuuids(TweetMessageTypeuuid)
-primary key tweetid autogenerated;
-
-create function NearbyTweetsContainingText(place, text) {
-  (select m.message_text
-  from TweetMessageuuids m
-  where contains(m.message_text,text)
-  and spatial_intersect(m.sender_location, place))
-};
-
-create repetitive channel nearbyTweetChannel using NearbyTweetsContainingText@2 period duration("PT10M");
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.4.pollquery.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.4.pollquery.sqlpp
deleted file mode 100644
index 0c8ea0c..0000000
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/disasters_with_friends/disasters_with_friends.4.pollquery.sqlpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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 at
- *
- *   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.
- */
-/*
-* Description  : Disasters with friends
-* Expected Res : Success
-* Date         : May 17
-* Author       : Steven Jacobs
-*/
-// polltimeoutsecs=15
-
-use channels;
-select value array_count (result.result.shelters)
-from EmergenciesNearMeChannelResults result
-limit 1;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.1.ddl.sqlpp
deleted file mode 100644
index 09a74e3..0000000
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.1.ddl.sqlpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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 at
- *
- *   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.
- */
-/*
-* Description  : Create Channel Test. Confirms that the subscription and result datasets are created
-* Expected Res : Success
-* Date         : March 2015
-* Author       : Steven Jacobs
-*/
-
-drop dataverse channels if exists;
-create dataverse channels;
-use channels;
-
-create type TweetMessageTypeuuid as closed {
-  tweetid: uuid,
-  sender_location: point,
-  send_time: datetime,
-  referred_topics: {{ string }},
-  message_text: string,
-  countA: int32,
-  countB: int32
-};
-
-
-create dataset TweetMessageuuids(TweetMessageTypeuuid)
-primary key tweetid autogenerated;
-
-create function NearbyTweetsContainingText(place, text) {
-  (select m.message_text
-  from TweetMessageuuids m
-  where contains(m.message_text,text)
-  and spatial_intersect(m.sender_location, place))
-};
-
-create broker brokerA at "http://www.notifyA.com";
-
-create repetitive channel nearbyTweetChannel using NearbyTweetsContainingText@2 period duration("PT10M");
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.3.update.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.3.update.sqlpp
deleted file mode 100644
index 2499ac7..0000000
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.3.update.sqlpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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 at
- *
- *   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.
- */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-
-
-use channels;
-
-
-upsert into UserLocations([
-{"userId":1, "roomNumber":123},
-{"userId":2, "roomNumber":222},
-{"userId":3, "roomNumber":350}]
-);
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.4.sleep.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.4.sleep.sqlpp
deleted file mode 100644
index c750707..0000000
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.4.sleep.sqlpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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 at
- *
- *   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.
- */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-110000
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.5.query.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.5.query.sqlpp
deleted file mode 100644
index b9282fe..0000000
--- a/asterix-bad/src/test/resources/runtimets/queries/channel/ten_minute_channel/ten_minute_channel.5.query.sqlpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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 at
- *
- *   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.
- */
-/*
-* Description  : Room Occupants Test
-* Expected Res : Success
-* Date         : Sep 2016
-* Author       : Steven Jacobs
-*/
-
-use channels;
-
-(select value count(result) from roomRecordsResults)[0] > 9;
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/queries/procedure/create_procedure_check_metadata/create_procedure_check_metadata.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/procedure/create_procedure_check_metadata/create_procedure_check_metadata.1.ddl.sqlpp
index 71b2ed4..9e7e817 100644
--- a/asterix-bad/src/test/resources/runtimets/queries/procedure/create_procedure_check_metadata/create_procedure_check_metadata.1.ddl.sqlpp
+++ b/asterix-bad/src/test/resources/runtimets/queries/procedure/create_procedure_check_metadata/create_procedure_check_metadata.1.ddl.sqlpp
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/*
-* Description  : Create Procedure Check Metadata
-* Expected Res : Success
-* Date         : Jan 2017
-* Author       : Steven Jacobs
-*/
-
 drop dataverse two if exists;
 drop dataverse channels if exists;
 create dataverse channels;
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_delete/active_datasets.4.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_delete/active_datasets.4.adm
new file mode 100644
index 0000000..f942886
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_delete/active_datasets.4.adm
@@ -0,0 +1 @@
+{ "t": { "tid": 999, "area_code": "45", "text": "Tweet 1.", "location": point("1998078.3009357268,1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": false } }
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_delete/active_datasets.5.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_delete/active_datasets.5.adm
new file mode 100644
index 0000000..39ec400
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_delete/active_datasets.5.adm
@@ -0,0 +1 @@
+{ "t": { "tid": 999, "area_code": "45", "text": "Tweet 1.", "location": point("1998078.3009357268,1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": false }, "Time": datetime("2020-08-18T06:46:51.696Z") }
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_insert/active_datasets.4.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_insert/active_datasets.4.adm
new file mode 100644
index 0000000..fd14e79
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_insert/active_datasets.4.adm
@@ -0,0 +1 @@
+{ "t": { "tid": 999, "area_code": "45", "text": "Tweet 1.", "location": point("1998078.3009357268,1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": false }, "Time": datetime("2020-08-18T06:46:51.696Z") }
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_insert/active_datasets.5.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_insert/active_datasets.5.adm
new file mode 100644
index 0000000..f942886
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_insert/active_datasets.5.adm
@@ -0,0 +1 @@
+{ "t": { "tid": 999, "area_code": "45", "text": "Tweet 1.", "location": point("1998078.3009357268,1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": false } }
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_upsert/active_datasets.4.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_upsert/active_datasets.4.adm
new file mode 100644
index 0000000..75265d3
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_upsert/active_datasets.4.adm
@@ -0,0 +1 @@
+{ "t": { "tid": 1000, "area_code": "45", "text": "Tweet 2", "location": point("1998078.3009357268,1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": false }, "Time": datetime("2020-08-18T06:46:51.782Z") }
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_upsert/active_datasets.5.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_upsert/active_datasets.5.adm
new file mode 100644
index 0000000..120a825
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_dataset_upsert/active_datasets.5.adm
@@ -0,0 +1 @@
+{ "t": { "tid": 1000, "area_code": "45", "text": "Tweet 2", "location": point("1998078.3009357268,1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": false } }
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_feeds/active_feeds.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_feeds/active_feeds.1.adm
new file mode 100644
index 0000000..9d1182c
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_feeds/active_feeds.1.adm
@@ -0,0 +1,6 @@
+{ "t": { "tid": 0, "area_name": "UCI", "suspicious_level": 9, "text": "Tweet 1", "location": point("68.41629186478751,44.631424133284966"), "timestamp": datetime("2018-11-09T00:00:00.000Z"), "threatening_flag": true }, "Time": datetime("2020-08-18T04:06:15.641Z") }
+{ "t": { "tid": 2, "area_name": "LA", "suspicious_level": 10, "text": "Tweet 3", "location": point("4037.165975321966,4020.6200896429373"), "timestamp": datetime("2018-08-14T00:00:00.000Z"), "threatening_flag": true }, "Time": datetime("2020-08-18T04:06:15.641Z") }
+{ "t": { "tid": 3, "area_name": "UCI", "suspicious_level": 5, "text": "Tweet 4", "location": point("6011.1101544678095,6033.86438259922"), "timestamp": datetime("2018-05-18T00:00:00.000Z"), "threatening_flag": true }, "Time": datetime("2020-08-18T04:06:15.641Z") }
+{ "t": { "tid": 6, "area_name": "LA", "suspicious_level": 9, "text": "Tweet 7", "location": point("12074.059527318483,12008.549148129303"), "timestamp": datetime("2017-04-23T00:00:00.000Z"), "threatening_flag": true }, "Time": datetime("2020-08-18T04:06:15.641Z") }
+{ "t": { "tid": 8, "area_name": "LA", "suspicious_level": 8, "text": "Tweet 9", "location": point("16051.9846352692,16078.599078960015"), "timestamp": datetime("2018-03-27T00:00:00.000Z"), "threatening_flag": true }, "Time": datetime("2020-08-18T04:06:15.641Z") }
+{ "t": { "tid": 10, "area_name": "SD", "suspicious_level": 0, "text": "Tweet 11", "location": point("20088.467372365518,20051.89371416724"), "timestamp": datetime("2017-10-01T00:00:00.000Z"), "threatening_flag": true }, "Time": datetime("2020-08-18T04:06:15.641Z") }
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_function_in_udf/active_function_in_udf.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_function_in_udf/active_function_in_udf.1.adm
new file mode 100644
index 0000000..3693880
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_function_in_udf/active_function_in_udf.1.adm
@@ -0,0 +1 @@
+{ "t": { "tid": 999, "area_code": "45", "text": "Xikui likes Google, but Mike likes AsterixDB.", "location": point("1998078.3009357268,1998011.0235705695"), "timestamp": datetime("2019-12-03T17:59:52.041Z"), "hatefulFlag": false } }
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_functions/active_functions.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_functions/active_functions.1.adm
new file mode 100644
index 0000000..e9c0934
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/active_functions/active_functions.1.adm
@@ -0,0 +1 @@
+{ "Time_current_channel": datetime("2020-05-28T02:23:55.887Z"), "previous_channel_time": datetime("1970-01-01T00:00:00.000Z") }
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/disasters_with_friends/disasters_with_friends.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_http_feed/bad_http_feed.3.adm
similarity index 100%
copy from asterix-bad/src/test/resources/runtimets/results/channel/disasters_with_friends/disasters_with_friends.1.adm
copy to asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_http_feed/bad_http_feed.3.adm
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_http_feed/bad_http_feed.4.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_http_feed/bad_http_feed.4.adm
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_http_feed/bad_http_feed.4.adm
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_http_feed/bad_http_feed.7.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_http_feed/bad_http_feed.7.adm
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_http_feed/bad_http_feed.7.adm
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_islands/bad_islands.10.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_islands/bad_islands.10.adm
new file mode 100644
index 0000000..353400f
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_islands/bad_islands.10.adm
@@ -0,0 +1,2 @@
+{ "tid": 0, "area_name": "OC", "text": "OC Tweet" }
+{ "tid": 2, "area_name": "OC", "text": "OC Tweet" }
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/disasters_with_friends/disasters_with_friends.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_islands/bad_islands.4.adm
similarity index 100%
copy from asterix-bad/src/test/resources/runtimets/results/channel/disasters_with_friends/disasters_with_friends.1.adm
copy to asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_islands/bad_islands.4.adm
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_islands/bad_islands.6.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_islands/bad_islands.6.adm
new file mode 100644
index 0000000..9dffebb
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_islands/bad_islands.6.adm
@@ -0,0 +1 @@
+{ "tid": 0, "area_name": "OC", "text": "OC Tweet" }
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/disasters_with_friends/disasters_with_friends.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_islands/bad_islands.8.adm
similarity index 100%
copy from asterix-bad/src/test/resources/runtimets/results/channel/disasters_with_friends/disasters_with_friends.1.adm
copy to asterix-bad/src/test/resources/runtimets/results/bad_cq/bad_islands/bad_islands.8.adm
diff --git a/asterix-bad/src/test/resources/runtimets/results/bad_cq/new_tweets_from_area/new_tweets_from_area.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_cq/new_tweets_from_area/new_tweets_from_area.1.adm
new file mode 100644
index 0000000..23c8e2e
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_cq/new_tweets_from_area/new_tweets_from_area.1.adm
@@ -0,0 +1,4 @@
+{ "t": { "tid": 2, "area_name": "LA", "suspicious_level": 10, "text": "Tweet 3", "location": point("4037.165975321966,4020.6200896429373"), "timestamp": datetime("2018-08-14T00:00:00.000Z"), "threatening_flag": true }, "TimeCurrent": datetime("2020-08-18T05:03:42.096Z"), "TimePrevious": datetime("1970-01-01T00:00:00.000Z") }
+{ "t": { "tid": 5, "area_name": "LA", "suspicious_level": 8, "text": "Tweet 6", "location": point("10030.582330779562,10035.23466920704"), "timestamp": datetime("2017-04-11T00:00:00.000Z"), "threatening_flag": false }, "TimeCurrent": datetime("2020-08-18T05:03:42.096Z"), "TimePrevious": datetime("1970-01-01T00:00:00.000Z") }
+{ "t": { "tid": 6, "area_name": "LA", "suspicious_level": 9, "text": "Tweet 7", "location": point("12074.059527318483,12008.549148129303"), "timestamp": datetime("2017-04-23T00:00:00.000Z"), "threatening_flag": true }, "TimeCurrent": datetime("2020-08-18T05:03:42.096Z"), "TimePrevious": datetime("1970-01-01T00:00:00.000Z") }
+{ "t": { "tid": 8, "area_name": "LA", "suspicious_level": 8, "text": "Tweet 9", "location": point("16051.9846352692,16078.599078960015"), "timestamp": datetime("2018-03-27T00:00:00.000Z"), "threatening_flag": true }, "TimeCurrent": datetime("2020-08-18T05:03:42.096Z"), "TimePrevious": datetime("1970-01-01T00:00:00.000Z") }
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/add_index/add_index.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_rq/add_index/add_index.1.adm
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/results/channel/add_index/add_index.1.adm
rename to asterix-bad/src/test/resources/runtimets/results/bad_rq/add_index/add_index.1.adm
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/create_channel_check_datasets/create_channel_check_datasets.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_rq/create_channel_check_datasets/create_channel_check_datasets.1.adm
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/results/channel/create_channel_check_datasets/create_channel_check_datasets.1.adm
rename to asterix-bad/src/test/resources/runtimets/results/bad_rq/create_channel_check_datasets/create_channel_check_datasets.1.adm
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/create_channel_check_metadata/create_channel_check_metadata.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_rq/create_channel_check_metadata/create_channel_check_metadata.1.adm
similarity index 73%
rename from asterix-bad/src/test/resources/runtimets/results/channel/create_channel_check_metadata/create_channel_check_metadata.1.adm
rename to asterix-bad/src/test/resources/runtimets/results/bad_rq/create_channel_check_metadata/create_channel_check_metadata.1.adm
index bd1933c..0748789 100644
--- a/asterix-bad/src/test/resources/runtimets/results/channel/create_channel_check_metadata/create_channel_check_metadata.1.adm
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_rq/create_channel_check_metadata/create_channel_check_metadata.1.adm
@@ -1 +1 @@
-{ "DataverseName": "channels", "ChannelName": "nearbyTweetChannel", "SubscriptionsDatasetName": "nearbyTweetChannelSubscriptions", "ResultsDatasetName": "nearbyTweetChannelResults", "Function": [ "channels", "NearbyTweetsContainingText", "2" ], "Duration": "PT10M", "Dependencies": [ [ [ "channels", "nearbyTweetChannelResults" ], [ "channels", "nearbyTweetChannelSubscriptions" ] ], [ [ "channels", "NearbyTweetsContainingText", "2" ] ] ], "Body": "SET inline_with \"false\";\ninsert into `channels`.nearbyTweetChannelResults as a (\nwith channelExecutionTime as current_datetime() \nselect result, channelExecutionTime, sub.subscriptionId as subscriptionId,current_datetime() as deliveryTime\nfrom `channels`.nearbyTweetChannelSubscriptions sub,\nMetadata.Broker b, \nchannels.NearbyTweetsContainingText(sub.param0,sub.param1) result \nwhere b.BrokerName = sub.BrokerName\nand b.DataverseName = sub.DataverseName\n) returning a;" }
\ No newline at end of file
+{ "DataverseName": "channels", "ChannelName": "nearbyTweetChannel", "SubscriptionsDatasetName": "nearbyTweetChannelSubscriptions", "ResultsDatasetName": "nearbyTweetChannelResults", "Function": [ "channels", "NearbyTweetsContainingText", "2" ], "Duration": "PT10M", "Dependencies": [ [ [ "channels", "nearbyTweetChannelResults" ], [ "channels", "nearbyTweetChannelSubscriptions" ] ], [ [ "channels", "NearbyTweetsContainingText", "2" ] ] ], "Body": "SET inline_with \"false\";\ninsert into `channels`.nearbyTweetChannelResults as a (\nwith channelExecutionTime as current_datetime() \nselect result, channelExecutionTime, sub.subscriptionId as subscriptionId,current_datetime() as deliveryTime\nfrom `channels`.nearbyTweetChannelSubscriptions sub,\nMetadata.`Broker` b, \nchannels.NearbyTweetsContainingText(sub.param0, sub.param1) result \nwhere sub.BrokerName /*+ bcast */ = b.BrokerName\nand sub.DataverseName /*+ bcast */ = b.DataverseName\n) returning a;" }
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/disasters_with_friends/disasters_with_friends.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_rq/disasters_with_friends/disasters_with_friends.5.adm
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/results/channel/disasters_with_friends/disasters_with_friends.1.adm
rename to asterix-bad/src/test/resources/runtimets/results/bad_rq/disasters_with_friends/disasters_with_friends.5.adm
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/drop_channel_check_datasets/drop_channel_check_datasets.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_rq/drop_channel_check_datasets/drop_channel_check_datasets.1.adm
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/results/channel/drop_channel_check_datasets/drop_channel_check_datasets.1.adm
rename to asterix-bad/src/test/resources/runtimets/results/bad_rq/drop_channel_check_datasets/drop_channel_check_datasets.1.adm
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/drop_channel_check_metadata/drop_channel_check_metadata.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_rq/drop_channel_check_metadata/drop_channel_check_metadata.1.adm
similarity index 72%
rename from asterix-bad/src/test/resources/runtimets/results/channel/drop_channel_check_metadata/drop_channel_check_metadata.1.adm
rename to asterix-bad/src/test/resources/runtimets/results/bad_rq/drop_channel_check_metadata/drop_channel_check_metadata.1.adm
index 5ec9e7c..7dcff54 100644
--- a/asterix-bad/src/test/resources/runtimets/results/channel/drop_channel_check_metadata/drop_channel_check_metadata.1.adm
+++ b/asterix-bad/src/test/resources/runtimets/results/bad_rq/drop_channel_check_metadata/drop_channel_check_metadata.1.adm
@@ -1,2 +1,2 @@
-{ "DataverseName": "channels", "ChannelName": "nearbyTweetChannel1", "SubscriptionsDatasetName": "nearbyTweetChannel1Subscriptions", "ResultsDatasetName": "nearbyTweetChannel1Results", "Function": [ "channels", "NearbyTweetsContainingText", "2" ], "Duration": "PT10M", "Dependencies": [ [ [ "channels", "nearbyTweetChannel1Results" ], [ "channels", "nearbyTweetChannel1Subscriptions" ] ], [ [ "channels", "NearbyTweetsContainingText", "2" ] ] ], "Body": "SET inline_with \"false\";\ninsert into `channels`.nearbyTweetChannel1Results as a (\nwith channelExecutionTime as current_datetime() \nselect result, channelExecutionTime, sub.subscriptionId as subscriptionId,current_datetime() as deliveryTime\nfrom `channels`.nearbyTweetChannel1Subscriptions sub,\nMetadata.Broker b, \nchannels.NearbyTweetsContainingText(sub.param0,sub.param1) result \nwhere b.BrokerName = sub.BrokerName\nand b.DataverseName = sub.DataverseName\n) returning a;" }
-{ "DataverseName": "channels", "ChannelName": "nearbyTweetChannel3", "SubscriptionsDatasetName": "nearbyTweetChannel3Subscriptions", "ResultsDatasetName": "nearbyTweetChannel3Results", "Function": [ "channels", "NearbyTweetsContainingText", "2" ], "Duration": "PT10M", "Dependencies": [ [ [ "channels", "nearbyTweetChannel3Results" ], [ "channels", "nearbyTweetChannel3Subscriptions" ] ], [ [ "channels", "NearbyTweetsContainingText", "2" ] ] ], "Body": "SET inline_with \"false\";\ninsert into `channels`.nearbyTweetChannel3Results as a (\nwith channelExecutionTime as current_datetime() \nselect result, channelExecutionTime, sub.subscriptionId as subscriptionId,current_datetime() as deliveryTime\nfrom `channels`.nearbyTweetChannel3Subscriptions sub,\nMetadata.Broker b, \nchannels.NearbyTweetsContainingText(sub.param0,sub.param1) result \nwhere b.BrokerName = sub.BrokerName\nand b.DataverseName = sub.DataverseName\n) returning a;" }
\ No newline at end of file
+{ "DataverseName": "channels", "ChannelName": "nearbyTweetChannel1", "SubscriptionsDatasetName": "nearbyTweetChannel1Subscriptions", "ResultsDatasetName": "nearbyTweetChannel1Results", "Function": [ "channels", "NearbyTweetsContainingText", "2" ], "Duration": "PT10M", "Dependencies": [ [ [ "channels", "nearbyTweetChannel1Results" ], [ "channels", "nearbyTweetChannel1Subscriptions" ] ], [ [ "channels", "NearbyTweetsContainingText", "2" ] ] ], "Body": "SET inline_with \"false\";\ninsert into `channels`.nearbyTweetChannel1Results as a (\nwith channelExecutionTime as current_datetime() \nselect result, channelExecutionTime, sub.subscriptionId as subscriptionId,current_datetime() as deliveryTime\nfrom `channels`.nearbyTweetChannel1Subscriptions sub,\nMetadata.`Broker` b, \nchannels.NearbyTweetsContainingText(sub.param0, sub.param1) result \nwhere sub.BrokerName /*+ bcast */ = b.BrokerName\nand sub.DataverseName /*+ bcast */ = b.DataverseName\n) returning a;" }
+{ "DataverseName": "channels", "ChannelName": "nearbyTweetChannel3", "SubscriptionsDatasetName": "nearbyTweetChannel3Subscriptions", "ResultsDatasetName": "nearbyTweetChannel3Results", "Function": [ "channels", "NearbyTweetsContainingText", "2" ], "Duration": "PT10M", "Dependencies": [ [ [ "channels", "nearbyTweetChannel3Results" ], [ "channels", "nearbyTweetChannel3Subscriptions" ] ], [ [ "channels", "NearbyTweetsContainingText", "2" ] ] ], "Body": "SET inline_with \"false\";\ninsert into `channels`.nearbyTweetChannel3Results as a (\nwith channelExecutionTime as current_datetime() \nselect result, channelExecutionTime, sub.subscriptionId as subscriptionId,current_datetime() as deliveryTime\nfrom `channels`.nearbyTweetChannel3Subscriptions sub,\nMetadata.`Broker` b, \nchannels.NearbyTweetsContainingText(sub.param0, sub.param1) result \nwhere sub.BrokerName /*+ bcast */ = b.BrokerName\nand sub.DataverseName /*+ bcast */ = b.DataverseName\n) returning a;" }
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/room_occupants/room_occupants.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_rq/room_occupants/room_occupants.1.adm
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/results/channel/room_occupants/room_occupants.1.adm
rename to asterix-bad/src/test/resources/runtimets/results/bad_rq/room_occupants/room_occupants.1.adm
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/room_occupants/room_occupants.2.adm b/asterix-bad/src/test/resources/runtimets/results/bad_rq/room_occupants/room_occupants.2.adm
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/results/channel/room_occupants/room_occupants.2.adm
rename to asterix-bad/src/test/resources/runtimets/results/bad_rq/room_occupants/room_occupants.2.adm
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.1.adm b/asterix-bad/src/test/resources/runtimets/results/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.1.adm
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/results/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.1.adm
rename to asterix-bad/src/test/resources/runtimets/results/bad_rq/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.1.adm
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/ten_minute_channel/ten_minute_channel.5.adm b/asterix-bad/src/test/resources/runtimets/results/bad_rq/ten_minute_channel/ten_minute_channel.5.adm
similarity index 100%
rename from asterix-bad/src/test/resources/runtimets/results/channel/ten_minute_channel/ten_minute_channel.5.adm
rename to asterix-bad/src/test/resources/runtimets/results/bad_rq/ten_minute_channel/ten_minute_channel.5.adm
diff --git a/asterix-bad/src/test/resources/runtimets/testsuite.xml b/asterix-bad/src/test/resources/runtimets/testsuite_bad.xml
similarity index 77%
rename from asterix-bad/src/test/resources/runtimets/testsuite.xml
rename to asterix-bad/src/test/resources/runtimets/testsuite_bad.xml
index 4640af1..5f130e9 100644
--- a/asterix-bad/src/test/resources/runtimets/testsuite.xml
+++ b/asterix-bad/src/test/resources/runtimets/testsuite_bad.xml
@@ -20,7 +20,7 @@
              ResultOffsetPath="results"
              QueryOffsetPath="queries"
              QueryFileExtension=".sqlpp">
-  <test-group name="channel">
+  <test-group name="procedure">
     <test-case FilePath="procedure">
       <compilation-unit name="create_procedure_check_metadata">
         <output-dir compare="Text">create_procedure_check_metadata</output-dir>
@@ -103,80 +103,129 @@
         <output-dir compare="Text">repetitive_insert_procedure</output-dir>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+  </test-group>
+  <test-group name="bad_rq">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="create_channel_check_datasets">
         <output-dir compare="Text">create_channel_check_datasets</output-dir>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="create_channel_check_metadata">
         <output-dir compare="Text">create_channel_check_metadata</output-dir>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="drop_channel_check_datasets">
         <output-dir compare="Text">drop_channel_check_datasets</output-dir>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="drop_channel_check_metadata">
         <output-dir compare="Text">drop_channel_check_metadata</output-dir>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="subscribe_channel_check_subscriptions">
         <output-dir compare="Text">subscribe_channel_check_subscriptions</output-dir>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="drop_function">
         <output-dir compare="Text">drop_function</output-dir>
         <expected-error>Cannot drop function channels.NearbyTweetsContainingText@2. two.nearbyTweetChannel(Channel) depends on it!</expected-error>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="drop_index">
         <output-dir compare="Text">drop_index</output-dir>
         <expected-error>Cannot drop index. channels.EmergencyChannel(Channel) depends on it!</expected-error>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="add_index">
         <output-dir compare="Text">add_index</output-dir>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="drop_results">
         <output-dir compare="Text">drop_results</output-dir>
         <expected-error>Cannot alter dataset two.nearbyTweetChannelResults. two.nearbyTweetChannel(Channel) depends on it!</expected-error>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="drop_subscriptions">
         <output-dir compare="Text">drop_subscriptions</output-dir>
         <expected-error>Cannot alter dataset two.nearbyTweetChannelSubscriptions. two.nearbyTweetChannel(Channel) depends on it!</expected-error>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="drop_function_dataverse">
         <output-dir compare="Text">drop_function_dataverse</output-dir>
         <expected-error>Cannot drop dataverse channels. two.nearbyTweetChannel(Channel) depends on it!</expected-error>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="room_occupants">
         <output-dir compare="Text">room_occupants</output-dir>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="disasters_with_friends">
         <output-dir compare="Text">disasters_with_friends</output-dir>
       </compilation-unit>
     </test-case>
-    <test-case FilePath="channel">
+    <test-case FilePath="bad_rq">
       <compilation-unit name="ten_minute_channel">
         <output-dir compare="Text">ten_minute_channel</output-dir>
       </compilation-unit>
     </test-case>
   </test-group>
+  <test-group name="bad_cq">
+    <test-case FilePath="bad_cq">
+      <compilation-unit name="active_dataset_insert">
+        <output-dir compare="Text">active_dataset_insert</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="bad_cq">
+      <compilation-unit name="active_dataset_upsert">
+        <output-dir compare="Text">active_dataset_upsert</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="bad_cq">
+      <compilation-unit name="active_dataset_delete">
+        <output-dir compare="Text">active_dataset_delete</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="bad_cq">
+      <compilation-unit name="active_feeds">
+        <output-dir compare="Text">active_feeds</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="bad_cq">
+      <compilation-unit name="active_function_in_udf">
+        <output-dir compare="Text">active_function_in_udf</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="bad_cq">
+      <compilation-unit name="active_functions">
+        <output-dir compare="Text">active_functions</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="bad_cq">
+      <compilation-unit name="bad_http_feed">
+        <output-dir compare="Text">bad_http_feed</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="bad_cq">
+      <compilation-unit name="bad_islands">
+        <output-dir compare="Text">bad_islands</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="bad_cq">
+      <compilation-unit name="new_tweets_from_area">
+        <output-dir compare="Text">new_tweets_from_area</output-dir>
+      </compilation-unit>
+    </test-case>
+  </test-group>
 </test-suite>
