summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>2017-12-01 16:08:03 +0000
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>2017-12-01 16:21:45 +0000
commit4ae2a366109e6f7258728d46ec34e26cf91d53b7 (patch)
tree7f653e6b738a7a314526413fcf3bb4187cc3d279
parentb179645ff76021244baef2c8e0f95a6ac392ff80 (diff)
downloadpsycopg2-maint_2_6.tar.gz
Fixed PostgreSQL version matching after PG 10maint_2_6
Backport to psycopg 2.6 of ticket #489, ticket #632
-rw-r--r--NEWS2
-rw-r--r--setup.py9
2 files changed, 9 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index d3ed838..983e119 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,8 @@ What's new in psycopg 2.6.3
- Throw an exception trying to pass ``NULL`` chars as parameters
(:ticket:`#420`).
- Make `~psycopg2.extras.Range` objects picklable (:ticket:`#462`).
+- Fixed version parsing and building of PostgreSQL 10.
+ Fix backport for :tickets:`#489, #632`.
What's new in psycopg 2.6.2
diff --git a/setup.py b/setup.py
index 766f38f..f5711c2 100644
--- a/setup.py
+++ b/setup.py
@@ -415,13 +415,18 @@ class psycopg_build_ext(build_ext):
pgversion = "7.4.0"
verre = re.compile(
- r"(\d+)\.(\d+)(?:(?:\.(\d+))|(devel|(alpha|beta|rc)\d+))")
+ r"(\d+)(?:\.(\d+))?(?:(?:\.(\d+))|(devel|(?:alpha|beta|rc)\d+))?")
m = verre.match(pgversion)
if m:
pgmajor, pgminor, pgpatch = m.group(1, 2, 3)
+ # Postgres >= 10 doesn't have pgminor anymore.
+ pgmajor = int(pgmajor)
+ if pgmajor >= 10:
+ pgminor, pgpatch = None, pgminor
+ if pgminor is None or not pgminor.isdigit():
+ pgminor = 0
if pgpatch is None or not pgpatch.isdigit():
pgpatch = 0
- pgmajor = int(pgmajor)
pgminor = int(pgminor)
pgpatch = int(pgpatch)
else: