From eabd1b2ee86e93723f95c2d686e8d1e60e9b5d44 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Thu, 8 May 2008 19:11:36 +0000
Subject: [PATCH] Have psql output tab as the proper number of spaces, rather
 than \x09.

---
 src/bin/psql/mbprint.c                | 10 +++++++++-
 src/test/regress/expected/prepare.out | 16 +++++++++-------
 2 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/src/bin/psql/mbprint.c b/src/bin/psql/mbprint.c
index a753dca2da1..a57c4647181 100644
--- a/src/bin/psql/mbprint.c
+++ b/src/bin/psql/mbprint.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2008, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/mbprint.c,v 1.31 2008/05/08 17:04:26 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/mbprint.c,v 1.32 2008/05/08 19:11:36 momjian Exp $
  *
  * XXX this file does not really belong in psql/.  Perhaps move to libpq?
  * It also seems that the mbvalidate function is redundant with existing
@@ -321,6 +321,14 @@ pg_wcsformat(unsigned char *pwcs, size_t len, int encoding,
 				linewidth += 2;
 				ptr += 2;
 			}
+			else if (*pwcs == '\t')		/* Tab */
+			{
+				do
+				{
+					*ptr++ = ' ';
+					linewidth++;
+				} while (linewidth % 8 != 0);
+			}
 			else if (w < 0)		/* Other control char */
 			{
 				sprintf((char *) ptr, "\\x%02X", *pwcs);
diff --git a/src/test/regress/expected/prepare.out b/src/test/regress/expected/prepare.out
index 35e1befcbb4..dec093f1a25 100644
--- a/src/test/regress/expected/prepare.out
+++ b/src/test/regress/expected/prepare.out
@@ -155,15 +155,17 @@ SELECT name, statement, parameter_types FROM pg_prepared_statements
  name |                            statement                            |                    parameter_types                     
 ------+-----------------------------------------------------------------+--------------------------------------------------------
  q2   | PREPARE q2(text) AS                                             | {text}
-      : \x09SELECT datname, datistemplate, datallowconn                   
-      : \x09FROM pg_database WHERE datname = $1;                          
+      :         SELECT datname, datistemplate, datallowconn                                                                     
+      :         FROM pg_database WHERE datname = $1;                                                                            
  q3   | PREPARE q3(text, int, float, boolean, oid, smallint) AS         | {text,integer,"double precision",boolean,oid,smallint}
-      : \x09SELECT * FROM tenk1 WHERE string4 = $1 AND (four = $2 OR      
-      : \x09ten = $3::bigint OR true = $4 OR oid = $5 OR odd = $6::int)   
-      : \x09ORDER BY unique1;                                             
+      :         SELECT * FROM tenk1 WHERE string4 = $1 AND (four = $2 O                                                         
+      ; R                                                                                                                       
+      :         ten = $3::bigint OR true = $4 OR oid = $5 OR odd = $6::                                                         
+      ; int)                                                                                                                    
+      :         ORDER BY unique1;                                                                                               
  q5   | PREPARE q5(int, text) AS                                        | {integer,text}
-      : \x09SELECT * FROM tenk1 WHERE unique1 = $1 OR stringu1 = $2       
-      : \x09ORDER BY unique1;                                             
+      :         SELECT * FROM tenk1 WHERE unique1 = $1 OR stringu1 = $2                                                         
+      :         ORDER BY unique1;                                                                                               
  q6   | PREPARE q6 AS                                                   | {integer,name}
       :     SELECT * FROM tenk1 WHERE unique1 = $1 AND stringu1 = $2;     
  q7   | PREPARE q7(unknown) AS                                          | {path}
-- 
GitLab