diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-06-07 12:30:22 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-06-07 12:30:22 -0400 |
commit | b6d3f60791834ead92564fc58afebc2c3eb4a2ff (patch) | |
tree | ca4edd3264d3d643e5f506ee5bfd35be9543518d | |
parent | acf64c4178169b765f3f7ae492b1774955cf541f (diff) | |
download | sqlalchemy-b6d3f60791834ead92564fc58afebc2c3eb4a2ff.tar.gz |
Parse for Postgresql version w/ "beta"
Continuing with the fix that correctly handles Postgresql
version string "10devel" released in 1.1.8, an additional regexp
bump to handle version strings of the form "10beta1". While
Postgresql now offers better ways to get this information, we
are sticking w/ the regexp at least through 1.1.x for the least
amount of risk to compatibility w/ older or alternate Postgresql
databases.
Change-Id: I12ddb06465f7dcf80563c27632441ef5963f60d4
Fixes: #4005
-rw-r--r-- | doc/build/changelog/changelog_11.rst | 13 | ||||
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/base.py | 2 | ||||
-rw-r--r-- | test/dialect/postgresql/test_dialect.py | 7 |
3 files changed, 20 insertions, 2 deletions
diff --git a/doc/build/changelog/changelog_11.rst b/doc/build/changelog/changelog_11.rst index cde9b45cc..c0e3c18d6 100644 --- a/doc/build/changelog/changelog_11.rst +++ b/doc/build/changelog/changelog_11.rst @@ -21,6 +21,19 @@ .. changelog:: :version: 1.1.11 + .. change:: 4005 + :tags: bug, postgresql + :tickets: 4005 + :versions: 1.2.0b1 + + Continuing with the fix that correctly handles Postgresql + version string "10devel" released in 1.1.8, an additional regexp + bump to handle version strings of the form "10beta1". While + Postgresql now offers better ways to get this information, we + are sticking w/ the regexp at least through 1.1.x for the least + amount of risk to compatibility w/ older or alternate Postgresql + databases. + .. change:: 3994 :tags: bug, mssql :tickets: 3994 diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index 2510bc975..e583bd5cf 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -2303,7 +2303,7 @@ class PGDialect(default.DefaultDialect): v = connection.execute("select version()").scalar() m = re.match( r'.*(?:PostgreSQL|EnterpriseDB) ' - r'(\d+)\.?(\d+)?(?:\.(\d+))?(?:\.\d+)?(?:devel)?', + r'(\d+)\.?(\d+)?(?:\.(\d+))?(?:\.\d+)?(?:devel|beta)?', v) if not m: raise AssertionError( diff --git a/test/dialect/postgresql/test_dialect.py b/test/dialect/postgresql/test_dialect.py index c79b186de..376ba081c 100644 --- a/test/dialect/postgresql/test_dialect.py +++ b/test/dialect/postgresql/test_dialect.py @@ -63,7 +63,12 @@ class MiscTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiledSQL): 'release build 1080137', (9, 2, 4)), ( 'PostgreSQL 10devel on x86_64-pc-linux-gnu' - 'compiled by gcc (GCC) 6.3.1 20170306, 64-bit', (10,))]: + 'compiled by gcc (GCC) 6.3.1 20170306, 64-bit', (10,)), + ( + 'PostgreSQL 10beta1 on x86_64-pc-linux-gnu, ' + 'compiled by gcc (GCC) 4.8.5 20150623 ' + '(Red Hat 4.8.5-11), 64-bit', (10,)) + ]: eq_(testing.db.dialect._get_server_version_info(mock_conn(string)), version) |