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. 


---

Reply via email to