Dear Hou,
Thank you for updating the patch! Followings are my comments.
1. guc_tables.c
```
static const struct config_enum_entry logical_decoding_mode_options[] = {
- {"buffered", LOGICAL_DECODING_MODE_BUFFERED, false},
- {"immediate", LOGICAL_DECODING_MODE_IMMEDIATE, false},
+ {"buffered", LOGICAL_REP_MODE_BUFFERED, false},
+ {"immediate", LOGICAL_REP_MODE_IMMEDIATE, false},
{NULL, 0, false}
};
```
This struct should be also modified.
2. guc_tables.c
```
- {"logical_decoding_mode", PGC_USERSET, DEVELOPER_OPTIONS,
+ {"logical_replication_mode", PGC_USERSET, DEVELOPER_OPTIONS,
gettext_noop("Allows streaming or serializing each change in logical decoding."),
NULL,
```
I felt the description seems not to be suitable for current behavior.
A short description should be like "Sets a behavior of logical replication", and
further descriptions can be added in lond description.
3. config.sgml
```
<para>
This parameter is intended to be used to test logical decoding and
replication of large transactions for which otherwise we need to
generate the changes till <varname>logical_decoding_work_mem</varname>
is reached.
</para>
```
I understood that this part described the usage of the parameter. How about adding
a statement like:
" Moreover, this can be also used to test the message passing between the leader
and parallel apply workers."
4. 015_stream.pl
```
+# Ensure that the messages are serialized.
```
In other parts "changes" are used instead of "messages". Can you change the word?
Best Regards,
Hayato Kuroda
FUJITSU LIMITED