diff --git a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
index 5803f60..c22a819 100644
--- a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
+++ b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
@@ -18,42 +18,30 @@
  */
 package org.apache.asterix.bad.lang.statement;
 
-import java.util.ArrayList;
+import java.io.StringReader;
 import java.util.List;
 
 import org.apache.asterix.algebra.extension.ExtensionStatement;
 import org.apache.asterix.app.translator.QueryTranslator;
 import org.apache.asterix.bad.BADConstants;
 import org.apache.asterix.bad.lang.BADLangExtension;
+import org.apache.asterix.bad.lang.BADParserFactory;
 import org.apache.asterix.bad.metadata.Broker;
 import org.apache.asterix.bad.metadata.Channel;
 import org.apache.asterix.common.exceptions.AsterixException;
 import org.apache.asterix.common.exceptions.CompilationException;
-import org.apache.asterix.common.functions.FunctionSignature;
 import org.apache.asterix.lang.common.base.Expression;
-import org.apache.asterix.lang.common.expression.CallExpr;
-import org.apache.asterix.lang.common.expression.FieldAccessor;
-import org.apache.asterix.lang.common.expression.FieldBinding;
-import org.apache.asterix.lang.common.expression.LiteralExpr;
-import org.apache.asterix.lang.common.expression.RecordConstructor;
-import org.apache.asterix.lang.common.expression.VariableExpr;
-import org.apache.asterix.lang.common.literal.StringLiteral;
-import org.apache.asterix.lang.common.statement.InsertStatement;
-import org.apache.asterix.lang.common.statement.Query;
-import org.apache.asterix.lang.common.statement.UpsertStatement;
+import org.apache.asterix.lang.common.base.Statement;
 import org.apache.asterix.lang.common.struct.Identifier;
-import org.apache.asterix.lang.common.struct.VarIdentifier;
 import org.apache.asterix.lang.common.visitor.base.ILangVisitor;
 import org.apache.asterix.metadata.MetadataManager;
 import org.apache.asterix.metadata.MetadataTransactionContext;
 import org.apache.asterix.metadata.declared.MetadataProvider;
-import org.apache.asterix.om.functions.BuiltinFunctions;
 import org.apache.asterix.translator.IRequestParameters;
 import org.apache.asterix.translator.IStatementExecutor;
 import org.apache.asterix.translator.IStatementExecutor.ResultDelivery;
 import org.apache.asterix.translator.IStatementExecutor.Stats;
 import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
-import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
 import org.apache.hyracks.api.client.IHyracksClientConnection;
 import org.apache.hyracks.api.dataset.IHyracksDataset;
 import org.apache.hyracks.api.dataset.ResultSetId;
@@ -66,11 +54,13 @@
     private final Identifier brokerDataverseName;
     private final Identifier brokerName;
     private final List<Expression> argList;
+    private final List<String> paramList;
     private final String subscriptionId;
     private final int varCounter;
 
     public ChannelSubscribeStatement(Identifier dataverseName, Identifier channelName, List<Expression> argList,
-            int varCounter, Identifier brokerDataverseName, Identifier brokerName, String subscriptionId) {
+            int varCounter, Identifier brokerDataverseName, Identifier brokerName, String subscriptionId,
+            List<String> paramList) {
         this.channelName = channelName;
         this.dataverseName = dataverseName;
         this.brokerDataverseName = brokerDataverseName;
@@ -78,6 +68,7 @@
         this.argList = argList;
         this.subscriptionId = subscriptionId;
         this.varCounter = varCounter;
+        this.paramList = paramList;
     }
 
     public Identifier getDataverseName() {
@@ -138,83 +129,39 @@
                 throw new AsterixException("There is no broker with this name " + brokerName + ".");
             }
 
-            String subscriptionsDatasetName = channel.getChannelSubscriptionsDataset();
+            String channelSubscriptionsDataset =
+                    channel.getChannelId().getDataverse() + "." + channel.getChannelSubscriptionsDataset();
 
