From 2287b874546931e2f33cddcafff2bde58459da1b Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Tue, 1 Dec 2015 11:07:29 -0500
Subject: [PATCH] Further adjustment to psql's print_aligned_vertical()
 function.

We should ignore output_columns unless it's greater than zero.
A zero means we couldn't get any information from ioctl(TIOCGWINSZ);
in that case the expected behavior is to print the data at native width,
not to wrap it at the smallest possible value.  print_aligned_text()
gets this consideration right, but print_aligned_vertical() lost track
of this detail somewhere along the line.
---
 src/bin/psql/print.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/psql/print.c b/src/bin/psql/print.c
index b53e81be379..e103d5b0841 100644
--- a/src/bin/psql/print.c
+++ b/src/bin/psql/print.c
@@ -1424,7 +1424,8 @@ print_aligned_vertical(const printTableContent *cont, FILE *fout)
 			if (rwidth > min_width)
 				min_width = rwidth;
 
-			if (width < min_width || output_columns < min_width)
+			if (width < min_width ||
+				(output_columns > 0 && output_columns < min_width))
 			{
 				/* Set data width to match min_width */
 				newdwidth = min_width - hwidth - swidth;
-- 
GitLab