[Dbix-class] Per column filter

Pedro Melo melo at simplicidade.org
Fri Jun 19 12:37:00 GMT 2009


Hi,

On Jun 18, 2009, at 1:27 PM, Moritz Onken wrote:
> Am 18.06.2009 um 14:18 schrieb Pedro Melo:
>> I'm wrapping DBIx::Class over a legacy database that uses the  
>> iso-8859-1 charset internally. My app expects all perl strings as  
>> utf8.
>>
>> I'm trying to write an extension to DBIC that decodes the value  
>> from the DB into utf8, and does the reverse when I insert/update  
>> data. At first I tried to use the InflateColumn as the base of  
>> this, but it expects a DB -> Object / Object -> DB flow, and cannot  
>> support the DB -> scalar / scalar -> DB (at least not on the  
>> deflate part).
>>
>> I was wondering if anybody has any ideas/suggestions on how to do  
>> this inside DBIC. I would prefer not to manually encode/decode data  
>> I get from the DB.
>>
>> Basically a setup like the current InflateColumn but that allows  
>> scalars to be processed on the deflate step would work, like a  
>> filter.
>
> Have a look at store_column which you can override in a result class.
> From the docs:
>
> "This is the lowest level at which data is set on a row object,  
> extend this method to catch all data setting methods."

Thanks, I'll try this.

Best regards,
-- 
Pedro Melo
Blog: http://www.simplicidade.org/notes/
XMPP ID: melo at simplicidade.org
Use XMPP!





More information about the DBIx-Class mailing list