-            if (argList.size() != channel.getFunction().getArity()) {
-                throw new AsterixException("Channel expected " + channel.getFunction().getArity()
-                        + " parameters but got " + argList.size());
-            }
-
-            Query subscriptionTuple = new Query(false);
-
-            List<FieldBinding> fb = new ArrayList<>();
-            LiteralExpr leftExpr = new LiteralExpr(new StringLiteral(BADConstants.DataverseName));
-            Expression rightExpr = new LiteralExpr(new StringLiteral(brokerDataverse));
-            fb.add(new FieldBinding(leftExpr, rightExpr));
-
-            leftExpr = new LiteralExpr(new StringLiteral(BADConstants.BrokerName));
-            rightExpr = new LiteralExpr(new StringLiteral(broker.getBrokerName()));
-            fb.add(new FieldBinding(leftExpr, rightExpr));
-
-            if (subscriptionId != null) {
-                leftExpr = new LiteralExpr(new StringLiteral(BADConstants.ChannelSubscriptionId));
-
-                List<Expression> UUIDList = new ArrayList<>();
-                UUIDList.add(new LiteralExpr(new StringLiteral(subscriptionId)));
-                FunctionIdentifier function = BuiltinFunctions.UUID_CONSTRUCTOR;
-                FunctionSignature UUIDfunc =
-                        new FunctionSignature(function.getNamespace(), function.getName(), function.getArity());
-                CallExpr UUIDCall = new CallExpr(UUIDfunc, UUIDList);
-
-                rightExpr = UUIDCall;
-                fb.add(new FieldBinding(leftExpr, rightExpr));
-            }
-
-            for (int i = 0; i < argList.size(); i++) {
-                leftExpr = new LiteralExpr(new StringLiteral("param" + i));
-                rightExpr = argList.get(i);
-                fb.add(new FieldBinding(leftExpr, rightExpr));
-            }
-            RecordConstructor recordCon = new RecordConstructor(fb);
-            subscriptionTuple.setBody(recordCon);
-            subscriptionTuple.setVarCounter(varCounter);
-            MetadataProvider tempMdProvider = new MetadataProvider(metadataProvider.getApplicationContext(),
-                    metadataProvider.getDefaultDataverse());
-            tempMdProvider.getConfig().putAll(metadataProvider.getConfig());
+            String brokerSubscriptionsDataset =
+                    channel.getChannelId().getDataverse() + "." + channel.getBrokerSubscriptionsDataset();
 
             final ResultDelivery resultDelivery = requestParameters.getResultProperties().getDelivery();
             final IHyracksDataset hdc = requestParameters.getHyracksDataset();
             final Stats stats = requestParameters.getStats();
             if (subscriptionId == null) {
-                //To create a new subscription
-                VariableExpr resultVar = new VariableExpr(new VarIdentifier("$result", 0));
-                VariableExpr useResultVar = new VariableExpr(new VarIdentifier("$result", 0));
-                useResultVar.setIsNewVar(false);
-                FieldAccessor accessor =
-                        new FieldAccessor(useResultVar, new Identifier(BADConstants.ChannelSubscriptionId));
+                //Create a new subscription
+                if (argList.size() != channel.getFunction().getArity()) {
+                    throw new AsterixException("Channel expected " + channel.getFunction().getArity()
+                            + " parameters but got " + argList.size());
+                }
 
+                createChannelSubscription(statementExecutor, metadataProvider, hcc, hdc, stats,
+                        channelSubscriptionsDataset, resultDelivery);
+
+                metadataProvider.getLocks().reset();
                 metadataProvider.setResultSetId(new ResultSetId(resultSetId));
                 boolean resultsAsync =
                         resultDelivery == ResultDelivery.ASYNC || resultDelivery == ResultDelivery.DEFERRED;
                 metadataProvider.setResultAsyncMode(resultsAsync);
-                tempMdProvider.setResultSetId(metadataProvider.getResultSetId());
-                tempMdProvider.setResultAsyncMode(resultsAsync);
-                tempMdProvider.setWriterFactory(metadataProvider.getWriterFactory());
-                tempMdProvider
-                        .setResultSerializerFactoryProvider(metadataProvider.getResultSerializerFactoryProvider());
-                tempMdProvider.setOutputFile(metadataProvider.getOutputFile());
-                tempMdProvider.setMaxResultReads(requestParameters.getResultProperties().getMaxReads());
+                metadataProvider.setMaxResultReads(requestParameters.getResultProperties().getMaxReads());
 
-                InsertStatement insert = new InsertStatement(new Identifier(dataverse),
-                        new Identifier(subscriptionsDatasetName), subscriptionTuple, varCounter, resultVar, accessor);
-                ((QueryTranslator) statementExecutor).handleInsertUpsertStatement(tempMdProvider, insert, hcc, hdc,
-                        resultDelivery, null, stats, false, null, null, null);
+                createBrokerSubscription(statementExecutor, metadataProvider, hcc, hdc, stats,
+                        channelSubscriptionsDataset, brokerSubscriptionsDataset, broker, resultDelivery);
+
             } else {
-                //To update an existing subscription
-                UpsertStatement upsert = new UpsertStatement(new Identifier(dataverse),
-                        new Identifier(subscriptionsDatasetName), subscriptionTuple, varCounter, null, null);
-                ((QueryTranslator) statementExecutor).handleInsertUpsertStatement(tempMdProvider, upsert, hcc, hdc,
-                        resultDelivery, null, stats, false, null, null, null);
+                //move subscription
+                moveBrokerSubscription(statementExecutor, metadataProvider, hcc, hdc, stats, brokerSubscriptionsDataset,
+                        broker, resultDelivery, subscriptionId);
             }
 
             MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
@@ -227,4 +174,89 @@
 
     }
 
+    private void createChannelSubscription(IStatementExecutor statementExecutor, MetadataProvider metadataProvider,
+            IHyracksClientConnection hcc, IHyracksDataset hdc, Stats stats, String channelSubscriptionsDataset,
+            ResultDelivery resultDelivery) throws Exception {
+        //TODO: Might be better to create the entire expression manually rather than parsing a string
+        StringBuilder builder = new StringBuilder();
+        builder.append("upsert into " + channelSubscriptionsDataset + "(\n");
+        builder.append("(let v = (select value s from " + channelSubscriptionsDataset + " s where ");
+        for (int i = 0; i < paramList.size(); i++) {
+            builder.append("param" + i + " =  " + paramList.get(i));
+            if (i < paramList.size() - 1) {
+                builder.append(" and ");
+            }
+        }
+        builder.append(")\n");
+        builder.append("select value (CASE (array_count(v) > 0)\n");
+        builder.append("WHEN true THEN {\"" + BADConstants.ChannelSubscriptionId + "\":v[0]."
+                + BADConstants.ChannelSubscriptionId + ", ");
+        for (int i = 0; i < paramList.size(); i++) {
+            builder.append("\"param" + i + "\": " + paramList.get(i));
+            if (i < paramList.size() - 1) {
+                builder.append(", ");
+            }
+        }
+        builder.append("}\n");
+        builder.append("ELSE {\"" + BADConstants.ChannelSubscriptionId + "\":create_uuid(), ");
+        for (int i = 0; i < paramList.size(); i++) {
+            builder.append("\"param" + i + "\": " + paramList.get(i));
+            if (i < paramList.size() - 1) {
+                builder.append(", ");
+            }
+        }
+        builder.append("}\n");
+        builder.append("END))\n");
+        builder.append(");");
+        BADParserFactory factory = new BADParserFactory();
+        List<Statement> fStatements = factory.createParser(new StringReader(builder.toString())).parse();
+        ((QueryTranslator) statementExecutor).handleInsertUpsertStatement(metadataProvider, fStatements.get(0), hcc,
+                hdc, resultDelivery, null, stats, false, null, null, null);
+    }
+
+    private void createBrokerSubscription(IStatementExecutor statementExecutor, MetadataProvider metadataProvider,
+            IHyracksClientConnection hcc, IHyracksDataset hdc, Stats stats, String channelSubscriptionsDataset,
+            String brokerSubscriptionDataset, Broker broker, ResultDelivery resultDelivery) throws Exception {
+        //TODO: Might be better to create the entire expression manually rather than parsing a string
+        StringBuilder builder = new StringBuilder();
+        builder.append("insert into " + brokerSubscriptionDataset + " as r (\n");
+        builder.append("(select value {\"" + BADConstants.ChannelSubscriptionId + "\":s."
+                + BADConstants.ChannelSubscriptionId + ",\"" + BADConstants.BrokerSubscriptionId
+                + "\":create_uuid(), \"" + BADConstants.DataverseName + "\":\"" + broker.getDataverseName() + "\", \""
+                + BADConstants.BrokerName + "\":\"" + broker.getBrokerName() + "\"}\n");
+        builder.append("from " + channelSubscriptionsDataset + " s where ");
+        for (int i = 0; i < paramList.size(); i++) {
+            builder.append("param" + i + " =  " + paramList.get(i));
+            if (i < paramList.size() - 1) {
+                builder.append(" and ");
+            }
+        }
+        builder.append(" limit 1)\n");
+        builder.append(") returning r." + BADConstants.BrokerSubscriptionId + ";");
+        BADParserFactory factory = new BADParserFactory();
+        List<Statement> fStatements = factory.createParser(new StringReader(builder.toString())).parse();
+        ((QueryTranslator) statementExecutor).handleInsertUpsertStatement(metadataProvider, fStatements.get(0), hcc,
+                hdc, resultDelivery, null, stats, false, null, null, null);
+    }
+
+    private void moveBrokerSubscription(IStatementExecutor statementExecutor, MetadataProvider metadataProvider,
+            IHyracksClientConnection hcc, IHyracksDataset hdc, Stats stats, String brokerSubscriptionDataset,
+            Broker broker, ResultDelivery resultDelivery, String subscriptionString) throws Exception {
+        //TODO: Might be better to create the entire expression manually rather than parsing a string
+        StringBuilder builder = new StringBuilder();
+        builder.append("upsert into " + brokerSubscriptionDataset + "(\n");
+        builder.append(
+                "(select value {\"" + BADConstants.ChannelSubscriptionId + "\":s." + BADConstants.ChannelSubscriptionId
+                        + ",\"" + BADConstants.BrokerSubscriptionId + "\":s." + BADConstants.BrokerSubscriptionId
+                        + ",\"" + BADConstants.DataverseName + "\":\"" + broker.getDataverseName() + "\", \""
+                        + BADConstants.BrokerName + "\":\"" + broker.getBrokerName() + "\"}\n");
+        builder.append("from " + brokerSubscriptionDataset + " s where ");
+        builder.append("s." + BADConstants.BrokerSubscriptionId + " = uuid(\"" + subscriptionString + "\"))\n");
+        builder.append(");");
+        BADParserFactory factory = new BADParserFactory();
+        List<Statement> fStatements = factory.createParser(new StringReader(builder.toString())).parse();
+        ((QueryTranslator) statementExecutor).handleInsertUpsertStatement(metadataProvider, fStatements.get(0), hcc,
+                hdc, resultDelivery, null, stats, false, null, null, null);
+    }
+
 }
