cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From " Brian Hess (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-11873) Add duration type
Date Thu, 16 Jun 2016 10:25:05 GMT


 Brian Hess commented on CASSANDRA-11873:

Being subtlety different on syntax is in some cases worse than being very different. So, if
we are thinking we will go with ISO 8601 format (an option that could make sense - it is a
widely recognized format and present in more than a few systems (not just databases, I mean))
then we should make sure we include the "P" and the "T". 

While Postgres does support ISO 8601 formats (of course I bothered to read it), in that format
the highest resolution is seconds. There is a good reason to want milliseconds and microseconds
(and maybe nanoseconds). The standard Postgres format support all of these (with the exception
of nanoseconds, though that addition to their format would be straightforward to understand).
If you want to shorten the Postgres format to save typing, what abbreviation do you propose
for "minute" and "month"?

I will certainly agree that the Oracle syntax is not user-friendly. I think arguing it is
desirable is a stretch. 

I have a reservation on the Influx syntax here, though. Influx does not support month or year.
They only have up to week (
So, it is not possible to say "now() - 2 months" or "now() - 1 year". To do 1 year, what would
you do? "now() - 365d"? What about leap year? What about going back one month?
In fact, this patch only had a subset of Influx's supported format. I don't see a week unit.
Moreover, Influx doesn't use "us", it uses just "u". So, our proposed syntax isn't even consistent
(in subtle ways) with Influx's format. Let alone that Influx's format is incomplete (specifically,
no support for months and years). 

Of the formats I've seen here, Postgres native format is the most user friendly, and accomplishes
the goals of durations for us. I'm (non-PMC, non-binding) -1 on the currently proposed format
from a usability/product/developer POV. 

> Add duration type
> -----------------
>                 Key: CASSANDRA-11873
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL
>            Reporter: Benjamin Lerer
>            Assignee: Benjamin Lerer
>              Labels: client-impacting, doc-impacting
>             Fix For: 3.x
> For CASSANDRA-11871 or to allow queries with {{WHERE}} clause like:
> {{... WHERE reading_time < now() - 2h}}, we need to support some duration type.
> In my opinion, it should be represented internally as a number of microseconds.

This message was sent by Atlassian JIRA

View raw message