You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (JIRA)" <ji...@apache.org> on 2015/10/18 18:36:05 UTC

[jira] [Updated] (THRIFT-3393) Introduce i8 to provide consistent set of Thrift IDL integer types

     [ https://issues.apache.org/jira/browse/THRIFT-3393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jens Geyer updated THRIFT-3393:
-------------------------------
    Description: 
In following up a [recent email discussion|https://mail-archives.apache.org/mod_mbox/thrift-dev/201412.mbox/%3cDUB110-DS46454DDD3A90974BE62D69B17D0@phx.gbl%3e] and the consistent stream of problems with the [signedness of the Thrift IDL  {{byte}} datatype|https://thrift.apache.org/docs/types], we should 

* add an {{i8}} data type to provide a consistent set
* keep the {{byte}} type for the sake of compatibility
* internally map all references to {{byte}} to {{i8}}

I'm hesitant though about printing a warning for {{byte}} at this stage. A lot of third-party-tools rely on Thrift IDL and I don't want to introduce any breaking changes. IMHO we should promote i8 instead of byte wherever possible, but not hammer that nail too much.

This patch is solely about the changes needed in the IDL and the compiler infrastructure, changing only what's necessary in the various target languages to let {{make check}} succeed. Any additional changes to be made in the language libs should be added as a sub-task as necessary. This procedure allows us to make the changes in a more granular way while still maintaining a shippable product.

  was:
In following up a recent email discussion and the consistent stream of problems with the signedness of the Thrift IDL  {{byte}} datatype, we should 

* add an {{i8}} data type to provide a consistent set
* keep the {{byte}} type for tghe sake of compatibility
* internally map all references to {{byte}} to {{i8}}

This patch is solely about the changes needed in the IDL and the compiler infrastructure, changing only what's necessary in the various target languages to let {{make check}} succeed. Any additional changes to be made in the language libs should be added as a sub-task as necessary. This procedure allows us to make the changes in a more granular way while still maintaining a shippable product.


> Introduce i8 to provide consistent set of Thrift IDL integer types
> ------------------------------------------------------------------
>
>                 Key: THRIFT-3393
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3393
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Compiler (General)
>            Reporter: Jens Geyer
>            Assignee: Jens Geyer
>              Labels: i8
>
> In following up a [recent email discussion|https://mail-archives.apache.org/mod_mbox/thrift-dev/201412.mbox/%3cDUB110-DS46454DDD3A90974BE62D69B17D0@phx.gbl%3e] and the consistent stream of problems with the [signedness of the Thrift IDL  {{byte}} datatype|https://thrift.apache.org/docs/types], we should 
> * add an {{i8}} data type to provide a consistent set
> * keep the {{byte}} type for the sake of compatibility
> * internally map all references to {{byte}} to {{i8}}
> I'm hesitant though about printing a warning for {{byte}} at this stage. A lot of third-party-tools rely on Thrift IDL and I don't want to introduce any breaking changes. IMHO we should promote i8 instead of byte wherever possible, but not hammer that nail too much.
> This patch is solely about the changes needed in the IDL and the compiler infrastructure, changing only what's necessary in the various target languages to let {{make check}} succeed. Any additional changes to be made in the language libs should be added as a sub-task as necessary. This procedure allows us to make the changes in a more granular way while still maintaining a shippable product.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)