diff options
-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) |