I've been using sqlalchemy for the past couple months in development
without incident until I started applying unique indexes. I've had
issues with duplicate rows as expected, but now i'm seeing a different
error that I hadn't seen before...
NoSuchColumnError: "Could not locate column in row for column
'rosetta_keys.id'"
It's hard to reproduce because it only shows up (some of the time)
when the process forks and only when indexes are applied to tables in
question.
It's not always the same table, but I can say that it occurs when two
processes are touching the same table. I'm using sqlsoup to make this
all happen.
I'm using sqlalchemy 0.56
Ubuntu 9.10 64-bit, python 2.6
mysql-python 1.2.3c1
Here's a stack trace...
Traceback (most recent call last):
File "/home/ffernand/src/thescore-feed/feeds/fss/worker.py", line
46, in process_queue
(errorlog, created, updated), processed = method(xmldoc), True
File "/home/ffernand/src/thescore-feed/feeds/__init__.py", line 129,
in handle
results = fn(*args, **kwargs)
File "/home/ffernand/src/thescore-feed/feeds/__init__.py", line 182,
in handle
results = fn(*args, **kwargs)
File "/home/ffernand/src/thescore-feed/feeds/__init__.py", line 152,
in handle
results = fn(*args, **kwargs)
File "/home/ffernand/src/thescore-feed/lib/feeds/sport/hockey/
entities.py", line 114, in handle
results = fn(*args, **kwargs)
File "/home/ffernand/src/thescore-feed/feeds/fss/leagues/nhl/
playerstats.py", line 26, in NHL_PLAYERSTATS
player_id = get_player_id(global_id, last_name, first_name)
File "/home/ffernand/src/thescore-feed/lib/feeds/sport/hockey/
entities.py", line 55, in get_player_id
if global_id else None
File "/home/ffernand/src/thescore-feed/lib/feeds/rosetta.py", line
24, in get_rosetta_id
obj, created = orm.db.rosetta_keys.filter_by(**filter).first(),
False
File "./lib/vendor/sqlalchemy/orm/query.py", line 1300, in first
ret = list(self[0:1])
File "./lib/vendor/sqlalchemy/orm/query.py", line 1221, in
__getitem__
return list(res)
File "./lib/vendor/sqlalchemy/orm/query.py", line 1420, in instances
process[0](context, row, rows)
File "./lib/vendor/sqlalchemy/orm/query.py", line 2029, in main
_instance(row, result)
File "./lib/vendor/sqlalchemy/orm/mapper.py", line 1631, in
_instance
identitykey = identity_key(row)
File "./lib/vendor/sqlalchemy/orm/mapper.py", line 1572, in
identity_key
return (identity_class, tuple(row[column] for column in pk_cols))
File "./lib/vendor/sqlalchemy/orm/mapper.py", line 1572, in
<genexpr>
return (identity_class, tuple(row[column] for column in pk_cols))
File "./lib/vendor/sqlalchemy/engine/base.py", line 1348, in
__getitem__
return self.__parent._get_col(self.__row, key)
File "./lib/vendor/sqlalchemy/engine/base.py", line 1609, in
_get_col
type_, processor, index = self._props[key]
File "./lib/vendor/sqlalchemy/util.py", line 68, in __missing__
self[key] = val = self.creator(key)
File "./lib/vendor/sqlalchemy/engine/base.py", line 1507, in
fallback
raise exc.NoSuchColumnError("Could not locate column in row for
column '%s'" % (str(key)))
NoSuchColumnError: "Could not locate column in row for column
'rosetta_keys.id'"
Any suggestions would be greatly appreciated...
thanks,
filipe
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---