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

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

Reply via email to