[erlang-questions] RecordA serialization ... time ... deserialization to RecordB?

Ulf Wiger ulf.wiger@REDACTED
Fri Nov 11 11:15:51 CET 2011


This is not exactly what was asked for, but…

In JOBS, I have created a jobs_info module that includes jobs.hrl and uses exprecs's -export_records() feature.

https://github.com/esl/jobs/blob/master/src/jobs_info.erl

I use this module to present metadata about the various objects in JOBS. The only thing needed in order to 'serialize' a new type of record is to define it in jobs.hrl and add it to the -export_records() directive.

BR,
Ulf W

-module(jobs_info).

-export([pp/1]).

-include("jobs.hrl").
-include_lib("parse_trans/include/exprecs.hrl").

-export_records([rr, cr, grp, rate, queue, sampler]).


pp(L) when is_list(L) ->
    [pp(X) || X <- L];
pp(X) ->
    case '#is_record-'(X) of
	true ->
	    RecName = element(1,X),
	    {RecName, lists:zip(
			'#info-'(RecName,fields),
			pp(tl(tuple_to_list(X))))};
	false ->
	    if is_tuple(X) ->
		    list_to_tuple(pp(tuple_to_list(X)));
	       true ->
		    X
	    end
    end.
	

On 11 Nov 2011, at 10:57, Joel Reymont wrote:

> You need to serialize the record fields with their tags. Then you can use something like exprecs to set individual fields in the new record definition. 
> 
> This assumes you are just adding fields and names of old fields stay the same. 
> 
> ---
> Sent from my iPhone
> 
> On Nov 11, 2011, at 10:44 AM, Maxim Treskin <zerthurd@REDACTED> wrote:
> 
>> Max, what are you need indeed? Your words sounds very strange.
>> 
>> On 11 November 2011 15:31, Max Bourinov <bourinov@REDACTED> wrote:
>> Hello Erlangers,
>> 
>> What is a best way to serialize record, modify record's code and then deserialize it back?
>> 
>> I seen https://github.com/esl/parse_trans. Is this what I need or there are another options?
>> 
>> Maybe I better use another data structure?
>> 
>> p.s. Of course performance is always important.
>> 
>> Best regards,
>> Max
>> 
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>> 
>> 
>> 
>> 
>> -- 
>> Maxim Treskin
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

Ulf Wiger, CTO, Erlang Solutions, Ltd.
http://erlang-solutions.com



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20111111/9b0fe768/attachment.htm>


More information about the erlang-questions mailing list