From fd47fea6fbb11ee84b7eea5772f40855703ebe47 Mon Sep 17 00:00:00 2001 From: Diana Clarke Date: Tue, 24 Nov 2015 13:41:07 -0500 Subject: - Postgres: Do not prefix table with schema in: "FOR UPDATE of " For example, this query: SELECT s1.users.name FROM s1.users FOR UPDATE OF s1.users should actually be: SELECT s1.users.name FROM s1.users FOR UPDATE OF users fixes #3573 --- test/dialect/postgresql/test_compiler.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'test/dialect/postgresql') diff --git a/test/dialect/postgresql/test_compiler.py b/test/dialect/postgresql/test_compiler.py index 78217bd82..0c0f9c589 100644 --- a/test/dialect/postgresql/test_compiler.py +++ b/test/dialect/postgresql/test_compiler.py @@ -580,6 +580,22 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): "WHERE mytable_1.myid = %(myid_1)s FOR UPDATE OF mytable_1" ) + def test_for_update_with_schema(self): + m = MetaData() + table1 = Table( + 'mytable', m, + Column('myid'), + Column('name'), + schema='testschema' + ) + + self.assert_compile( + table1.select(table1.c.myid == 7).with_for_update(of=table1), + "SELECT testschema.mytable.myid, testschema.mytable.name " + "FROM testschema.mytable " + "WHERE testschema.mytable.myid = %(myid_1)s " + "FOR UPDATE OF mytable") + def test_reserved_words(self): table = Table("pg_table", MetaData(), Column("col1", Integer), -- cgit v1.2.1