[Dbix-class] serializing DBIx::Class::ResultSourceHandle
(Followup)
Ash Berlin
ash_cpan at firemirror.com
Sat Feb 16 11:18:33 GMT 2008
On 16 Feb 2008, at 02:37, Jose Fonseca wrote:
> Sure. I asked because I'm working under Apache so freezing that DBH
> works just fine. Apache::DBI will give you a brand new DBH everytime
> your DBH is obsolete.
No it wont. It will try to and will get it wrong. DBIx::Class works
around Apache::DBI being stupid and does a better job of it.
>
>
> Thanks for the pointer, I had not seen your solution in Schema.pm,
> appreciate that. I either have to plug that into Apache::SessionX
> instead of Storable or continue to $data->result_source($schema-
> >source('User')); like Matt Trout suggested.
>
> What I know is that I really need that object in Apache's session
> memory and not let it be recreated each time from disk(or dbh).
Why might I ask? Not doubting you - it just helps to have someone else
check your logic.
>
>
> Regards,
> Ze
>
>
> On Feb 15, 2008 6:20 PM, Ash Berlin <ash_cpan at firemirror.com> wrote:
> Cos it contains a code-ref (the DBH) which can't be freezed.
>
> But since then I did come up with *a* way of doing it:
>
> http://search.cpan.org/~jrobinson/DBIx-Class-0.08009/lib/DBIx/Class/Schema.pm#thaw
> says
>
>> Provided as the recommened way of thawing schema objects. You can
>> call Storable::thaw directly if you wish, but the thawed objects
>> will not have a reference to any schema, so are rather useless
>
>
>
> There are also freeze and dclone methods for symmetry. This was a
> new addition since 0.08009 2008-01-20 13:30
>
> -ash
>
>
> On 15 Feb 2008, at 19:57, Jose Fonseca wrote:
>
>> Hi, I just had the same problem that Bernhard Graf had in Sept.
>> 2007 and caught up with this discussion:
>>
>> Ash Berlin Wrote:
>> "I wrote the ResultSourceHandle stuff, and I never could come up
>> with a good way of specifying what schema to use in thawing the
>> data."
>>
>> Quick question: why is the "schema" column of _source_handle
>> undef'd when freeze()ing?
>>
>>
>> On Thu, Sep 20, 2007 at 10:18:10AM +0200, Bernhard Graf wrote:
>> > On Thursday 20 September 2007 09:42, Ash Berlin wrote:
>>
>> >
>> > > I wrote the ResultSourceHandle stuff, and I never could come up
>> with
>>
>> > > a good way of specifying what schema to use in thawing the
>> data. So
>> > > currently you'd have to do
>> > >
>> > > $data->_source_handle->schema($schema);
>>
>>
>> >
>> > Not pretty, but this works at least.
>>
>> $data->result_source($schema->source('User'));
>>
>> just like it's always been since before ResultSourceHandle existed.
>>
>>
>>
>> Never call an _ prefix method from outside the object or a subclass
>> thereof.
>>
>> --
>> Matt S Trout Need help with your Catalyst or
>> DBIx::Class project?
>> Technical Director http://www.shadowcat.co.uk/catalyst/
>>
>>
>> Shadowcat Systems Ltd. Want a managed development or deployment
>> platform?
>> http://chainsawblues.vox.com/ http://www.shadowcat.co.uk/servers/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20080216/18b9ebf8/attachment-0001.htm
More information about the DBIx-Class
mailing list