postgres.git / summary / log / commit / refs

commit    89c2f573a392e3995fffc619d4faed23f8649269
Author:   Peter Eisentraut <peter_e@gmx.net>
Date:     Thu Mar 01 17:58:10 2012 +0000
First released in: 9.2.0

    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
    b291c0fba83a1e93868e2f69c03be195d620f30c), 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.


src/bin/psql/command.c | 13 ++++++++----- src/bin/psql/startup.c | 2 -- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 8421ad00860..aa000735dc5 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -2062,14 +2062,17 @@ process_file(char *filename, bool single_txn, bool use_relative_path) } fd = fopen(filename, PG_BINARY_R); + + if (!fd) + { + psql_error("%s: %s\n", filename, strerror(errno)); + return EXIT_FAILURE; + } } else - fd = stdin; - - if (!fd) { - psql_error("%s: %s\n", filename, strerror(errno)); - return EXIT_FAILURE; + fd = stdin; + filename = "<stdin>"; /* for future error messages */ } oldfilename = pset.inputfile; diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index aff57728a2a..166c227d6b6 100644 --- a/src/bin/psql/startup.c +++ b/src/bin/psql/startup.c @@ -313,8 +313,6 @@ main(int argc, char *argv[]) printf(_("Type \"help\" for help.\n\n")); if (!pset.notty) initializeInput(options.no_readline ? 0 : 1); - if (options.action_string) /* -f - was used */ - pset.inputfile = "<stdin>"; successResult = MainLoop(stdin); } [parent: 3433c6ba002f]