mirror of
https://github.com/postgres/postgres.git
synced 2025-10-21 02:52:47 +03:00
Simplify the logical worker type checks by using the switch on worker type.
The current code uses if/else statements at various places to take worker
specific actions. Change those to use the switch on worker type added by
commit 2a8b40e368
. This makes code easier to read and understand.
Author: Peter Smith
Reviewed-by: Amit Kapila, Hou Zhijie
Discussion: http://postgr.es/m/CAHut+PttPSuP0yoZ=9zLDXKqTJ=d0bhxwKaEaNcaym1XqcvDEg@mail.gmail.com
This commit is contained in:
@@ -649,18 +649,29 @@ process_syncing_tables_for_apply(XLogRecPtr current_lsn)
|
||||
void
|
||||
process_syncing_tables(XLogRecPtr current_lsn)
|
||||
{
|
||||
/*
|
||||
* Skip for parallel apply workers because they only operate on tables
|
||||
* that are in a READY state. See pa_can_start() and
|
||||
* should_apply_changes_for_rel().
|
||||
*/
|
||||
if (am_parallel_apply_worker())
|
||||
return;
|
||||
switch (MyLogicalRepWorker->type)
|
||||
{
|
||||
case WORKERTYPE_PARALLEL_APPLY:
|
||||
|
||||
if (am_tablesync_worker())
|
||||
process_syncing_tables_for_sync(current_lsn);
|
||||
else
|
||||
process_syncing_tables_for_apply(current_lsn);
|
||||
/*
|
||||
* Skip for parallel apply workers because they only operate on
|
||||
* tables that are in a READY state. See pa_can_start() and
|
||||
* should_apply_changes_for_rel().
|
||||
*/
|
||||
break;
|
||||
|
||||
case WORKERTYPE_TABLESYNC:
|
||||
process_syncing_tables_for_sync(current_lsn);
|
||||
break;
|
||||
|
||||
case WORKERTYPE_APPLY:
|
||||
process_syncing_tables_for_apply(current_lsn);
|
||||
break;
|
||||
|
||||
case WORKERTYPE_UNKNOWN:
|
||||
/* Should never happen. */
|
||||
elog(ERROR, "Unknown worker type");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user