> I'm using ftell to get current position in file to populate file_bytes_processed without error handling (ftell can
return-1L and also populate errno on problems).
>
> 1. Is that a good way to get progress of file processing?
IMO, it's better to handle the error cases. One possible case where
ftell can return -1 and set errno is when the total bytes processed is
more than LONG_MAX.
Will your patch handle file_bytes_processed reporting for COPY FROM
STDIN cases? For this case, ftell can't be used.
Instead of using ftell and worrying about the errors, a simple
approach could be to have a uint64 variable in CopyStateData to track
the number of bytes read whenever CopyGetData is called. This approach
can also handle the case of COPY FROM STDIN.
With Regards,
Bharath Rupireddy.
EnterpriseDB: http://www.enterprisedb.com