Skip to content
Snippets Groups Projects
Commit 890194f1 authored by Robert Haas's avatar Robert Haas
Browse files

Comment fixes related to logical decoding.

Andres Freund, per complaints by Peter Eisentraut.
parent c5608ea2
Branches
Tags
No related merge requests found
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
PG_MODULE_MAGIC; PG_MODULE_MAGIC;
/* These must be available to pg_dlsym() */
extern void _PG_init(void); extern void _PG_init(void);
extern void _PG_output_plugin_init(OutputPluginCallbacks *cb); extern void _PG_output_plugin_init(OutputPluginCallbacks *cb);
...@@ -43,7 +44,6 @@ typedef struct ...@@ -43,7 +44,6 @@ typedef struct
bool include_timestamp; bool include_timestamp;
} TestDecodingData; } TestDecodingData;
/* These must be available to pg_dlsym() */
static void pg_decode_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, static void pg_decode_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt,
bool is_init); bool is_init);
static void pg_decode_shutdown(LogicalDecodingContext *ctx); static void pg_decode_shutdown(LogicalDecodingContext *ctx);
......
...@@ -12,14 +12,17 @@ ...@@ -12,14 +12,17 @@
* together provide logical decoding, primarily by providing so * together provide logical decoding, primarily by providing so
* called LogicalDecodingContexts. The goal is to encapsulate most of the * called LogicalDecodingContexts. The goal is to encapsulate most of the
* internal complexity for consumers of logical decoding, so they can * internal complexity for consumers of logical decoding, so they can
* create and consume a changestream with a low amount of code. * create and consume a changestream with a low amount of code. Builtin
* consumers are the walsender and SQL SRF interface, but it's possible to
* add further ones without changing core code, e.g. to consume changes in
* a bgworker.
* *
* The idea is that a consumer provides three callbacks, one to read WAL, * The idea is that a consumer provides three callbacks, one to read WAL,
* one to prepare a data write, and a final one for actually writing since * one to prepare a data write, and a final one for actually writing since
* their implementation depends on the type of consumer. Check * their implementation depends on the type of consumer. Check
* logicalfunc.c for an example implementations of a fairly simple consumer * logicalfuncs.c for an example implementation of a fairly simple consumer
* and a implementation of a WAL reading callback that's suitable for * and a implementation of a WAL reading callback that's suitable for
* simpler consumers. * simple consumers.
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment