[ https://issues.apache.org/jira/browse/CASSANDRA-17117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sam Tunnicliffe updated CASSANDRA-17117: ---------------------------------------- Status: Review In Progress (was: Needs Committer) > 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 > Assignee: Doug Rohrer > Priority: Normal > Attachments: CASSANDRA-17117-4.0.patch, CASSANDRA-17117-trunk.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: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org