diff options
author | Diana Clarke <diana.joan.clarke@gmail.com> | 2015-11-24 13:41:07 -0500 |
---|---|---|
committer | Diana Clarke <diana.joan.clarke@gmail.com> | 2015-11-24 13:58:50 -0500 |
commit | fd47fea6fbb11ee84b7eea5772f40855703ebe47 (patch) | |
tree | d523e7d9e25bb7a0feeb5393cf65d00b88b1efe4 /lib | |
parent | f7943db2f32e3cace9cadc5cf05402d425b76d33 (diff) | |
download | sqlalchemy-pr/216.tar.gz |
- Postgres: Do not prefix table with schema in: "FOR UPDATE of <table>"pr/216
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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/base.py | 2 | ||||
-rw-r--r-- | lib/sqlalchemy/sql/compiler.py | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index 8de5bede7..e9001f79a 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -1158,7 +1158,7 @@ class PGCompiler(compiler.SQLCompiler): c.table if isinstance(c, expression.ColumnClause) else c for c in select._for_update_arg.of) tmp += " OF " + ", ".join( - self.process(table, ashint=True, **kw) + self.process(table, ashint=True, use_schema=False, **kw) for table in tables ) diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index f1220ce31..d28ac313b 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -1799,9 +1799,9 @@ class SQLCompiler(Compiled): return text def visit_table(self, table, asfrom=False, iscrud=False, ashint=False, - fromhints=None, **kwargs): + fromhints=None, use_schema=True, **kwargs): if asfrom or ashint: - if getattr(table, "schema", None): + if use_schema and getattr(table, "schema", None): ret = self.preparer.quote_schema(table.schema) + \ "." + self.preparer.quote(table.name) else: |