Is there a reason for this elaborate error handling:

+       fd = OpenTransientFile(path, O_RDONLY | PG_BINARY);
+
+       if (fd < 0 && errno == ENOENT)
+               ereport(ERROR,
+                               errmsg("file \"%s\" does not exist", path));
+       else if (fd < 0)
+               ereport(ERROR,
+                               (errcode_for_file_access(),
+                                errmsg("could not open file \"%s\": %m", 
path)));

Couldn't you just use the second branch for all errno's?


Reply via email to