thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Geyer (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (THRIFT-4363) User-extensible type mappings
Date Mon, 16 Oct 2017 21:20:00 GMT

    [ https://issues.apache.org/jira/browse/THRIFT-4363?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16206610#comment-16206610
] 

Jens Geyer edited comment on THRIFT-4363 at 10/16/17 9:19 PM:
--------------------------------------------------------------

We had that discussion a whikle ago on the mailing lists. Main problem here is that there
are so many (actually used) date/time formats with different offsets and precisions across
OSes and languages. It's hard to find a common denominator, but (personal opinion) it could
be worth a try to find one other than strings like in [this W3C note|http://www.w3.org/TR/NOTE-datetime]
or [ISO 8601|https://en.wikipedia.org/wiki/ISO_8601]. 

FWIW, we usually use double for our datetime values here, but I also used C# ticks occasionally.


was (Author: jensg):
We had that discussion a whikle ago on the mailing lists. Main problem here is that there
are so many (actually used) date/time formats with different offsets and precisions across
OSes and languages. It's hard to find a common denominator, but (personal opinion) it could
be worth a try to find one other than strings like in [this W3C note|http://www.w3.org/TR/NOTE-datetime]
or [ISO 8601|https://en.wikipedia.org/wiki/ISO_8601]. 

FWIW, we usually use double for out datetime values here, but I also used C# ticks occasionally.

> User-extensible type mappings
> -----------------------------
>
>                 Key: THRIFT-4363
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4363
>             Project: Thrift
>          Issue Type: Wish
>          Components: D - Compiler, D - Library
>            Reporter: Neia Neutuladh
>            Priority: Minor
>
> One of the most common types I deal with is a datetime. Another common type is a time
delta. It would be great if these were built in, but that's unlikely to happen soon. Another
option is to put this into the library as a relatively generic thing: use an annotation to
tell the compiler what D type this thing is, and then have the library figure out how to convert
the format given to the requested type, in a way where the user can override things.
> For instance, I have a Timestamp type. It's got an int64 for the epoch second and an
int64 for the nanosecond. I want to turn that into a std.datetime.DateTime. Optionally, the
library can possibly look for a way to build a DateTime from those components automatically.
It won't find one, so it will produce a fallback that simply produces a reasonable exception.
I can provide a manual converter on application startup.
> This lets me have a generated object model that looks more like what I would have written
by hand.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message