From c8113abd83a166917c8adbf48af35ea3e675255a Mon Sep 17 00:00:00 2001 From: Nick Porter Date: Fri, 3 Jan 2025 19:56:00 +0000 Subject: [PATCH] Allow for PGRES_TUPLES_CHUNK when checking PostgreSQL status codes --- .../drivers/rlm_sql_postgresql/config.h.in | 3 ++ .../drivers/rlm_sql_postgresql/configure | 32 +++++++++++++++++++ .../drivers/rlm_sql_postgresql/configure.ac | 14 ++++++++ .../rlm_sql_postgresql/rlm_sql_postgresql.c | 3 ++ 4 files changed, 52 insertions(+) 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 066224d429..b29078363d 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 4b486b7bc7..8e99564864 100755 --- a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure +++ b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure @@ -2907,6 +2907,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_TUPLES_CHUNK" >&5 +$as_echo_n "checking for PGRES_TUPLES_CHUNK... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + + if (PGRES_TUPLES_CHUNK) return 0; + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + +$as_echo "#define HAVE_PGRES_TUPLES_CHUNK 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 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 8ac1022e89..f9e856dfe3 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac +++ b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac @@ -65,6 +65,20 @@ if test x$with_[]modname != xno; then 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 a152f74099..7e5b83fbaa 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 @@ -410,6 +410,9 @@ static CC_HINT(nonnull) sql_rcode_t sql_query(rlm_sql_handle_t *handle, UNUSED r */ #ifdef HAVE_PGRES_SINGLE_TUPLE case PGRES_SINGLE_TUPLE: +#endif +#ifdef HAVE_PGRES_TUPLES_CHUNK + case PGRES_TUPLES_CHUNK: #endif case PGRES_TUPLES_OK: conn->cur_row = 0; -- 2.47.3