Commit 89c2f573 authored by Peter Eisentraut's avatar Peter Eisentraut

psql: Improve error display for psql -f -

Running "psql -f -" used to print

psql:<stdin>:1: ERROR:  blah

but that got broken between 8.4 and 9.0 (commit
b291c0fb), and now it printed

psql:-:1: ERROR:  blah

This reverts to the old behavior and cleans up some code that was left
dead or useless by the mentioned commit.
parent 3433c6ba
...@@ -2062,14 +2062,17 @@ process_file(char *filename, bool single_txn, bool use_relative_path) ...@@ -2062,14 +2062,17 @@ process_file(char *filename, bool single_txn, bool use_relative_path)
} }
fd = fopen(filename, PG_BINARY_R); fd = fopen(filename, PG_BINARY_R);
if (!fd)
{
psql_error("%s: %s\n", filename, strerror(errno));
return EXIT_FAILURE;
}
} }
else else
fd = stdin;
if (!fd)
{ {
psql_error("%s: %s\n", filename, strerror(errno)); fd = stdin;
return EXIT_FAILURE; filename = "<stdin>"; /* for future error messages */
} }
oldfilename = pset.inputfile; oldfilename = pset.inputfile;
......
...@@ -313,8 +313,6 @@ main(int argc, char *argv[]) ...@@ -313,8 +313,6 @@ main(int argc, char *argv[])
printf(_("Type \"help\" for help.\n\n")); printf(_("Type \"help\" for help.\n\n"));
if (!pset.notty) if (!pset.notty)
initializeInput(options.no_readline ? 0 : 1); initializeInput(options.no_readline ? 0 : 1);
if (options.action_string) /* -f - was used */
pset.inputfile = "<stdin>";
successResult = MainLoop(stdin); successResult = MainLoop(stdin);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment