Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-4628

CQL/JDBC: date vs. timestamp issues

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 1.2.0 beta 1
    • None
    • Low

    Description

      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.

      Attachments

        Activity

          People

            mkrumpholz Michael Krumpholz
            mkrumpholz Michael Krumpholz
            Michael Krumpholz
            Jonathan Ellis
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: