quote/don't quote gets lost in aliasing

Issue #1045 resolved
jek created an issue
(ProgrammingError) column anon.id does not exist at character 82
 'SELECT 1
  FROM (SELECT T1.Id AS "Id", T1.Data AS "Data" 
  FROM T1) AS anon
  WHERE anon.Id = %(Id_1)s'



from sqlalchemy import *

metadata = MetaData()
t = Table('T1', metadata,
          Column('Id', Integer, quote=False),
          Column('Data', Integer, quote=False),
          quote=False)

def test():
    a = t.select().alias('anon')
    sel = select([1](1), a.c.Id==2, from_obj=a)
    print sel
    sel.execute().fetchall()
    assert False

if __name__ == '__main__':
    # passes on sqlite
    e = create_engine('postgres:///test')
    metadata.bind = e
    metadata.create_all()
    try:
        test()
    finally:
        metadata.drop_all()

Comments (2)

  1. Log in to comment