You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Anatoly Kanivetsky (JIRA)" <ji...@apache.org> on 2011/03/31 17:36:06 UTC
[jira] [Updated] (THRIFT-1126) Extending struct_info for erlang
bindings
[ https://issues.apache.org/jira/browse/THRIFT-1126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anatoly Kanivetsky updated THRIFT-1126:
---------------------------------------
Attachment: thrift-1086852.diff
> Extending struct_info for erlang bindings
> -----------------------------------------
>
> Key: THRIFT-1126
> URL: https://issues.apache.org/jira/browse/THRIFT-1126
> Project: Thrift
> Issue Type: Improvement
> Components: Erlang - Compiler
> Reporter: Anatoly Kanivetsky
> Attachments: thrift-1086852.diff
>
>
> In addition to recently fixed THRIFT-27, I've made some extra changes, if no one objects.
> In this patch i've added more type specifiers to generated records.
> Now it covers all possible types (I've forgot about list(), map() and #another_record{}).
> It now initializes all record fields without default value with 'undefined'.
> This is a bit redundant, but I like it. (maybe you're not? let me know if you have some objections!).
> Also in this patch adds generation of additional structure info, that might be useful from runtime.
> It contains:
> * FieldID,
> * FieldReq,
> * FieldType
> * Identifier
> * ConstValue
> ConstValue is constructed everytime when struct_info_ext(...) is called.
> This isn't good, but perhaps, it is ok if erlang optimizes such things. Does it?
> I planned to use struct_info_ext(...) in further modifications of erlang thrift library, to implement runtime validation of presence of required fields during reading/writing, and to avoid encoding of optional fields with default values. But it is pretty usable of itself.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira