aboutsummaryrefslogtreecommitdiff
path: root/src/bin/psql/common.c
diff options
context:
space:
mode:
authorStephen Frost <sfrost@snowman.net>2017-03-07 09:31:52 -0500
committerStephen Frost <sfrost@snowman.net>2017-03-07 09:31:52 -0500
commitb2678efd43f17db7dfa04e0ca076ea01275cd9bc (patch)
tree286017423ffd724b3759be1141dc67df45484eae /src/bin/psql/common.c
parent9a83d56b38c870ce47b7651385ff2add583bf136 (diff)
downloadpostgresql-b2678efd43f17db7dfa04e0ca076ea01275cd9bc.tar.gz
postgresql-b2678efd43f17db7dfa04e0ca076ea01275cd9bc.zip
psql: Add \gx command
It can often be useful to use expanded mode output (\x) for just a single query. Introduce a \gx which acts exactly like \g except that it will force expanded output mode for that one \gx call. This is simpler than having to use \x as a toggle and also means that the user doesn't have to worry about the current state of the expanded variable, or resetting it later, to ensure a given query is always returned in expanded mode. Primairly Christoph's patch, though I did tweak the documentation and help text a bit, and re-indented the tab completion section. Author: Christoph Berg Reviewed By: Daniel Verite Discussion: https://postgr.es/m/20170127132737.6skslelaf4txs6iw%40msg.credativ.de
Diffstat (limited to 'src/bin/psql/common.c')
-rw-r--r--src/bin/psql/common.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c
index 5349c394115..1aa56ab3a2f 100644
--- a/src/bin/psql/common.c
+++ b/src/bin/psql/common.c
@@ -770,6 +770,10 @@ PrintQueryTuples(const PGresult *results)
{
printQueryOpt my_popt = pset.popt;
+ /* one-shot expanded output requested via \gx */
+ if (pset.g_expanded)
+ my_popt.topt.expanded = 1;
+
/* write output to \g argument, if any */
if (pset.gfname)
{
@@ -1410,6 +1414,9 @@ sendquery_cleanup:
pset.gfname = NULL;
}
+ /* reset \gx's expanded-mode flag */
+ pset.g_expanded = false;
+
/* reset \gset trigger */
if (pset.gset_prefix)
{