Github user gardellajuanpablo commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2625#discussion_r180786540
--- 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 --
Yes, but it will break the method signature (it is not private). I prefer
to keep it compatible in this bug fixing. Maybe it's better to file a
IMPROVEMENT to improve how the DB specific behavior is handling.
---