diff options
author | mike bayer <mike_mp@zzzcomputing.com> | 2017-08-30 12:30:44 -0400 |
---|---|---|
committer | Gerrit Code Review <gerrit@awstats.zzzcomputing.com> | 2017-08-30 12:30:44 -0400 |
commit | 22396493b26f18780eb51fce874dd2435a83a0e5 (patch) | |
tree | 89fed6452c9f40868609f46bc5296b7accff220a | |
parent | 28e6c79cf3665fce42b12ccdfa138bf5ca967cb5 (diff) | |
parent | 43447c4254f0d1a9778911bc2d6b794760d83fa7 (diff) | |
download | sqlalchemy-22396493b26f18780eb51fce874dd2435a83a0e5.tar.gz |
Merge "Join key_constraints on schema as well for SQL server get_fks"
-rw-r--r-- | doc/build/changelog/unreleased_12/4060.rst | 9 | ||||
-rw-r--r-- | lib/sqlalchemy/dialects/mssql/base.py | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/doc/build/changelog/unreleased_12/4060.rst b/doc/build/changelog/unreleased_12/4060.rst new file mode 100644 index 000000000..f83443005 --- /dev/null +++ b/doc/build/changelog/unreleased_12/4060.rst @@ -0,0 +1,9 @@ +.. change:: + :tags: bug, mssql + :tickets: 4060 + + Fixed bug where the SQL Server dialect could pull columns from multiple + schemas when reflecting a self-referential foreign key constraint, if + multiple schemas contained a constraint of the same name against a + table of the same name. + diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index d526c685c..a4b9fe0cc 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -2151,6 +2151,7 @@ class MSDialect(default.DefaultDialect): RR.c.delete_rule], sql.and_(C.c.table_name == tablename, C.c.table_schema == owner, + R.c.table_schema == C.c.table_schema, C.c.constraint_name == RR.c.constraint_name, R.c.constraint_name == RR.c.unique_constraint_name, |