On Oct 10, 2013, at 8:34 AM, Ryan Kelly <[email protected]> wrote:

> Hi:
> 
> One of our applications is generating the following error:
> 
> NoSuchColumnError: "Could not locate column in row for column 
> 'client.claims.client_id'"
> 
> Which is rather strange, because that column is aliased with .label() to
> "AS Client_ID", so of course that row cannot be located.

when the SQL is actually rendered, is the "Client_ID" name rendered with 
quotes?  it should be, as that is a case-sensitive name.

0.8 made a change regarding upper/lower case names which is that we no longer 
call lower() on identifier names when producing lookup dictionaries for result 
rows - see 
http://docs.sqlalchemy.org/en/rel_0_8/changelog/migration_08.html#case-insensitive-result-row-names-will-be-disabled-in-most-cases
 

or the failure here might have something to do with a conflicting "client_id" 
name elsewhere in the query. 

you might want to see is sending "case_sensitive=False" to create_engine() 
restores the working behavior you saw in 0.7.

it does sound like something originating within your query and how SQLAlchemy 
handles it, psycopg2 is unlikely to be playing a role here.


Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to