can you produce a test case? can you get the short test I sent to produce the failure condition ?
On Oct 10, 2013, at 1:24 PM, Ryan Kelly <[email protected]> wrote: > 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: Message signed with OpenPGP using GPGMail
