On Thu, Aug 08, 2013 at 09:34:18AM +0200, Gert Burger <gertbur...@gmail.com> 
wrote:
> Oleg Broytman wrote, On 07/08/2013 19:51:
> > On Wed, Aug 07, 2013 at 11:52:15AM +0200, Gert Burger 
> > <gertbur...@gmail.com> wrote:
> >> Attached is a test case demonstrating the issue. Tested with version
> >> 1.5.0b1 and some previous versions.
> > 
> >    Thanks for the report!
> > 
> >> The EnumValidator checks if the value given is in the list of valid
> >> enumValues but this allows unicode values to match normal string values.
> >>
> >> That allows unicode objects into the SQL generation code which forces
> >> python to create unicode strings instead of normal strings. This means
> >> already encoded values will be decoded again and probably with the wrong
> >> encoding.
> >>
> >> My guess is that the EnumValidator should return only str objects that
> >> are properly encoded.
> > 
> >    At the first glance I'm not sure what should be the correct behaviour
> > for EnumValidator. I'll think about it.
> 
> I'm also unsure hoe EnumValidator should react but I'm pretty sure that
> one needs to either cater for unicode strings in final SQL generation or
> prevent them from reaching that stage and I assume the Validators are
> responsible for encoding.

   Now I think you are right. EnumValidator should convert unicode
values to strings because that how SQLObject currently works -- it uses
str internally and is at most unicode-aware.
   So my plan is to move method getDbEncoding from SOUnicodeCol to SOCol
and use it everywhere validators need the encoding. The change is rather
big so I will only apply it (if the approach will work at all) to
branches 1.5 and the trunk.

Oleg.
-- 
     Oleg Broytman            http://phdru.name/            p...@phdru.name
           Programmers don't die, they just GOSUB without RETURN.

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to