[
https://issues.apache.org/jira/browse/APEXMALHAR-1966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15228250#comment-15228250
]
ASF GitHub Bot commented on APEXMALHAR-1966:
--------------------------------------------
Github user bhupeshchawda commented on a diff in the pull request:
https://github.com/apache/incubator-apex-malhar/pull/227#discussion_r58705296
--- Diff:
contrib/src/main/java/com/datatorrent/contrib/cassandra/CassandraPOJOOutputOperator.java
---
@@ -172,25 +197,32 @@ public void deactivate()
@Override
protected PreparedStatement getUpdateCommand()
{
+ PreparedStatement statement;
+ if (query == null) {
+ statement = prepareStatementFromFieldsAndTableName();
+ } else {
+ statement = store.getSession().prepare(query);
+ }
+ LOG.debug("Statement is: " + statement.getQueryString());
+ return statement;
+ }
+
+ private PreparedStatement prepareStatementFromFieldsAndTableName()
+ {
StringBuilder queryfields = new StringBuilder();
StringBuilder values = new StringBuilder();
- for (FieldInfo fieldInfo: fieldInfos) {
+ for (FieldInfo fieldInfo : fieldInfos) {
if (queryfields.length() == 0) {
queryfields.append(fieldInfo.getColumnName());
values.append("?");
- }
- else {
+ } else {
queryfields.append(",").append(fieldInfo.getColumnName());
values.append(",").append("?");
}
}
- String statement
- = "INSERT INTO " + store.keyspace + "."
- + tablename
- + " (" + queryfields.toString() + ") "
- + "VALUES (" + values.toString() + ");";
- LOG.debug("statement is {}", statement);
+ String statement = "INSERT INTO " + store.keyspace + "." + tablename +
" (" + queryfields.toString() + ") " + "VALUES (" + values.toString() + ");";
--- End diff --
have a check for null tablename, since ```@NotNull``` is now removed
> Cassandra output operator improvements
> --------------------------------------
>
> Key: APEXMALHAR-1966
> URL: https://issues.apache.org/jira/browse/APEXMALHAR-1966
> Project: Apache Apex Malhar
> Issue Type: Improvement
> Reporter: Priyanka Gugale
> Assignee: Priyanka Gugale
>
> Update existing Cassandra output operator to:
> 1. Accept use defined parameterized queries, the queries could be for update,
> insert or delete.
> 2. Add error port to emit tuples which couldn't be written to database.
> 3. Add metrics
> 4. Provide a way to restrict batch size
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)