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 sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to