summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2025-09-03 09:11:48 +0200
committerPeter Eisentraut <peter@eisentraut.org>2025-09-03 09:45:17 +0200
commit63599896545c7869f7dd28cd593e8b548983d613 (patch)
treecc868c3cca49fa94b8ccbcc69df780e924efeca8 /src/include
parentaba8f61c30911cbac1a310b7d21777e04711c66e (diff)
Generate GUC tables from .dat file
Store the information in guc_tables.c in a .dat file similar to the catalog data in src/include/catalog/, and generate a part of guc_tables.c from that. The goal is to make it easier to edit that information, and to be able to make changes to the downstream data structures more easily. (Essentially, those are the same reasons as for the original adoption of the .dat format.) Reviewed-by: John Naylor <johncnaylorls@gmail.com> Reviewed-by: Daniel Gustafsson <daniel@yesql.se> Reviewed-by: David E. Wheeler <david@justatheory.com> Discussion: https://www.postgresql.org/message-id/flat/dae6fe89-1e0c-4c3f-8d92-19d23374fb10%40eisentraut.org
Diffstat (limited to 'src/include')
-rw-r--r--src/include/libpq/libpq.h18
-rw-r--r--src/include/utils/.gitignore1
-rw-r--r--src/include/utils/guc.h23
-rw-r--r--src/include/utils/inval.h18
-rw-r--r--src/include/utils/meson.build7
5 files changed, 67 insertions, 0 deletions
diff --git a/src/include/libpq/libpq.h b/src/include/libpq/libpq.h
index aeb66ca40cf..5af005ad779 100644
--- a/src/include/libpq/libpq.h
+++ b/src/include/libpq/libpq.h
@@ -118,6 +118,24 @@ extern PGDLLIMPORT bool SSLPreferServerCiphers;
extern PGDLLIMPORT bool ssl_loaded_verify_locations;
#endif
+#ifdef USE_SSL
+#define SSL_LIBRARY "OpenSSL"
+#else
+#define SSL_LIBRARY ""
+#endif
+
+#ifdef USE_OPENSSL
+#define DEFAULT_SSL_CIPHERS "HIGH:MEDIUM:+3DES:!aNULL"
+#else
+#define DEFAULT_SSL_CIPHERS "none"
+#endif
+
+#ifdef USE_SSL
+#define DEFAULT_SSL_GROUPS "X25519:prime256v1"
+#else
+#define DEFAULT_SSL_GROUPS "none"
+#endif
+
/*
* prototypes for functions in be-secure-gssapi.c
*/
diff --git a/src/include/utils/.gitignore b/src/include/utils/.gitignore
index c1b4c662139..30f921429c6 100644
--- a/src/include/utils/.gitignore
+++ b/src/include/utils/.gitignore
@@ -1,5 +1,6 @@
/fmgroids.h
/fmgrprotos.h
+/guc_tables.inc.c
/probes.h
/errcodes.h
/header-stamp
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index f619100467d..72981053e61 100644
--- a/src/include/utils/guc.h
+++ b/src/include/utils/guc.h
@@ -254,8 +254,31 @@ extern PGDLLIMPORT bool Debug_pretty_print;
extern PGDLLIMPORT bool Debug_copy_parse_plan_trees;
extern PGDLLIMPORT bool Debug_write_read_parse_plan_trees;
extern PGDLLIMPORT bool Debug_raw_expression_coverage_test;
+
+/*
+ * support for legacy compile-time settings
+ */
+
+#ifdef COPY_PARSE_PLAN_TREES
+#define DEFAULT_DEBUG_COPY_PARSE_PLAN_TREES true
+#else
+#define DEFAULT_DEBUG_COPY_PARSE_PLAN_TREES false
+#endif
+
+#ifdef READ_WRITE_PARSE_PLAN_TREES
+#define DEFAULT_DEBUG_READ_WRITE_PARSE_PLAN_TREES true
+#else
+#define DEFAULT_DEBUG_READ_WRITE_PARSE_PLAN_TREES false
+#endif
+
+#ifdef RAW_EXPRESSION_COVERAGE_TEST
+#define DEFAULT_DEBUG_RAW_EXPRESSION_COVERAGE_TEST true
+#else
+#define DEFAULT_DEBUG_RAW_EXPRESSION_COVERAGE_TEST false
#endif
+#endif /* DEBUG_NODE_TESTS_ENABLED */
+
extern PGDLLIMPORT bool log_parser_stats;
extern PGDLLIMPORT bool log_planner_stats;
extern PGDLLIMPORT bool log_executor_stats;
diff --git a/src/include/utils/inval.h b/src/include/utils/inval.h
index 9b871caef62..af466252578 100644
--- a/src/include/utils/inval.h
+++ b/src/include/utils/inval.h
@@ -20,6 +20,24 @@
extern PGDLLIMPORT int debug_discard_caches;
+#define MIN_DEBUG_DISCARD_CACHES 0
+
+#ifdef DISCARD_CACHES_ENABLED
+ /* Set default based on older compile-time-only cache clobber macros */
+#if defined(CLOBBER_CACHE_RECURSIVELY)
+#define DEFAULT_DEBUG_DISCARD_CACHES 3
+#elif defined(CLOBBER_CACHE_ALWAYS)
+#define DEFAULT_DEBUG_DISCARD_CACHES 1
+#else
+#define DEFAULT_DEBUG_DISCARD_CACHES 0
+#endif
+#define MAX_DEBUG_DISCARD_CACHES 5
+#else /* not DISCARD_CACHES_ENABLED */
+#define DEFAULT_DEBUG_DISCARD_CACHES 0
+#define MAX_DEBUG_DISCARD_CACHES 0
+#endif /* not DISCARD_CACHES_ENABLED */
+
+
typedef void (*SyscacheCallbackFunction) (Datum arg, int cacheid, uint32 hashvalue);
typedef void (*RelcacheCallbackFunction) (Datum arg, Oid relid);
typedef void (*RelSyncCallbackFunction) (Datum arg, Oid relid);
diff --git a/src/include/utils/meson.build b/src/include/utils/meson.build
index 78c6b9b0a23..0a2ea8fa32c 100644
--- a/src/include/utils/meson.build
+++ b/src/include/utils/meson.build
@@ -30,6 +30,13 @@ errcodes = custom_target('errcodes',
)
generated_headers += errcodes
+guc_tables = custom_target('guc_tables',
+ input: files('../../backend/utils/misc/guc_parameters.dat'),
+ output: ['guc_tables.inc.c'],
+ depend_files: catalog_pm,
+ command: [perl, files('../../backend/utils/misc/gen_guc_tables.pl'), '@INPUT@', '@OUTPUT@'])
+generated_headers += guc_tables
+
if dtrace.found()
probes_tmp = custom_target('probes.h.tmp',
input: files('../../backend/utils/probes.d'),