Github user mattyb149 commented on a diff in the pull request:
    --- Diff: 
    @@ -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.


Reply via email to