ProcessCopyOptions previously rejects force_quote_all for COPY FROM and copyfrom.c is not even conscious of the option (that is, even no assertion on it). The two options are rejected for COPY TO by the same function so it seems like a thinko of the commit. Getting rid of the code would be good in the view of code coverage and maintenance.
Yeah, ProcessCopyOptions() does have the check for force_notnull and force_null whether it is using COPY FROM and whether it is in CSV mode. So the codes in copyto.c processing force_notnull/force_null are
actually dead codes.
On the otherhand I wonder if it is good that we have assertions on the option values.