On Thu, Oct 10/10/13, 2013 at 12:59:31PM -0400, Michael Bayer wrote: > > 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. Yes, the SQL is correctly quoted.
> 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. It's the only one. > 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. I guess I will poke around some more. -Ryan Kelly
signature.asc
Description: Digital signature
