Skip to content

Commit 689dd4a

Browse files
committed
Simplify Postgres version string parsing further.
1 parent cc8975b commit 689dd4a

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

src/pgsql/connection.lisp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -429,10 +429,7 @@
429429

430430
(defun parse-postgresql-version-variant (version-string)
431431
"Parse PostgreSQL select version() output for Postgres variant, if any."
432-
(or (cl-ppcre:register-groups-bind (maybe-variant)
433-
("PostgreSQL (?:[0-9.]+)(?: [^,]+)?, [^,]+, (.*)" version-string)
434-
(when (cl-ppcre:scan "Redshift" maybe-variant) :redshift))
435-
:pgdg))
432+
(if (cl-ppcre:scan "Redshift" version-string) :redshift :pgdg))
436433

437434
(defun parse-postgresql-version-string (version-string)
438435
(multiple-value-bind (full-version major-version)
@@ -457,12 +454,14 @@
457454
"A list of test values and Postgres version string")
458455

459456
(defun test/parse-postgresql-version-string ()
460-
(loop :for (full major variant version-string) :in *test/versions*
461-
:always (multiple-value-bind (parsed-full parsed-major parsed-variant)
462-
(parse-postgresql-version-string version-string)
463-
(and (string= parsed-full full)
464-
(string= parsed-major major)
465-
(eq parsed-variant variant)))))
457+
(let ((results
458+
(loop :for (full major variant version-string) :in *test/versions*
459+
:collect (multiple-value-bind (parsed-full parsed-major parsed-variant)
460+
(parse-postgresql-version-string version-string)
461+
(and (string= parsed-full full)
462+
(string= parsed-major major)
463+
(eq parsed-variant variant))))))
464+
(values (every #'identity results) results)))
466465

467466
(defun list-typenames-without-btree-support ()
468467
"Fetch PostgresQL data types without btree support, so that it's possible

0 commit comments

Comments
 (0)