From 689dd4a806c78dc93f7c1d40e5d08dd65a165644 Mon Sep 17 00:00:00 2001 From: Dimitri Fontaine Date: Sat, 6 Jun 2020 17:07:06 +0200 Subject: [PATCH] Simplify Postgres version string parsing further. --- src/pgsql/connection.lisp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/pgsql/connection.lisp b/src/pgsql/connection.lisp index 07544fd..da41325 100644 --- a/src/pgsql/connection.lisp +++ b/src/pgsql/connection.lisp @@ -429,10 +429,7 @@ (defun parse-postgresql-version-variant (version-string) "Parse PostgreSQL select version() output for Postgres variant, if any." - (or (cl-ppcre:register-groups-bind (maybe-variant) - ("PostgreSQL (?:[0-9.]+)(?: [^,]+)?, [^,]+, (.*)" version-string) - (when (cl-ppcre:scan "Redshift" maybe-variant) :redshift)) - :pgdg)) + (if (cl-ppcre:scan "Redshift" version-string) :redshift :pgdg)) (defun parse-postgresql-version-string (version-string) (multiple-value-bind (full-version major-version) @@ -457,12 +454,14 @@ "A list of test values and Postgres version string") (defun test/parse-postgresql-version-string () - (loop :for (full major variant version-string) :in *test/versions* - :always (multiple-value-bind (parsed-full parsed-major parsed-variant) - (parse-postgresql-version-string version-string) - (and (string= parsed-full full) - (string= parsed-major major) - (eq parsed-variant variant))))) + (let ((results + (loop :for (full major variant version-string) :in *test/versions* + :collect (multiple-value-bind (parsed-full parsed-major parsed-variant) + (parse-postgresql-version-string version-string) + (and (string= parsed-full full) + (string= parsed-major major) + (eq parsed-variant variant)))))) + (values (every #'identity results) results))) (defun list-typenames-without-btree-support () "Fetch PostgresQL data types without btree support, so that it's possible