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.
---