I think in 0001 we should put more stuff in the state struct -- specifically these globals:
static int recvFile = -1; static TimeLineID recvFileTLI = 0; static XLogSegNo recvSegNo = 0; The main reason is that it seems odd to have startpointTLI in the struct used in some places together with a file-global recvFileTLI which isn't. The way one is passed as argument and the other as part of a struct seemed too distracting. This should reduce the number of moving parts, ISTM. One thing that confused me for a moment is that we have some state in walrcv and some more state in 'state'. The difference is pretty obvious once you look at the other, but it suggest to me that a better variable name for the latter is 'localstate' to more obviously distinguish them. I was tempted to suggest that LogstreamResult would also be good to have in the new struct, but that might be going a bit too far for a first cut. -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/