- properly chain only main fork and cfs related forks
- properly chain datafile with its cfm even sort order places other
segments between
- don't raise error for system tables which has no companion cfm.
+ fix couple of tests
Error message is translated according to current locale. So we can't
compare it as a string. But `abortedRecPtr` exists exactly for this case,
so we can rely on it.
Everything between WARNING and FATAL sections is now handled with the [\s\S]*? regex:
* [\s\S] is a group that handles any whitespace and non-whitespace character including new lines which are important in this case.
* "*" quantifier means zero or more characters. There may as well be nothing between these two sections.
* "?" quantifies in this case means greedy search so that we don't match more than we need.
to make two backups in one second we have to fail them.
Therefore we have to fetch backup_id from log in exception's message.
Retry for 20 seconds to have a chance to start in one second.
If we couldn't, lets skip the test.
zlib decompression could mark error either as "data error" or
"buffer error". One of check did consider it, other didn't.
Make them same.
And use `assertRaises` for good (requires python 3.2 at least)
Pg15 now reports if it didn't met expected contrecord. Absence of this
message was long standing bug in previous postgres versions.
This situation could happen if WAL segment was rewritten after restart.
It causes "tests.validate.ValidateTest.test_validate_wal_unreal_values"
to hang but (looks like) for other reason: test tries to read "in future".
Probably we should stop reading logs here. But since we always did
continue here, lets continue as well.