You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2012/09/07 12:30:07 UTC

[jira] [Commented] (CASSANDRA-4628) CQL/JDBC: date vs. timestamp issues

    [ https://issues.apache.org/jira/browse/CASSANDRA-4628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13450508#comment-13450508 ] 

Sylvain Lebresne commented on CASSANDRA-4628:
---------------------------------------------

I'm a fairly strong believer that adding the Jdbc* classes was a mistake in the first place. See CASSANDRA-4495 for a bit more argumentation.

So I must admit that I'm not sure I understand what it is you suggest exactly concerning Cassandra itself in this ticket, so I don't want to close this right way, but I have the feeling that whatever needs to be done probably concerns the jdbc driver, not Cassandra.

As a side note, I wouldn't disagree that Cassandra/CQL handling of dates is a tad limited and it might probably be worth beefing it up at some point, but that's largely a different issue.

                
> CQL/JDBC: date vs. timestamp issues
> -----------------------------------
>
>                 Key: CASSANDRA-4628
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4628
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.1.4
>            Reporter: Michael Krumpholz
>            Priority: Critical
>              Labels: cql, jdbc
>
> Cassandra's datatypes only have one Date/Time type named timestamp containing both date and time. Calling the validator org.apache.cassandra.db.marshal.DateType might be OK in general but can be confusing in the jdbc context where there is a distinction between date, time and timestamp. In terms of jdbc there should be more datatypes for dates and times or the jdbc driver should take one of the following options:
> - stick to timestamp
> - check if the date has a time part and distinguish by the data between date and timestamp automatically
> - use distinct datatypes according to the jdbc spec, the types would need to be in cassandra then too
> Now back to my actual problem:
> org.apache.cassandra.cql.jdbc.JdbcDate returns Types.DATE in getType(). Even if having inserted a complete date with time (making it a timestamp) the ResultSetMetaData.getColumnType() implementation still returns Types.DATE (source of this is in JdbcDate). If some other java code (where i don't have access to) uses the metadata to get the type and then getDate() to get the value the time is cut off the value and only the date is returned.
> But the ResultSet.getObject() implementation returns a complete java.util.Date including the time.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira