[
https://issues.apache.org/jira/browse/CASSANDRA-17117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Doug Rohrer updated CASSANDRA-17117:
------------------------------------
Attachment: CASSANDRA-17117-4.0.patch
> CQLSSTableWriter backwards compatibility fix for Date fields
> ------------------------------------------------------------
>
> Key: CASSANDRA-17117
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17117
> Project: Cassandra
> Issue Type: Bug
> Components: Local/SSTable
> Reporter: Doug Rohrer
> Priority: Normal
> Attachments: CASSANDRA-17117-4.0.patch
>
>
> {{cassandra-all}} library consumers of the CQLSSTableWriter class cannot
> easily create an appropriate instance of the {{LocalDate}} class in order to
> write SSTables including dates, and the current implementation no longer
> accepts a {{int}} value as a valid input as previous versions of the class
> would - we used to use
> {{((AbstractType)columnSpecification.type).decompose(value);}} in order to
> serialize the value, but now we use the type codec's .serialize method.
> Unfortunately, this doesn't work when the consumer can't easily create the
> type needed (serialize, in the case of dates, takes a {{LocalDate}} instance
> which is not easy to construct outside of Cassandra internal code).
> This can be worked around by catching the resulting {{ClassCastException}}
> thrown from the {{serialize}} call and falling back to the older
> {{decompose}} implementation, which would maintain backwards-compatibility
> with other users of the CQLSSTableWriter in cases where they are passing
> integers for date fields, which used to work.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]