[
https://issues.apache.org/jira/browse/NIFI-5049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16433969#comment-16433969
]
ASF GitHub Bot commented on NIFI-5049:
--------------------------------------
Github user mattyb149 commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2625#discussion_r180767978
--- Diff:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractDatabaseFetchProcessor.java
---
@@ -436,13 +437,26 @@ protected static String getLiteralByType(int type,
String value, String database
case NVARCHAR:
case VARCHAR:
case ROWID:
- case DATE:
- case TIME:
return "'" + value + "'";
+ case TIME:
+ if (PhoenixDatabaseAdapter.NAME.equals(databaseType)) {
+ return "time '" + value + "'";
+ }
+ case DATE:
case TIMESTAMP:
- if (!StringUtils.isEmpty(databaseType) &&
databaseType.contains("Oracle")) {
- // For backwards compatibility, the type might be
TIMESTAMP but the state value is in DATE format. This should be a one-time
occurrence as the next maximum value
- // should be stored as a full timestamp. Even so,
check to see if the value is missing time-of-day information, and use the
"date" coercion rather than the
+ // TODO delegate to database adapter the conversion
instead of using if in this
--- End diff --
This might be a good time to do the TODO :) We can add a default method on
the interface, getTimestampLiteral() or something, that just returns the quoted
value, and we can override it in the Oracle and Phoenix adapters.
> Fix handling of Phonenix datetime columns in QueryDatabaseTable and
> GenerateTableFetch
> --------------------------------------------------------------------------------------
>
> Key: NIFI-5049
> URL: https://issues.apache.org/jira/browse/NIFI-5049
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 1.5.0
> Reporter: Gardella Juan Pablo
> Assignee: Matt Burgess
> Priority: Major
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> QueryDatabaseAdapter does not work against Phoenix DB if it should convert
> TIMESTAMP. The error is described below:
> [https://stackoverflow.com/questions/45989678/convert-varchar-to-timestamp-in-hbase]
> Basically, it's required to use TO_TIMESTAMP(MAX_COLUMN) to make it work.
> See
> [https://lists.apache.org/thread.html/%3cca+kifscje8ay+uxt_d_vst4qgzf4jxwovboynjgztt4dsbs...@mail.gmail.com%3E]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)