On 12/10/2010 15:39, Oleg Broytman wrote:
> On Mon, Oct 11, 2010 at 06:17:02PM +0200, Georges Schutz wrote:
>> import sqlobject as sobj
>>
>> class Person(sobj.SQLObject):
>> name = sobj.StringCol(default=None)
>>
>> conn = sobj.connectionForURI('sqlite:/:memory:')
>>
>> Person.createTable(ifNotExists=True, connection=conn)
>> Person(name="P. Dummy", connection=conn)
>>
>> p = Person.selectBy(name = "P. Dummy", connection=conn)
> ...
>> File
>> "C:\Python26\lib\site-packages\sqlobject-0.14.0-py2.6.egg\sqlobject\dbconnection.py",
>> line 850, in getConnection
>> "No connection has been defined for this thread "
>> AttributeError: No connection has been defined for this thread or process
>
> Congratulations, you managed to find quite a subtle problem! Sometimes
> validators need additional information from connection - most often
> validators need encoding (charset) to convert between str and unicode. In
> your example there is no per-class connection, and validators don't get a
> connection at all. In many cases it could be fixed - the attached patch is
> for testing and discussing.
> The problem is rather old but it manifested itself now because in
> version 0.13 I refactored validators' code.
>
I applied the attached patch to my 0.14 version which worked with some
shift operations. I suppose you did your patch on the head of the trunk.
After patching I tested it on the small example code (OK) and on the
larger project (at leased on parts of it) and every thing worked as
usual, no error any more.
--> So for me the patch is OK.
>> conn = sobj.connectionForURI('sqlite:/:memory:')
>> ^^^^^^^^
>> Person.createTable(ifNotExists=True, connection=conn)
> ^^^^^^^^^^^^^^^^
> I seems you prepared memory to be rather persistent! (Just kidding.)
Sorry, for that non necessary part of code. I, simply used code from a
part of my project where a sqlite file is used and forgot to remove
this part.
>
> Oleg.
>
>
Thanks for your rapid reaction. Will this patch automatically be part of
the next releases or is it necessary to fill a bug report?
Georges Schutz
>
> ------------------------------------------------------------------------------
> Beautiful is writing same markup. Internet Explorer 9 supports
> standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2& L3.
> Spend less time writing and rewriting code and more time creating great
> experiences on the web. Be a part of the beta today.
> http://p.sf.net/sfu/beautyoftheweb
>
>
>
> _______________________________________________
> sqlobject-discuss mailing list
> sql...@li...
> https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss
|