You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by pv...@apache.org on 2018/07/31 08:14:37 UTC
nifi git commit: NIFI-5471: Push table aliasing to DatabaseAdapter
impls
Repository: nifi
Updated Branches:
refs/heads/master e97ae921f -> 9742dd2fa
NIFI-5471: Push table aliasing to DatabaseAdapter impls
Signed-off-by: Pierre Villard <pi...@gmail.com>
This closes #2926.
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/9742dd2f
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/9742dd2f
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/9742dd2f
Branch: refs/heads/master
Commit: 9742dd2fac42d4afb8b1e009535ed50c02373493
Parents: e97ae92
Author: Matthew Burgess <ma...@apache.org>
Authored: Mon Jul 30 23:11:40 2018 -0400
Committer: Pierre Villard <pi...@gmail.com>
Committed: Tue Jul 31 10:14:27 2018 +0200
----------------------------------------------------------------------
.../processors/standard/AbstractDatabaseFetchProcessor.java | 6 +++---
.../apache/nifi/processors/standard/QueryDatabaseTable.java | 2 +-
.../apache/nifi/processors/standard/db/DatabaseAdapter.java | 4 ++++
.../processors/standard/db/impl/Oracle12DatabaseAdapter.java | 5 +++++
.../processors/standard/db/impl/OracleDatabaseAdapter.java | 5 +++++
5 files changed, 18 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi/blob/9742dd2f/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractDatabaseFetchProcessor.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractDatabaseFetchProcessor.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractDatabaseFetchProcessor.java
index e13f9de..3da8a73 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractDatabaseFetchProcessor.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractDatabaseFetchProcessor.java
@@ -260,7 +260,7 @@ public abstract class AbstractDatabaseFetchProcessor extends AbstractSessionFact
if (StringUtils.isEmpty(sqlQuery)) {
query = dbAdapter.getSelectStatement(tableName, maxValueColumnNames, "1 = 0", null, null, null);
} else {
- StringBuilder sbQuery = getWrappedQuery(sqlQuery, tableName);
+ StringBuilder sbQuery = getWrappedQuery(dbAdapter, sqlQuery, tableName);
sbQuery.append(" WHERE 1=0");
query = sbQuery.toString();
@@ -312,8 +312,8 @@ public abstract class AbstractDatabaseFetchProcessor extends AbstractSessionFact
}
}
- protected static StringBuilder getWrappedQuery(String sqlQuery, String tableName){
- return new StringBuilder("SELECT * FROM (" + sqlQuery + ") AS " + tableName);
+ protected static StringBuilder getWrappedQuery(DatabaseAdapter dbAdaper, String sqlQuery, String tableName) {
+ return new StringBuilder("SELECT * FROM (" + sqlQuery + ") " + dbAdaper.getTableAliasClause(tableName));
}
protected static String getMaxValueFromRow(ResultSet resultSet,
http://git-wip-us.apache.org/repos/asf/nifi/blob/9742dd2f/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/QueryDatabaseTable.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/QueryDatabaseTable.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/QueryDatabaseTable.java
index f0efbb0..1923e2c 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/QueryDatabaseTable.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/QueryDatabaseTable.java
@@ -461,7 +461,7 @@ public class QueryDatabaseTable extends AbstractDatabaseFetchProcessor {
if (StringUtils.isEmpty(sqlQuery)) {
query = new StringBuilder(dbAdapter.getSelectStatement(tableName, columnNames, null, null, null, null));
} else {
- query = getWrappedQuery(sqlQuery, tableName);
+ query = getWrappedQuery(dbAdapter, sqlQuery, tableName);
}
List<String> whereClauses = new ArrayList<>();
http://git-wip-us.apache.org/repos/asf/nifi/blob/9742dd2f/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/DatabaseAdapter.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/DatabaseAdapter.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/DatabaseAdapter.java
index 211d4c8..e1251c4 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/DatabaseAdapter.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/DatabaseAdapter.java
@@ -67,4 +67,8 @@ public interface DatabaseAdapter {
default String unwrapIdentifier(String identifier) {
return identifier == null ? null : identifier.replaceAll("\"", "");
}
+
+ default String getTableAliasClause(String tableName) {
+ return "AS " + tableName;
+ }
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/9742dd2f/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/impl/Oracle12DatabaseAdapter.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/impl/Oracle12DatabaseAdapter.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/impl/Oracle12DatabaseAdapter.java
index c128ed1..18f3ceb 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/impl/Oracle12DatabaseAdapter.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/impl/Oracle12DatabaseAdapter.java
@@ -88,4 +88,9 @@ public class Oracle12DatabaseAdapter implements DatabaseAdapter {
return query.toString();
}
+
+ @Override
+ public String getTableAliasClause(String tableName) {
+ return tableName;
+ }
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/9742dd2f/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/impl/OracleDatabaseAdapter.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/impl/OracleDatabaseAdapter.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/impl/OracleDatabaseAdapter.java
index 5a1f099..bfaac8b 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/impl/OracleDatabaseAdapter.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/db/impl/OracleDatabaseAdapter.java
@@ -102,4 +102,9 @@ public class OracleDatabaseAdapter implements DatabaseAdapter {
return query.toString();
}
+
+ @Override
+ public String getTableAliasClause(String tableName) {
+ return tableName;
+ }
}