Thread: pgsql: Fix the bugs in selecting the transaction for streaming.

pgsql: Fix the bugs in selecting the transaction for streaming.

From
Amit Kapila
Date:
Fix the bugs in selecting the transaction for streaming.

There were two problems:
a. We were always selecting the next available txn instead of selecting it
when it is larger than the previous transaction.
b. We were selecting the transactions which haven't made any changes to
the database (base snapshot is not set). Later it was hitting an Assert
because we don't decode such transactions and the changes in txn remain as
it is. It is better not to choose such transactions for streaming in the
first place.

Reported-by: Haiying Tang
Author: Dilip Kumar
Reviewed-by: Amit Kapila
Discussion: https://postgr.es/m/OS0PR01MB61133B94E63177040F7ECDA1FB429@OS0PR01MB6113.jpnprd01.prod.outlook.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/ee4ba01dbbc31daa083f434ecd603a80bbe50501

Modified Files
--------------
src/backend/replication/logical/reorderbuffer.c | 38 +++++++++++++++----------
1 file changed, 23 insertions(+), 15 deletions(-)