\ No newline at end of file
diff --git a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
index e6ba69c..86041b7 100644
--- a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
+++ b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
@@ -113,11 +113,11 @@
                 throw new AsterixException("There is no channel with this name " + channelName + ".");
             }
 
-            String subscriptionsDatasetName = channel.getChannelSubscriptionsDataset();
+            String subscriptionsDatasetName = channel.getBrokerSubscriptionsDataset();
 
             //Need a condition to say subscription-id = sid
             OperatorExpr condition = new OperatorExpr();
-            FieldAccessor fa = new FieldAccessor(vars, new Identifier(BADConstants.ChannelSubscriptionId));
+            FieldAccessor fa = new FieldAccessor(vars, new Identifier(BADConstants.BrokerSubscriptionId));
             condition.addOperand(fa);
             condition.setCurrentop(true);
             condition.addOperator("=");
diff --git a/asterix-bad/src/main/java/org/apache/asterix/bad/metadata/Channel.java b/asterix-bad/src/main/java/org/apache/asterix/bad/metadata/Channel.java
index 61df9af..cc0d81e 100644
--- a/asterix-bad/src/main/java/org/apache/asterix/bad/metadata/Channel.java
+++ b/asterix-bad/src/main/java/org/apache/asterix/bad/metadata/Channel.java
@@ -70,9 +70,11 @@
             this.dependencies.add(new ArrayList<>());
             this.dependencies.add(new ArrayList<>());
             List<String> resultsList = Arrays.asList(dataverseName, resultsDatasetName);
-            List<String> subscriptionList = Arrays.asList(dataverseName, channelSubscriptionsDatasetName);
+            List<String> channelSubscriptionList = Arrays.asList(dataverseName, channelSubscriptionsDatasetName);
+            List<String> brokerSubscriptionList = Arrays.asList(dataverseName, brokerSubscriptionsDatasetName);
             this.dependencies.get(0).add(resultsList);
