[
https://issues.apache.org/jira/browse/NIFI-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16195218#comment-16195218
]
ASF GitHub Bot commented on NIFI-1706:
--------------------------------------
Github user mattyb149 commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2162#discussion_r143290546
--- Diff:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/QueryDatabaseTable.java
---
@@ -175,6 +181,32 @@ public QueryDatabaseTable() {
return propDescriptors;
}
+ @Override
+ protected Collection<ValidationResult>
customValidate(ValidationContext validationContext) {
+ final List<ValidationResult> results = new
ArrayList<>(super.customValidate(validationContext));
+
+ final String tableName =
validationContext.getProperty(TABLE_NAME).getValue();
+ final String sqlQuery =
validationContext.getProperty(SQL_QUERY).getValue();
+
+ if(!StringUtils.isEmpty(sqlQuery) &&
!StringUtils.isEmpty(tableName)){
+ results.add(new ValidationResult.Builder()
+ .valid(false)
+ .subject("SQL Query")
+ .explanation("SQL Query and Table Name can't both
be specified at the same time.")
+ .build());
+ }
+
+ if(!StringUtils.isEmpty(sqlQuery) && isDynamicMaxValues){
--- End diff --
Is this a hard requirement? Expression Language support (since incoming
connections are not allowed for QueryDatabaseTable) is meant to support
Variable Registry and environment variables, which could be used in a custom
query if it also included such an EL statement?
> Extend QueryDatabaseTable to support arbitrary queries
> ------------------------------------------------------
>
> Key: NIFI-1706
> URL: https://issues.apache.org/jira/browse/NIFI-1706
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Core Framework
> Affects Versions: 1.4.0
> Reporter: Paul Bormans
> Assignee: Peter Wicks
> Labels: features
>
> The QueryDatabaseTable is able to observe a configured database table for new
> rows and yield these into the flowfile. The model of an rdbms however is
> often (if not always) normalized so you would need to join various tables in
> order to "flatten" the data into useful events for a processing pipeline as
> can be build with nifi or various tools within the hadoop ecosystem.
> The request is to extend the processor to specify an arbitrary sql query
> instead of specifying the table name + columns.
> In addition (this may be another issue?) it is desired to limit the number of
> rows returned per run. Not just because of bandwidth issue's from the nifi
> pipeline onwards but mainly because huge databases may not be able to return
> so many records within a reasonable time.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)