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