]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Fix to support PostgreSQL 14 (#4251)
authorNick Porter <nick@portercomputing.co.uk>
Thu, 7 Oct 2021 12:01:20 +0000 (13:01 +0100)
committerGitHub <noreply@github.com>
Thu, 7 Oct 2021 12:01:20 +0000 (07:01 -0500)
src/modules/rlm_sql/drivers/rlm_sql_postgresql/config.h.in
src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure
src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c

index f2f2b46e3e9f11fa885d435a6dafb26a4e21f17f..066224d429492841f57e9aa0b3868a4c49a7c7a4 100644 (file)
@@ -6,6 +6,9 @@
 /* Whether the PGRES_SINGLE_TUPLE constant is defined */
 #undef HAVE_PGRES_SINGLE_TUPLE
 
+/* Whether the PGRES_PIPELINE_SYNC constant is defined */
+#undef HAVE_PGRES_PIPELINE_SYNC
+
 /* Define to 1 if you have the `PQinitOpenSSL' function. */
 #undef HAVE_PQINITOPENSSL
 
index ab9967d542feee352a8261a1a02ea8e4a48644dc..db98a9296ab743ab0cdd33d8521c7b8761790b88 100755 (executable)
@@ -2984,6 +2984,38 @@ else
                    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PGRES_PIPELINE_SYNC" >&5
+$as_echo_n "checking for PGRES_PIPELINE_SYNC... " >&6; }
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <libpq-fe.h>
+int
+main ()
+{
+
+                   if (PGRES_PIPELINE_SYNC) return 0;
+                   return 1;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+
+$as_echo "#define HAVE_PGRES_PIPELINE_SYNC 1" >>confdefs.h
+
+                   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+                   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
        fi
index 46ba4629177bdd2069087fe318134c4fe9dc913b..a152f74099c7dffc3c693f40c33075a537c200b7 100644 (file)
@@ -444,6 +444,13 @@ static CC_HINT(nonnull) sql_rcode_t sql_query(rlm_sql_handle_t *handle, UNUSED r
        case PGRES_NONFATAL_ERROR:
        case PGRES_FATAL_ERROR:
                return sql_classify_error(conn->result);
+
+#ifdef HAVE_PGRES_PIPELINE_SYNC
+       case PGRES_PIPELINE_SYNC:
+       case PGRES_PIPELINE_ABORTED:
+               ERROR("rlm_sql_postgresql: Pipeline flagged as aborted");
+               return RLM_SQL_ERROR;
+#endif
        }
 
        return RLM_SQL_ERROR;