summaryrefslogtreecommitdiff
path: root/src/include/replication
diff options
context:
space:
mode:
authorAndres Freund2022-07-18 00:23:42 +0000
committerAndres Freund2022-07-18 00:23:42 +0000
commitf2b73c8d75d583adcdd3562adca335d31f430ac5 (patch)
treef2757634daa0393b131ac631fbdb90e1e4ad1789 /src/include/replication
parent31e5b502920351ddcf8f5efa7f2dc4a60ecdca3a (diff)
Add central declarations for dlsym()ed symbols
This is in preparation for defaulting to -fvisibility=hidden in extensions, instead of exporting all symbols. For that symbols intended to be exported need to be tagged with PGDLLEXPORT. Most extensions only need to do so for _PG_init() and functions defined with PG_FUNCTION_INFO_V1. Adding central declarations avoids each extension having to add PGDLLEXPORT. Any existing declarations in extensions will continue to work if fmgr.h is included before them, otherwise compilation for Windows will fail. Author: Andres Freund <andres@anarazel.de> Reviewed-By: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/20211101020311.av6hphdl6xbjbuif@alap3.anarazel.de
Diffstat (limited to 'src/include/replication')
-rw-r--r--src/include/replication/output_plugin.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/include/replication/output_plugin.h b/src/include/replication/output_plugin.h
index 539dc8e6974..b7d28d7045c 100644
--- a/src/include/replication/output_plugin.h
+++ b/src/include/replication/output_plugin.h
@@ -35,6 +35,8 @@ typedef struct OutputPluginOptions
*/
typedef void (*LogicalOutputPluginInit) (struct OutputPluginCallbacks *cb);
+extern PGDLLEXPORT void _PG_output_plugin_init(struct OutputPluginCallbacks *cb);
+
/*
* Callback that gets called in a user-defined plugin. ctx->private_data can
* be set to some private data.