From b291c0fba83a1e93868e2f69c03be195d620f30c Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Tue, 1 Dec 2009 22:34:33 +0000
Subject: [PATCH] psql -f -

Adjust psql -f - to behave like a normal file and honor the -1 flag.

Report from Robert Haas
---
 src/bin/psql/command.c | 11 ++++++++---
 src/bin/psql/startup.c |  4 ++--
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 5a356b9b5ee..3f32f5d9d99 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2009, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.211 2009/11/22 05:20:41 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.212 2009/12/01 22:34:33 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "command.h"
@@ -1691,8 +1691,13 @@ process_file(char *filename, bool single_txn)
 	if (!filename)
 		return EXIT_FAILURE;
 
-	canonicalize_path(filename);
-	fd = fopen(filename, PG_BINARY_R);
+	if (strcmp(filename, "-") != 0)
+	{
+		canonicalize_path(filename);
+		fd = fopen(filename, PG_BINARY_R);
+	}
+	else
+		fd = stdin;
 
 	if (!fd)
 	{
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
index 61658de7c33..1ce4d7533c8 100644
--- a/src/bin/psql/startup.c
+++ b/src/bin/psql/startup.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2009, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.156 2009/04/05 04:19:58 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.157 2009/12/01 22:34:33 momjian Exp $
  */
 #include "postgres_fe.h"
 
@@ -225,7 +225,7 @@ main(int argc, char *argv[])
 	/*
 	 * process file given by -f
 	 */
-	if (options.action == ACT_FILE && strcmp(options.action_string, "-") != 0)
+	if (options.action == ACT_FILE)
 	{
 		if (!options.no_psqlrc)
 			process_psqlrc(argv[0]);
-- 
GitLab