Hello Yugo-san,

I attached the rebased patch.

Patch applies cleanly, compiles, "make check" is okay, although there are no specific test for the feature. Indeed, after investigation there is not a SINGLE test for the command:-(

I think that some minimal tap-testing should be done. It seems that pg_basebackup tap test is the only one which enables checksums. Maybe a pg_verify_checksum could be added to the "010_pg_basebackup.pl" script.

Anyway I tested that it works by hex-editing a file to trigger a fail.

Function "atoi" is quite lazy, it accepts "-d 1zzz" as "1". Maybe parsing could be stricter.

When the command is started with both "-d 1 -g", it succeeds by checking nothing, which is quite misleading. Probably it should complain that these options are mutually exclusive, or it should check both under -g AND -d 1?

The oid of a database is not obvious... You have to query "SELECT oid, *", it is not given by \l or \l+ or "psql -l".

About the documentation:

"Only validate checksums in the relations in the database with specified OID."... I think that indexes and other possibly toasted values are also checked. I'd suggest "Only validate checksums of objects in the database specified by its OID".

"--globel-only" -> "--global-only".

ISTM that --help should show options in alphabetical order, however -v is out of order.

--
Fabien.

Reply via email to