You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2011/04/06 23:48:05 UTC
[jira] [Commented] (THRIFT-1126) Extending struct_info for erlang
bindings
[ https://issues.apache.org/jira/browse/THRIFT-1126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13016561#comment-13016561 ]
Hudson commented on THRIFT-1126:
--------------------------------
Integrated in Thrift #113 (See [https://hudson.apache.org/hudson/job/Thrift/113/])
> 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
> Assignee: Anatoly Kanivetsky
> Fix For: 0.7
>
> 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 set(), 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