Oleg and everyone else...

I'm not accusing anyone of anything.  :)

I totally appreciate all the hard work you've done.

The documentation below is just a link I provided.  I am not the author, nor
am I maintainer of the documentation.  So I can't correct it.

Thank you for the explanation!



On Mon, Oct 20, 2008 at 1:47 AM, Oleg Broytmann <[EMAIL PROTECTED]> wrote:

> On Mon, Oct 20, 2008 at 12:54:22AM -0700, Sam's Lists wrote:
> > A few weeks ago I came across a problem catching Integrity Error.
> > Unfortunately it took me a while to find the workaround.
> >
> > http://docs.turbogears.org/1.0/SqlObjectGotchas#id2
>
>    The accusation "SqlObject does not catch and re-throw the exceptions of
> the underlying DB-API module." is simply not true. It was changed long ago.
>
> > Can we just export IntegrityError properly?
>
>    SQLObject catches MySQdb.IntegrityError and rethrows it as
> dberrors.IntegrityError in mysqconnection.py. If it is not enough - please
> elaborate. If it's enough - please delete or update the first accusation on
> that page.
>
> PS. Please also update the second accusation. It is true that SQLObject
> somewhat messes a few different namespaces but it has mechanisms to help
> the user in this area. First, for most attributes you cannot create
> a column if there is an attribute or function with the same name:
>
> class Test(SQLObject):
>   expire = StringCol()
>
> Test.createTable()
>
> Traceback (most recent call last):
>  File "./test1.py", line 14, in <module>
>    class Test(SQLObject):
>  File
> "/usr/lib/python2.5/site-packages/SQLObject-0.10.2-py2.5.egg/sqlobject/declarative.py",
> line 92, in __new__
>    cls.__classinit__(cls, new_attrs)
>  File
> "/usr/lib/python2.5/site-packages/SQLObject-0.10.2-py2.5.egg/sqlobject/main.py",
> line 784, in __classinit__
>    cls.sqlmeta.addColumn(column)
>  File
> "/usr/lib/python2.5/site-packages/SQLObject-0.10.2-py2.5.egg/sqlobject/main.py",
> line 334, in addColumn
>    % (soClass.__module__, soClass.__name__, name, name))
> AssertionError: The class __main__.Test already has a variable or method
> 'expire', you cannot add the column 'expire'
>
>   'dirty' seems to be a rare exception - it is set long after the name
> clash check. I will add the issue to my TODO.
>
>   Second, SQLObject allows to have two different names for a column
> - python name and database name:
>
> class Test(SQLObject):
>   _expire = StringCol(dbName="expire")
>
> Test.createTable()
>
>  1/QueryR  :  CREATE TABLE test (
>    id INTEGER PRIMARY KEY,
>    expire TEXT
> )
>
> Oleg.
> --
>     Oleg Broytmann            http://phd.pp.ru/            [EMAIL PROTECTED]
>           Programmers don't die, they just GOSUB without RETURN.
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> sqlobject-discuss mailing list
> sqlobject-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to