* Handle COMMIT message. * * TODO, support tracking of multiple origins */
| 761 | * TODO, support tracking of multiple origins |
| 762 | */ |
| 763 | static void |
| 764 | apply_handle_commit(StringInfo s) |
| 765 | { |
| 766 | LogicalRepCommitData commit_data; |
| 767 | |
| 768 | logicalrep_read_commit(s, &commit_data); |
| 769 | |
| 770 | if (commit_data.commit_lsn != remote_final_lsn) |
| 771 | ereport(ERROR, |
| 772 | (errcode(ERRCODE_PROTOCOL_VIOLATION), |
| 773 | errmsg_internal("incorrect commit LSN %X/%X in commit message (expected %X/%X)", |
| 774 | LSN_FORMAT_ARGS(commit_data.commit_lsn), |
| 775 | LSN_FORMAT_ARGS(remote_final_lsn)))); |
| 776 | |
| 777 | apply_handle_commit_internal(&commit_data); |
| 778 | |
| 779 | /* Process any tables that are being synchronized in parallel. */ |
| 780 | process_syncing_tables(commit_data.end_lsn); |
| 781 | |
| 782 | pgstat_report_activity(STATE_IDLE, NULL); |
| 783 | } |
| 784 | |
| 785 | /* |
| 786 | * Handle ORIGIN message. |
no test coverage detected