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.