-            this.dependencies.get(0).add(subscriptionList);
+            this.dependencies.get(0).add(channelSubscriptionList);
+            this.dependencies.get(0).add(brokerSubscriptionList);
             this.dependencies.get(1).add(functionAsPath);
         } else {
             this.dependencies = dependencies;
diff --git a/asterix-bad/src/main/resources/lang-extension/lang.txt b/asterix-bad/src/main/resources/lang-extension/lang.txt
index 7456cef..9e6491e 100644
--- a/asterix-bad/src/main/resources/lang-extension/lang.txt
+++ b/asterix-bad/src/main/resources/lang-extension/lang.txt
@@ -226,21 +226,40 @@
   String id = null;
   String subscriptionId = null;
   Pair<Identifier,Identifier> brokerName = null;
+  Token beginPos;
+  Token endPos;
+  String paramString;
+  List<String> paramList = new ArrayList<String>();
 }
 {
   (
   "subscribe" <TO> nameComponents = QualifiedName()
-   <LEFTPAREN> (tmp = Expression()
+   <LEFTPAREN>
+   (
    {
-      argList.add(tmp);
+   beginPos = token;
    }
-   (<COMMA> tmp = Expression()
+   tmp = Expression()
    {
       argList.add(tmp);
+      endPos = token;
+      paramString = extractFragment(beginPos.endLine, beginPos.endColumn, endPos.endLine, endPos.endColumn+1);
+      paramList.add(paramString);
+   }
+   (<COMMA>
+   {
+   beginPos = token;
+   }
+    tmp = Expression()
+   {
+      argList.add(tmp);
+      endPos = token;
+      paramString = extractFragment(beginPos.endLine, beginPos.endColumn, endPos.endLine, endPos.endColumn+1);
+      paramList.add(paramString);
    }
    )*)? <RIGHTPAREN> <ON> brokerName = QualifiedName()
    {
-      stmt = new ChannelSubscribeStatement(nameComponents.first, nameComponents.second, argList, getVarCounter(), brokerName.first, brokerName.second, subscriptionId);
+      stmt = new ChannelSubscribeStatement(nameComponents.first, nameComponents.second, argList, getVarCounter(), brokerName.first, brokerName.second, subscriptionId, paramList);
    }
    | "unsubscribe" id = StringLiteral() <FROM> nameComponents = QualifiedName()
       {
@@ -251,19 +270,9 @@
         getCurrentScope().addNewVarSymbolToScope(varExp.getVar());
         stmt = new ChannelUnsubscribeStatement(varExp, nameComponents.first, nameComponents.second, id, getVarCounter());
       }
-     | "change" "subscription" subscriptionId = StringLiteral()  <ON> nameComponents = QualifiedName()
-       <LEFTPAREN> (tmp = Expression()
-       {
-         argList.add(tmp);
-       }
-       (<COMMA> tmp = Expression()
-       {
-         argList.add(tmp);
-       }
-       )*)? <RIGHTPAREN>
-        <TO> brokerName = QualifiedName()
+     | "move" "subscription" subscriptionId = StringLiteral()  <ON> nameComponents = QualifiedName() <TO> brokerName = QualifiedName()
       {
-        stmt = new ChannelSubscribeStatement(nameComponents.first, nameComponents.second, argList, getVarCounter(), brokerName.first, brokerName.second, subscriptionId);
+        stmt = new ChannelSubscribeStatement(nameComponents.first, nameComponents.second, argList, getVarCounter(), brokerName.first, brokerName.second, subscriptionId, paramList);
       }
     )
     {
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/channel/add_index/add_index.2.update.sqlpp
index 0a38e41..8d43491 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/channel/add_index/add_index.2.update.sqlpp
@@ -25,110 +25,106 @@
 
 use channels;
 
-insert into EmergencyChannelSubscriptions(
-[
-{"param0" : "w2294u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4321u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3398u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "w2488u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3666u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4489u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p78u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p544u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p711u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t2828u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4796u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4082u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4923u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "w2324u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1339u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p520u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1092u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4979u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1487u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4330u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3682u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p117u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "w1741u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "w2434u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3833u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1373u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p89u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4003u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c910u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4961u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4475u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "w1960u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p438u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1362u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p588u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c902u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4684u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1609u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1510u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3851u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1418u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t2559u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "w1815u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4924u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3320u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p663u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4571u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p781u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c919u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1121u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p814u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4006u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t2822u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4953u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3486u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3107u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t2836u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "w2003u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3256u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4762u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4900u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p357u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3630u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3166u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4687u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p817u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4433u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3426u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p582u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3388u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4823u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1664u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4051u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c857u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1412u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t2521u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3114u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p404u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p111u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3006u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t2903u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t2823u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4153u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t2589u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1459u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p766u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p593u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p168u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4253u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4177u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p387u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t2571u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "c1513u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p618u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t2735u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t4859u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "w1848u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t3306u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "t2558u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" },
-{"param0" : "p180u1" , "DataverseName" : "channels" , "BrokerName" : "brokerA" }
-]
-);
+subscribe to EmergencyChannel("w2294u1") on brokerA;
+subscribe to EmergencyChannel("t4321u1") on brokerA;
+subscribe to EmergencyChannel("t3398u1") on brokerA;
+subscribe to EmergencyChannel("w2488u1") on brokerA;
+subscribe to EmergencyChannel("t3666u1") on brokerA;
+subscribe to EmergencyChannel("t4489u1") on brokerA;
+subscribe to EmergencyChannel("p78u1") on brokerA;
+subscribe to EmergencyChannel("p544u1") on brokerA;
+subscribe to EmergencyChannel("p711u1") on brokerA;
+subscribe to EmergencyChannel("t2828u1") on brokerA;
+subscribe to EmergencyChannel("t4796u1") on brokerA;
+subscribe to EmergencyChannel("t4082u1") on brokerA;
+subscribe to EmergencyChannel("t4923u1") on brokerA;
+subscribe to EmergencyChannel("w2324u1") on brokerA;
+subscribe to EmergencyChannel("c1339u1") on brokerA;
+subscribe to EmergencyChannel("p520u1") on brokerA;
+subscribe to EmergencyChannel("c1092u1") on brokerA;
+subscribe to EmergencyChannel("t4979u1") on brokerA;
+subscribe to EmergencyChannel("c1487u1") on brokerA;
+subscribe to EmergencyChannel("t4330u1") on brokerA;
+subscribe to EmergencyChannel("t3682u1") on brokerA;
+subscribe to EmergencyChannel("p117u1") on brokerA;
+subscribe to EmergencyChannel("w1741u1") on brokerA;
+subscribe to EmergencyChannel("w2434u1") on brokerA;
+subscribe to EmergencyChannel("t3833u1") on brokerA;
+subscribe to EmergencyChannel("c1373u1") on brokerA;
+subscribe to EmergencyChannel("p89u1") on brokerA;
+subscribe to EmergencyChannel("t4003u1") on brokerA;
+subscribe to EmergencyChannel("c910u1") on brokerA;
+subscribe to EmergencyChannel("t4961u1") on brokerA;
+subscribe to EmergencyChannel("t4475u1") on brokerA;
+subscribe to EmergencyChannel("w1960u1") on brokerA;
+subscribe to EmergencyChannel("p438u1") on brokerA;
+subscribe to EmergencyChannel("c1362u1") on brokerA;
+subscribe to EmergencyChannel("p588u1") on brokerA;
+subscribe to EmergencyChannel("c902u1") on brokerA;
+subscribe to EmergencyChannel("t4684u1") on brokerA;
+subscribe to EmergencyChannel("c1609u1") on brokerA;
+subscribe to EmergencyChannel("c1510u1") on brokerA;
+subscribe to EmergencyChannel("t3851u1") on brokerA;
+subscribe to EmergencyChannel("c1418u1") on brokerA;
+subscribe to EmergencyChannel("t2559u1") on brokerA;
+subscribe to EmergencyChannel("w1815u1") on brokerA;
+subscribe to EmergencyChannel("t4924u1") on brokerA;
+subscribe to EmergencyChannel("t3320u1") on brokerA;
+subscribe to EmergencyChannel("p663u1") on brokerA;
+subscribe to EmergencyChannel("t4571u1") on brokerA;
+subscribe to EmergencyChannel("p781u1") on brokerA;
+subscribe to EmergencyChannel("c919u1") on brokerA;
+subscribe to EmergencyChannel("c1121u1") on brokerA;
+subscribe to EmergencyChannel("p814u1") on brokerA;
+subscribe to EmergencyChannel("t4006u1") on brokerA;
+subscribe to EmergencyChannel("t2822u1") on brokerA;
+subscribe to EmergencyChannel("t4953u1") on brokerA;
+subscribe to EmergencyChannel("t3486u1") on brokerA;
+subscribe to EmergencyChannel("t3107u1") on brokerA;
+subscribe to EmergencyChannel("t2836u1") on brokerA;
+subscribe to EmergencyChannel("w2003u1") on brokerA;
+subscribe to EmergencyChannel("t3256u1") on brokerA;
+subscribe to EmergencyChannel("t4762u1") on brokerA;
+subscribe to EmergencyChannel("t4900u1") on brokerA;
+subscribe to EmergencyChannel("p357u1") on brokerA;
+subscribe to EmergencyChannel("t3630u1") on brokerA;
+subscribe to EmergencyChannel("t3166u1") on brokerA;
+subscribe to EmergencyChannel("t4687u1") on brokerA;
+subscribe to EmergencyChannel("p817u1") on brokerA;
+subscribe to EmergencyChannel("t4433u1") on brokerA;
+subscribe to EmergencyChannel("t3426u1") on brokerA;
+subscribe to EmergencyChannel("p582u1") on brokerA;
+subscribe to EmergencyChannel("t3388u1") on brokerA;
+subscribe to EmergencyChannel("t4823u1") on brokerA;
+subscribe to EmergencyChannel("c1664u1") on brokerA;
+subscribe to EmergencyChannel("t4051u1") on brokerA;
+subscribe to EmergencyChannel("c857u1") on brokerA;
+subscribe to EmergencyChannel("c1412u1") on brokerA;
+subscribe to EmergencyChannel("t2521u1") on brokerA;
+subscribe to EmergencyChannel("t3114u1") on brokerA;
+subscribe to EmergencyChannel("p404u1") on brokerA;
+subscribe to EmergencyChannel("p111u1") on brokerA;
+subscribe to EmergencyChannel("t3006u1") on brokerA;
+subscribe to EmergencyChannel("t2903u1") on brokerA;
+subscribe to EmergencyChannel("t2823u1") on brokerA;
+subscribe to EmergencyChannel("t4153u1") on brokerA;
+subscribe to EmergencyChannel("t2589u1") on brokerA;
+subscribe to EmergencyChannel("c1459u1") on brokerA;
+subscribe to EmergencyChannel("p766u1") on brokerA;
+subscribe to EmergencyChannel("p593u1") on brokerA;
+subscribe to EmergencyChannel("p168u1") on brokerA;
+subscribe to EmergencyChannel("t4253u1") on brokerA;
+subscribe to EmergencyChannel("t4177u1") on brokerA;
+subscribe to EmergencyChannel("p387u1") on brokerA;
+subscribe to EmergencyChannel("t2571u1") on brokerA;
+subscribe to EmergencyChannel("c1513u1") on brokerA;
+subscribe to EmergencyChannel("p618u1") on brokerA;
+subscribe to EmergencyChannel("t2735u1") on brokerA;
+subscribe to EmergencyChannel("t4859u1") on brokerA;
+subscribe to EmergencyChannel("w1848u1") on brokerA;
+subscribe to EmergencyChannel("t3306u1") on brokerA;
+subscribe to EmergencyChannel("t2558u1") on brokerA;
+subscribe to EmergencyChannel("p180u1") on brokerA;
 
 insert into Shelters (
 [
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/channel/add_index/add_index.5.pollquery.sqlpp
similarity index 97%
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/channel/add_index/add_index.5.pollquery.sqlpp
index dd6e1ca..0cc76dc 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/channel/add_index/add_index.5.pollquery.sqlpp
@@ -22,6 +22,7 @@
 * Date         : Apr 2018
 * Author       : Steven Jacobs
 */
+// polltimeoutsecs=15
 
 use channels;
 
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/channel/create_channel_check_datasets/create_channel_check_datasets.3.query.sqlpp
index c9ac4c8..f93a5cf 100644
--- 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/channel/create_channel_check_datasets/create_channel_check_datasets.3.query.sqlpp
@@ -21,6 +21,7 @@
 select value x
 from Metadata.`Channel` result, Metadata.`Dataset` x
 where result.ChannelName = "nearbyTweetChannel"
-and (x.DatasetName = result.SubscriptionsDatasetName
+and (x.DatasetName = result.ChannelSubscriptionsDatasetName
+or x.DatasetName = result.BrokerSubscriptionsDatasetName
 or x.DatasetName = result.ResultsDatasetName)
 order by x.DatasetName;
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/channel/drop_channel_check_datasets/drop_channel_check_datasets.3.query.sqlpp
index 7a1c5a1..52af22d 100644
--- 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/channel/drop_channel_check_datasets/drop_channel_check_datasets.3.query.sqlpp
@@ -20,7 +20,8 @@
 
 select value x
 from Metadata.`Channel` result, Metadata.`Dataset` x
-where x.DatasetName = result.SubscriptionsDatasetName
+where x.DatasetName = result.BrokerSubscriptionsDatasetName
+or x.DatasetName = result.ChannelSubscriptionsDatasetName
 or x.DatasetName = result.ResultsDatasetName
 order by x.DatasetName
 ;
\ No newline at end of file
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/channel/drop_subscriptions/drop_subscriptions.1.ddl.sqlpp
index f6dc2bf..13e644e 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/channel/drop_subscriptions/drop_subscriptions.1.ddl.sqlpp
@@ -54,4 +54,4 @@
 
 create repetitive channel nearbyTweetChannel using channels.NearbyTweetsContainingText@2 period duration("PT10M");
 
-drop dataset two.nearbyTweetChannelSubscriptions;
\ No newline at end of file
+drop dataset two.nearbyTweetChannelChannelSubscriptions;
\ No newline at end of file
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/channel/room_occupants/room_occupants.4.query.sqlpp
index 8612077..1044c26 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/channel/room_occupants/room_occupants.4.query.sqlpp
@@ -25,7 +25,7 @@
 
 use channels;
 
-select test.BrokerName, test.param0
-from roomRecordsSubscriptions test
-order by test.BrokerName
+select test.param0
+from roomRecordsChannelSubscriptions test
+order by test.param0
 ;
diff --git a/asterix-bad/src/test/resources/runtimets/queries/channel/shared_subscriptions/shared_subscriptions.1.ddl.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/channel/shared_subscriptions/shared_subscriptions.1.ddl.sqlpp
new file mode 100644
index 0000000..06f1b4e
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/queries/channel/shared_subscriptions/shared_subscriptions.1.ddl.sqlpp
@@ -0,0 +1,74 @@
+/*
+ * 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 matching subscriptions and check results
+* Expected Res : Success
+* Date         : Jun 2018
+* Author       : Steven Jacobs
+*/
+
+drop dataverse two if exists;
+drop dataverse channels if exists;
+create dataverse channels;
+use channels;
+
+create type userLocation as {
+  userId: int,
+  roomNumber: int
+};
+create type watchedUser as {
+  userId: int,
+  name: string
+};
+create type roomSecurity as {
+  roomNumber: int,
+  securityGuardName: string,
+  securityGuardNumber: string
+};
+
+create dataset watchedUsers(watchedUser)
+primary key userId;
+
+create dataset roomSecurityAssignments(roomSecurity)
+primary key roomNumber;
+
+upsert into roomSecurityAssignments([
+{"roomNumber":123, "securityGuardName":"Mike", "securityGuardNumber":"555_4815"},
+{"roomNumber":222, "securityGuardName":"Steven", "securityGuardNumber":"555_1623"},
+{"roomNumber":350, "securityGuardName":"Vassilis", "securityGuardNumber":"555_1234"}]
+);
+
+upsert into watchedUsers([
+{"userId":1, "name":"suspectNumber1"}]
+);
+
+
+create dataset UserLocations(userLocation)
+primary key userId;
+
+create function RoomOccupants(room) {
+  (select location.userId
+  from UserLocations location
+  where location.roomNumber = room)
+};
+
+create broker brokerA at "http://www.notifyA.com";
+create broker brokerB at "http://www.notifyB.com";
+
+create repetitive channel roomRecords using RoomOccupants@1 period duration("PT5S");
\ 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/shared_subscriptions/shared_subscriptions.2.update.sqlpp
similarity index 81%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.4.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/channel/shared_subscriptions/shared_subscriptions.2.update.sqlpp
index 5f764b3..15a2246 100644
--- 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/shared_subscriptions/shared_subscriptions.2.update.sqlpp
@@ -16,11 +16,9 @@
  * 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;
 
-15000
\ No newline at end of file
+subscribe to roomRecords(123) on brokerA;
+subscribe to roomRecords(350) on brokerA;
+subscribe to roomRecords(123) on brokerA;
+subscribe to roomRecords(350) on brokerB;
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/shared_subscriptions/shared_subscriptions.3.query.sqlpp
similarity index 82%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.4.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/channel/shared_subscriptions/shared_subscriptions.3.query.sqlpp
index 5f764b3..c3a8dee 100644
--- 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/shared_subscriptions/shared_subscriptions.3.query.sqlpp
@@ -16,11 +16,7 @@
  * 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;
 
-15000
\ No newline at end of file
+select param0 from roomRecordsChannelSubscriptions
+order by param0;
\ 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/shared_subscriptions/shared_subscriptions.4.query.sqlpp
similarity index 82%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.4.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/channel/shared_subscriptions/shared_subscriptions.4.query.sqlpp
index 5f764b3..17c0a01 100644
--- 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/shared_subscriptions/shared_subscriptions.4.query.sqlpp
@@ -16,11 +16,7 @@
  * 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;
 
-15000
\ No newline at end of file
+select DataverseName,BrokerName from roomRecordsBrokerSubscriptions
+order by BrokerName;
\ 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/shared_subscriptions/shared_subscriptions.5.update.sqlpp
similarity index 82%
copy from asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.4.sleep.sqlpp
copy to asterix-bad/src/test/resources/runtimets/queries/channel/shared_subscriptions/shared_subscriptions.5.update.sqlpp
index 5f764b3..7c14a29 100644
--- 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/shared_subscriptions/shared_subscriptions.5.update.sqlpp
@@ -16,11 +16,10 @@
  * 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;
 
-15000
\ No newline at end of file
+upsert into UserLocations([
+{"userId":1, "roomNumber":123},
+{"userId":2, "roomNumber":222},
+{"userId":3, "roomNumber":350}]
+);
\ 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/shared_subscriptions/shared_subscriptions.6.pollquery.sqlpp
similarity index 82%
rename from asterix-bad/src/test/resources/runtimets/queries/channel/add_index/add_index.4.sleep.sqlpp
rename to asterix-bad/src/test/resources/runtimets/queries/channel/shared_subscriptions/shared_subscriptions.6.pollquery.sqlpp
index 5f764b3..990002a 100644
--- 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/shared_subscriptions/shared_subscriptions.6.pollquery.sqlpp
@@ -16,11 +16,8 @@
  * 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
-*/
+ // polltimeoutsecs=15
 
-15000
\ No newline at end of file
+use channels;
+
+array_count((select * from roomRecordsResults));
\ 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.5.query.sqlpp b/asterix-bad/src/test/resources/runtimets/queries/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.5.query.sqlpp
index cd0510d..5c3a4de 100644
--- 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/channel/subscribe_channel_check_subscriptions/subscribe_channel_check_subscriptions.5.query.sqlpp
@@ -19,6 +19,6 @@
 use channels;
 
 select value param1
-from nearbyTweetChannelSubscriptions
+from nearbyTweetChannelChannelSubscriptions
 order by param1
 ;
\ No newline at end of file
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/channel/create_channel_check_datasets/create_channel_check_datasets.1.adm
index 776192d..59442c8 100644
--- 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/channel/create_channel_check_datasets/create_channel_check_datasets.1.adm
@@ -1,2 +1,3 @@
-{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannelResults", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelResultsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannelResults", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "resultId" ] ], "PrimaryKey": [ [ "resultId" ] ], "Autogenerated": true }, "Hints": {{  }}, "Timestamp": "Mon Sep 12 13:48:16 PDT 2016", "DatasetId": 103, "PendingOp": 0 }
-{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannelSubscriptions", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelSubscriptionsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannelSubscriptions", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "subscriptionId" ] ], "PrimaryKey": [ [ "subscriptionId" ] ], "Autogenerated": true }, "Hints": {{  }}, "Timestamp": "Mon Sep 12 13:48:16 PDT 2016", "DatasetId": 102, "PendingOp": 0 }
+{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannelBrokerSubscriptions", "DatatypeDataverseName": "Metadata", "DatatypeName": "BrokerSubscriptionsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannelBrokerSubscriptions", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "channelSubId" ], [ "brokerSubId" ] ], "PrimaryKey": [ [ "channelSubId" ], [ "brokerSubId" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Wed Jun 20 14:48:20 PDT 2018", "DatasetId": 133, "PendingOp": 0 }
+{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannelChannelSubscriptions", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelSubscriptionsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannelChannelSubscriptions", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "channelSubId" ] ], "PrimaryKey": [ [ "channelSubId" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Wed Jun 20 14:48:20 PDT 2018", "DatasetId": 132, "PendingOp": 0 }
+{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannelResults", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelResultsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannelResults", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "resultId" ] ], "PrimaryKey": [ [ "resultId" ] ], "Autogenerated": true }, "Hints": {{  }}, "Timestamp": "Wed Jun 20 14:48:20 PDT 2018", "DatasetId": 134, "PendingOp": 0 }
\ No newline at end of file
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/channel/create_channel_check_metadata/create_channel_check_metadata.1.adm
index 225d83f..ff95244 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/channel/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", "ChannelSubscriptionsDatasetName": "nearbyTweetChannelChannelSubscriptions", "ResultsDatasetName": "nearbyTweetChannelResults", "Function": [ "channels", "NearbyTweetsContainingText", "2" ], "Duration": "PT10M", "Dependencies": [ [ [ "channels", "nearbyTweetChannelResults" ], [ "channels", "nearbyTweetChannelChannelSubscriptions" ], [ "channels", "nearbyTweetChannelBrokerSubscriptions" ] ], [ [ "channels", "NearbyTweetsContainingText", "2" ] ] ], "Body": "SET inline_with \"false\";\ninsert into channels.nearbyTweetChannelResults as a (\nwith channelExecutionTime as current_datetime() \nselect result, channelExecutionTime, sub.channelSubId as channelSubId,current_datetime() as deliveryTime\nfrom channels.nearbyTweetChannelChannelSubscriptions sub,\nchannels.nearbyTweetChannelBrokerSubscriptions bs,\nMetadata.Broker b, \nchannels.NearbyTweetsContainingText(sub.param0,sub.param1) result \n) returning a;", "BrokerSubscriptionsDatasetName": "nearbyTweetChannelBrokerSubscriptions" }
\ No newline at end of file
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/channel/drop_channel_check_datasets/drop_channel_check_datasets.1.adm
index 7d160fa..16063bc 100644
--- 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/channel/drop_channel_check_datasets/drop_channel_check_datasets.1.adm
@@ -1,4 +1,6 @@
-{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannel1Results", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelResultsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannel1Results", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "resultId" ] ], "PrimaryKey": [ [ "resultId" ] ], "Autogenerated": true }, "Hints": {{  }}, "Timestamp": "Tue Sep 13 09:50:56 PDT 2016", "DatasetId": 103, "PendingOp": 0 }
-{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannel1Subscriptions", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelSubscriptionsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannel1Subscriptions", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "subscriptionId" ] ], "PrimaryKey": [ [ "subscriptionId" ] ], "Autogenerated": true }, "Hints": {{  }}, "Timestamp": "Tue Sep 13 09:50:56 PDT 2016", "DatasetId": 102, "PendingOp": 0 }
-{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannel3Results", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelResultsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannel3Results", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "resultId" ] ], "PrimaryKey": [ [ "resultId" ] ], "Autogenerated": true }, "Hints": {{  }}, "Timestamp": "Tue Sep 13 09:50:58 PDT 2016", "DatasetId": 107, "PendingOp": 0 }
-{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannel3Subscriptions", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelSubscriptionsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannel3Subscriptions", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "subscriptionId" ] ], "PrimaryKey": [ [ "subscriptionId" ] ], "Autogenerated": true }, "Hints": {{  }}, "Timestamp": "Tue Sep 13 09:50:58 PDT 2016", "DatasetId": 106, "PendingOp": 0 }
+{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannel1BrokerSubscriptions", "DatatypeDataverseName": "Metadata", "DatatypeName": "BrokerSubscriptionsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannel1BrokerSubscriptions", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "channelSubId" ], [ "brokerSubId" ] ], "PrimaryKey": [ [ "channelSubId" ], [ "brokerSubId" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Wed Jun 20 14:58:14 PDT 2018", "DatasetId": 103, "PendingOp": 0 }
+{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannel1ChannelSubscriptions", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelSubscriptionsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannel1ChannelSubscriptions", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "channelSubId" ] ], "PrimaryKey": [ [ "channelSubId" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Wed Jun 20 14:58:14 PDT 2018", "DatasetId": 102, "PendingOp": 0 }
+{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannel1Results", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelResultsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannel1Results", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "resultId" ] ], "PrimaryKey": [ [ "resultId" ] ], "Autogenerated": true }, "Hints": {{  }}, "Timestamp": "Wed Jun 20 14:58:14 PDT 2018", "DatasetId": 104, "PendingOp": 0 }
+{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannel3BrokerSubscriptions", "DatatypeDataverseName": "Metadata", "DatatypeName": "BrokerSubscriptionsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannel3BrokerSubscriptions", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "channelSubId" ], [ "brokerSubId" ] ], "PrimaryKey": [ [ "channelSubId" ], [ "brokerSubId" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Wed Jun 20 14:58:16 PDT 2018", "DatasetId": 109, "PendingOp": 0 }
+{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannel3ChannelSubscriptions", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelSubscriptionsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannel3ChannelSubscriptions", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "channelSubId" ] ], "PrimaryKey": [ [ "channelSubId" ] ], "Autogenerated": false }, "Hints": {{  }}, "Timestamp": "Wed Jun 20 14:58:16 PDT 2018", "DatasetId": 108, "PendingOp": 0 }
+{ "DataverseName": "channels", "DatasetName": "nearbyTweetChannel3Results", "DatatypeDataverseName": "Metadata", "DatatypeName": "ChannelResultsType", "DatasetType": "INTERNAL", "GroupName": "channels.nearbyTweetChannel3Results", "CompactionPolicy": "prefix", "CompactionPolicyProperties": [ { "Name": "max-mergable-component-size", "Value": "1073741824" }, { "Name": "max-tolerance-component-count", "Value": "5" } ], "InternalDetails": { "FileStructure": "BTREE", "PartitioningStrategy": "HASH", "PartitioningKey": [ [ "resultId" ] ], "PrimaryKey": [ [ "resultId" ] ], "Autogenerated": true }, "Hints": {{  }}, "Timestamp": "Wed Jun 20 14:58:16 PDT 2018", "DatasetId": 110, "PendingOp": 0 }
\ No newline at end of file
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/channel/drop_channel_check_metadata/drop_channel_check_metadata.1.adm
index 8d8899d..839d691 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/channel/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", "ChannelSubscriptionsDatasetName": "nearbyTweetChannel1ChannelSubscriptions", "ResultsDatasetName": "nearbyTweetChannel1Results", "Function": [ "channels", "NearbyTweetsContainingText", "2" ], "Duration": "PT10M", "Dependencies": [ [ [ "channels", "nearbyTweetChannel1Results" ], [ "channels", "nearbyTweetChannel1ChannelSubscriptions" ], [ "channels", "nearbyTweetChannel1BrokerSubscriptions" ] ], [ [ "channels", "NearbyTweetsContainingText", "2" ] ] ], "Body": "SET inline_with \"false\";\ninsert into channels.nearbyTweetChannel1Results as a (\nwith channelExecutionTime as current_datetime() \nselect result, channelExecutionTime, sub.channelSubId as channelSubId,current_datetime() as deliveryTime\nfrom channels.nearbyTweetChannel1ChannelSubscriptions sub,\nchannels.nearbyTweetChannel1BrokerSubscriptions bs,\nMetadata.Broker b, \nchannels.NearbyTweetsContainingText(sub.param0,sub.param1) result \n) returning a;", "BrokerSubscriptionsDatasetName": "nearbyTweetChannel1BrokerSubscriptions" }
+{ "DataverseName": "channels", "ChannelName": "nearbyTweetChannel3", "ChannelSubscriptionsDatasetName": "nearbyTweetChannel3ChannelSubscriptions", "ResultsDatasetName": "nearbyTweetChannel3Results", "Function": [ "channels", "NearbyTweetsContainingText", "2" ], "Duration": "PT10M", "Dependencies": [ [ [ "channels", "nearbyTweetChannel3Results" ], [ "channels", "nearbyTweetChannel3ChannelSubscriptions" ], [ "channels", "nearbyTweetChannel3BrokerSubscriptions" ] ], [ [ "channels", "NearbyTweetsContainingText", "2" ] ] ], "Body": "SET inline_with \"false\";\ninsert into channels.nearbyTweetChannel3Results as a (\nwith channelExecutionTime as current_datetime() \nselect result, channelExecutionTime, sub.channelSubId as channelSubId,current_datetime() as deliveryTime\nfrom channels.nearbyTweetChannel3ChannelSubscriptions sub,\nchannels.nearbyTweetChannel3BrokerSubscriptions bs,\nMetadata.Broker b, \nchannels.NearbyTweetsContainingText(sub.param0,sub.param1) result \n) returning a;", "BrokerSubscriptionsDatasetName": "nearbyTweetChannel3BrokerSubscriptions" }
\ No newline at end of file
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/channel/room_occupants/room_occupants.1.adm
index ce8cc0f..426ca7d 100644
--- a/asterix-bad/src/test/resources/runtimets/results/channel/room_occupants/room_occupants.1.adm
+++ b/asterix-bad/src/test/resources/runtimets/results/channel/room_occupants/room_occupants.1.adm
@@ -1,2 +1,2 @@
-{ "BrokerName": "brokerA", "param0": 123 }
-{ "BrokerName": "brokerB", "param0": 350 }
\ No newline at end of file
+{ "param0": 123 }
+{ "param0": 350 }
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/shared_subscriptions/shared_subscriptions.3.adm b/asterix-bad/src/test/resources/runtimets/results/channel/shared_subscriptions/shared_subscriptions.3.adm
new file mode 100644
index 0000000..426ca7d
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/channel/shared_subscriptions/shared_subscriptions.3.adm
@@ -0,0 +1,2 @@
+{ "param0": 123 }
+{ "param0": 350 }
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/shared_subscriptions/shared_subscriptions.4.adm b/asterix-bad/src/test/resources/runtimets/results/channel/shared_subscriptions/shared_subscriptions.4.adm
new file mode 100644
index 0000000..2bb764e
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/channel/shared_subscriptions/shared_subscriptions.4.adm
@@ -0,0 +1,4 @@
+{ "DataverseName": "channels", "BrokerName": "brokerA" }
+{ "DataverseName": "channels", "BrokerName": "brokerA" }
+{ "DataverseName": "channels", "BrokerName": "brokerA" }
+{ "DataverseName": "channels", "BrokerName": "brokerB" }
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/results/channel/shared_subscriptions/shared_subscriptions.6.adm b/asterix-bad/src/test/resources/runtimets/results/channel/shared_subscriptions/shared_subscriptions.6.adm
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/asterix-bad/src/test/resources/runtimets/results/channel/shared_subscriptions/shared_subscriptions.6.adm
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/asterix-bad/src/test/resources/runtimets/testsuite.xml b/asterix-bad/src/test/resources/runtimets/testsuite.xml
index 4640af1..7309bfb 100644
--- a/asterix-bad/src/test/resources/runtimets/testsuite.xml
+++ b/asterix-bad/src/test/resources/runtimets/testsuite.xml
@@ -154,7 +154,7 @@
     <test-case FilePath="channel">
       <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>
+        <expected-error>Cannot alter dataset two.nearbyTweetChannelChannelSubscriptions. two.nearbyTweetChannel(Channel) depends on it!</expected-error>
       </compilation-unit>
     </test-case>
     <test-case FilePath="channel">
@@ -164,6 +164,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="channel">
+      <compilation-unit name="shared_subscriptions">
+        <output-dir compare="Text">shared_subscriptions</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="channel">
       <compilation-unit name="room_occupants">
         <output-dir compare="Text">room_occupants</output-dir>
       </compilation-unit>
