[ https://issues.apache.org/jira/browse/CASSANDRA-9229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14519094#comment-14519094 ]
Benjamin Lerer commented on CASSANDRA-9229: ------------------------------------------- While going back to my patch, I realized that I missunderstood the way the {{{TimeType}} was working and that by consequence my patch was wrong. The {{TimeType}} represents "the number of nanoseconds since midnight". The problem being that the notion of midnight is relative to a Timezone. For the {{TimestampType}} or {{DateType}} the value is always stored internally in UTC but the way it is output is not clearly defined. By consequence, when converting from a {{UUIDTimestampType}} to a {{TimeType}} we have 2 choices: # use midnight in the server timezone, if we assume that the uuitimestamp was generated using {{now()}} # do not provide that type of function The same question occurs if we want to convert a {{TimestampType}} into a {{TimeType}}. > Add functions to convert timeuuid to date or time > ------------------------------------------------- > > Key: CASSANDRA-9229 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9229 > Project: Cassandra > Issue Type: New Feature > Reporter: Michaël Figuière > Assignee: Benjamin Lerer > Labels: cql, doc-impacting > Fix For: 3.0 > > Attachments: CASSANDRA-9229.txt > > > As CASSANDRA-7523 brings the {{date}} and {{time}} native types to Cassandra, > it would be useful to add builtin function to convert {{timeuuid}} to these > two new types, just like {{dateOf()}} is doing for timestamps. > {{timeOf()}} would extract the time component from a {{timeuuid}}. Example > use case could be at insert time with for instance {{timeOf(now())}}, as well > as at read time to compare the time component of a {{timeuuid}} column in a > {{WHERE}} clause. > The use cases would be similar for {{date}} but the solution is slightly less > obvious, as in a perfect world we would want {{dateOf()}} to convert to > {{date}} and {{timestampOf()}} for {{timestamp}}, unfortunately {{dateOf()}} > already exist and convert to a {{timestamp}}, not a {{date}}. Making this > change would break many existing CQL queries which is not acceptable. > Therefore we could use a different name formatting logic such as {{toDate}} > or {{dateFrom}}. We could then also consider using this new name convention > for the 3 dates related types and just have {{dateOf}} becoming a deprecated > alias. -- This message was sent by Atlassian JIRA (v6.3.4#6332)