diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-11-13 19:35:25 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-11-13 19:35:25 -0500 |
commit | 415ddce1e3b429bdc1180c5b5f7750a08d226525 (patch) | |
tree | 62b3680e80556e2bf8fba9d744de31b7654d79cc /lib/sqlalchemy/dialects/postgresql/base.py | |
parent | 0ac36e3d7dd22af743661f89e6cd9d28a0dcc7bf (diff) | |
download | sqlalchemy-415ddce1e3b429bdc1180c5b5f7750a08d226525.tar.gz |
don't check standard_conforming_strings less than server version 8.2
Fixed a small regression where the query for "show
standard_conforming_strings" upon initialization would be emitted even if
the server version info were detected as less than version 8.2, previously
it would only occur for server version 8.2 or greater. The query fails on
Amazon Redshift which reports a PG server version older than this value.
Fixes: #5698
Change-Id: Ib27ce4b05106d986a618597e4cf253504f981bf1
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/base.py')
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/base.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index bf257ab3f..d738393e7 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -2922,12 +2922,15 @@ class PGDialect(default.DefaultDialect): # http://www.postgresql.org/docs/9.3/static/release-9-2.html#AEN116689 self.supports_smallserial = self.server_version_info >= (9, 2) - std_string = connection.exec_driver_sql( - "show standard_conforming_strings" - ).scalar() - self._backslash_escapes = ( - self.server_version_info < (8, 2) or std_string == "off" - ) + if self.server_version_info < (8, 2): + self._backslash_escapes = False + else: + # ensure this query is not emitted on server version < 8.2 + # as it will fail + std_string = connection.exec_driver_sql( + "show standard_conforming_strings" + ).scalar() + self._backslash_escapes = std_string == "off" self._supports_create_index_concurrently = ( self.server_version_info >= (8, 2) |