Avoid writing .tmp file when redirecting stdout to a file #5930
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes a regression of #2296 found by @mskyttner where writing to
stdout
would fail if the result was redirected to a file, because the/dev/stdout
pretends to be a file when it is redirected to a file (i.e. it setsst_mode
instat
as if it is a file). For now we resolve this by checking directly if the output target is/dev/stdout
as there does not seem to be a good way to resolve this using file system operations itself.We also do some clean-up of the copy to file - as the
is_file_and_exists
property is not necessary anymore after binding it should not be propagated further into the plan.