summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/build/changelog/changelog_11.rst13
-rw-r--r--lib/sqlalchemy/dialects/postgresql/base.py2
-rw-r--r--test/dialect/postgresql/test_dialect.py7
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)