Seems like it is an Apache problem.  This error occurred on Apache
2.2.13 but not on a system with 2.2.19.

On Jun 8, 1:57 pm, doug holt <[email protected]> wrote:
> Hi,
>
> I'm getting a strange error in sqlalchemy/engine/base.py when I try to
> use a mysql table with more than 6 columns and serve a page using
> mod_wsgi.
>
> Here's a simple dispatch.wsgi file that demonstrates the problem:
>
> =========================================================================== 
> ====
> from sqlalchemy import create_engine
> engine = create_engine('mysql://user:passwd@db/table', echo=True)
>
> from sqlalchemy import Table, Column, Integer, String, SmallInteger,
> MetaData, ForeignKey
> metadata = MetaData()
>
> Users_table = Table('users', metadata,
>     Column('id', String(10), nullable=False, default='',
> primary_key=True),
>     Column('name', String(100)),
>     Column('password', String(20), default=''),
>     Column('extracol1', SmallInteger(4)),
>     Column('extracol2', SmallInteger(4)),
>     Column('extracol3', String(255)),
>     Column('extracol4', SmallInteger(4))
> )
>
> metadata.create_all(engine)
>
> class User(object):
>     def __init__(self):
>         pass
>
> from sqlalchemy.orm import mapper
> mapper(User, Users_table)
>
> from sqlalchemy.orm import sessionmaker
> Session = sessionmaker(bind=engine)
>
> def application(environ, start_response):
>     status = '200 OK'
>     output = 'Hello World!'
>
>     newUser = User()
>     newUser.id = 'test'
>
>     session = Session()
>     session.add(newUser)
>     session.commit()
>
>     user = session.query(User).filter(User.id=='test').one()
>
>     response_headers = [('Content-type', 'text/plain'),
>                         ('Content-Length', str(len(output)))]
>     start_response(status, response_headers)
>
>     return [output]
> =========================================================================== 
> ====
>
> When I try to view the page I get this error:
> =========================================================================== 
> ====
> [Wed Jun 08 13:40:23 2011] [error] [client ] mod_wsgi (pid=2546):
> Exception occurred processing WSGI script '/home/web/TA/
> dispatch.wsgi'.
>
> ...
> [Wed Jun 08 13:40:23 2011] [error] [client ]   File "/opt/python-2.7.1/
> lib/python2.7/site-packages/SQLAlchemy-0.7.1-py2.7-linux-x86_64.egg/
> sqlalchemy/engine/base.py", line 2673, in _init_metadata
> [Wed Jun 08 13:40:23 2011] [error] [client ]     self._metadata =
> ResultMetaData(self, metadata)
> [Wed Jun 08 13:40:23 2011] [error] [client ]   File "/opt/python-2.7.1/
> lib/python2.7/site-packages/SQLAlchemy-0.7.1-py2.7-linux-x86_64.egg/
> sqlalchemy/engine/base.py", line 2533, in __init__
> [Wed Jun 08 13:40:23 2011] [error] [client ]     name, obj, type_ =
> context.result_map[colname.lower()]
> [Wed Jun 08 13:40:23 2011] [error] [client ] AttributeError:
> 'NoneType' object has no attribute 'lower'
> =========================================================================== 
> ====
>
> The table is created correctly and the user is added, but when the
> select statement is issued, I get this error.  It appears that the
> metadata could be wrong(?) since the tuple containing 'None' is what
> seems to be causing the error.
>
> =========================================================================== 
> ====
> [Wed Jun 08 13:40:23 2011] [error] 2011-06-08 13:40:23,898 INFO
> sqlalchemy.engine.base.Engine SELECT users.id AS users_id, users.name
> AS users_name, users.password AS users_password, users.flagid AS
> users_flagid, users.prefix AS users_prefix, users.config AS
> users_config, users.view AS users_view
> [Wed Jun 08 13:40:23 2011] [error] FROM users
> [Wed Jun 08 13:40:23 2011] [error] WHERE users.id = %s
> [Wed Jun 08 13:40:23 2011] [error] 2011-06-08 13:40:23,898 INFO
> sqlalchemy.engine.base.Engine ('test',)
> [Wed Jun 08 13:40:23 2011] [error] (('users_id', 253, 5, 10, 10, 0,
> 0), ('name', 22648936, 10, 0, 0, 253, 1), ('users', 22649016, 5, 14,
> 14, 22649000, 1), ('users', 22649040, 7, 5, 5, 22649072, 1),
> ('dh_test', 22649104, 0, 7, 7, 22649096, 1), ('def', 22649144, 0, 0,
> 0, 22649160, 1), (None, 22648832, 2, 0, 0, 1919251317, 0))
> [Wed Jun 08 13:40:23 2011] [error] *** 0 users_id 253
> [Wed Jun 08 13:40:23 2011] [error] *** 1 name 22648936
> [Wed Jun 08 13:40:23 2011] [error] *** 2 users 22649016
> [Wed Jun 08 13:40:23 2011] [error] *** 3 users 22649040
> [Wed Jun 08 13:40:23 2011] [error] *** 4 table 22649104
> [Wed Jun 08 13:40:23 2011] [error] *** 5 def 22649144
> [Wed Jun 08 13:40:23 2011] [error] *** 6 None 22648832
> =========================================================================== 
> ====
>
> If I delete one of the columns in the schema definition (so there are
> only 6 columns) I don't get this error; the query executes
> successfully and 'Hello World!' is printed.  I've tried my real
> application with SQLite and didn't encounter this error.  I also don't
> run into this error if I serve the application using paster.
>
> Thanks for any help,
>
> Doug

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to