From: Nick Porter Date: Tue, 8 Oct 2024 15:01:26 +0000 (+0100) Subject: Allow for PGRES_TUPLES_CHUNK when checking PostgreSQL status codes X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ead151f6624d6a1d4ec6766160e8a360312cf24;p=thirdparty%2Ffreeradius-server.git Allow for PGRES_TUPLES_CHUNK when checking PostgreSQL status codes --- diff --git a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/config.h.in b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/config.h.in index 066224d4294..b29078363db 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/config.h.in +++ b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/config.h.in @@ -6,6 +6,9 @@ /* Whether the PGRES_SINGLE_TUPLE constant is defined */ #undef HAVE_PGRES_SINGLE_TUPLE +/* Whether the PGRES_TUPLES_CHUNK constant is defined */ +#undef HAVE_PGRES_TUPLES_CHUNK + /* Whether the PGRES_PIPELINE_SYNC constant is defined */ #undef HAVE_PGRES_PIPELINE_SYNC diff --git a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure index 7a029d4f1bd..5ffbb273497 100755 --- a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure +++ b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure @@ -3561,6 +3561,40 @@ printf "%s\n" "#define HAVE_PGRES_SINGLE_TUPLE 1" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } +else case e in #( + e) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PGRES_TUPLES_CHUNK" >&5 +printf %s "checking for PGRES_TUPLES_CHUNK... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + if (PGRES_TUPLES_CHUNK) return 0; + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + +printf "%s\n" "#define HAVE_PGRES_TUPLES_CHUNK 1" >>confdefs.h + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 diff --git a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac index 639929d0bfa..5d528aae46b 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac +++ b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac @@ -63,6 +63,20 @@ else AC_MSG_RESULT(no) ]) + AC_MSG_CHECKING([for PGRES_TUPLES_CHUNK]) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([#include ], [[ + if (PGRES_TUPLES_CHUNK) return 0; + return 1; + ]])], + [ + AC_DEFINE([HAVE_PGRES_TUPLES_CHUNK], [1], [Whether the PGRES_TUPLES_CHUNK constant is defined]) + AC_MSG_RESULT(yes) + ], + [ + AC_MSG_RESULT(no) + ]) + AC_MSG_CHECKING([for PGRES_COPY_BOTH]) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([#include ], [[ diff --git a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c index 8387bf93f70..a268845590d 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c @@ -167,6 +167,9 @@ static sql_rcode_t sql_classify_error(rlm_sql_postgresql_t *inst, ExecStatusType case PGRES_COMMAND_OK: #ifdef HAVE_PGRES_SINGLE_TUPLE case PGRES_SINGLE_TUPLE: + #endif + #ifdef HAVE_PGRES_TUPLES_CHUNK + case PGRES_TUPLES_CHUNK: #endif case PGRES_TUPLES_OK: #ifdef HAVE_PGRES_COPY_BOTH @@ -466,6 +469,9 @@ static void sql_trunk_request_demux(UNUSED fr_event_list_t *el, UNUSED trunk_con */ #ifdef HAVE_PGRES_SINGLE_TUPLE case PGRES_SINGLE_TUPLE: +#endif +#ifdef HAVE_PGRES_TUPLES_CHUNK + case PGRES_TUPLES_CHUNK: #endif case PGRES_TUPLES_OK: sql_conn->cur_row = 0;