private static JobSpecification getConnectionJob(MetadataProvider metadataProvider, FeedConnection feedConn,
IStatementExecutor statementExecutor, IHyracksClientConnection hcc, Boolean insertFeed)
throws AlgebricksException, RemoteException, ACIDException {
metadataProvider.getConfig().put(FeedActivityDetails.FEED_POLICY_NAME, feedConn.getPolicyName());
Query feedConnQuery = makeConnectionQuery(feedConn);
CompiledStatements.ICompiledDmlStatement clfrqs;
if (insertFeed) {
InsertStatement stmtUpsert = new InsertStatement(new Identifier(feedConn.getDataverseName()),
new Identifier(feedConn.getDatasetName()), feedConnQuery, -1, null, null);
clfrqs = new CompiledStatements.CompiledInsertStatement(feedConn.getDataverseName(),
feedConn.getDatasetName(), feedConnQuery, stmtUpsert.getVarCounter(), null, null);
} else {
UpsertStatement stmtUpsert = new UpsertStatement(new Identifier(feedConn.getDataverseName()),
new Identifier(feedConn.getDatasetName()), feedConnQuery, -1, null, null);
clfrqs = new CompiledStatements.CompiledUpsertStatement(feedConn.getDataverseName(),
feedConn.getDatasetName(), feedConnQuery, stmtUpsert.getVarCounter(), null, null);
}
return statementExecutor.rewriteCompileQuery(hcc, metadataProvider, feedConnQuery, clfrqs, null, null);
}