Looks good.
It's still not doing the old-ascii column dividers but to be honest
I'm not sure what the intended behaviour of old-ascii is. I've noticed
old-ascii only displays the line markers for dividing lines, not the
final one. That seems pretty useless and maybe it's why we switched to
the new "ascii" mode, I don't recall.
This is the way old-ascii displays when two columns are wrapping -- it
seems pretty confused to me. The headers are displaying newline
markers from the ascii style instead of : indicators in the dividing
line. The : and ; markers are only displayed for the first column, not
the second one.
Maybe since the : and ; markers aren't shown for the final column that
means the expanded mode doesn't have to do anything since the column
is only ever the final column.
+--------------------+-----------------+
| x | x |
|+ y |+ y |
|+ z |+ z |
+--------------------+-----------------+
| x | xxxxxxxxxxxxxxx |
| xx ; xxxx |
| xxx : xxxxxxxxxxxxxxx |
| xxxx ; xxx |
| xxxxx : xxxxxxxxxxxxxxx |
| xxxxxx ; xx |
| xxxxxxx : xxxxxxxxxxxxxxx |
| xxxxxxxx ; x |
| xxxxxxxxx : xxxxxxxxxxxxxxx |
| xxxxxxxxxx : xxxxxxxxxxxxxx |
| xxxxxxxxxxx : xxxxxxxxxxxxx |
| xxxxxxxxxxxx : xxxxxxxxxxxx |
| xxxxxxxxxxxxx : xxxxxxxxxxx |
| xxxxxxxxxxxxxx : xxxxxxxxxx |
| xxxxxxxxxxxxxxx : xxxxxxxxx |
| xxxxxxxxxxxxxxxx : xxxxxxxx |
| xxxxxxxxxxxxxxxxx : xxxxxxx |
| xxxxxxxxxxxxxxxxxx : xxxxxx |
| xxxxxxxxxxxxxxxxxx : xxxxx |
| x : xxxx |
| xxxxxxxxxxxxxxxxxx : xxx |
| xx : xx |
| xxxxxxxxxxxxxxxxxx : x |
| xxx : |
| xxxxxxxxxxxxxxxxxx : |
| xxxx : |
| xxxxxxxxxxxxxxxxxx : |
| xxxxx : |
| xxxxxxxxxxxxxxxxxx : |
| xxxxxx |
| xxxxxxxxxxxxxxxxxx |
| xxxxxxx |
+--------------------+-----------------+
stark=# select array_to_string(array_agg(repeat('x',x)),E'\n') as "x
y
z"
from generate_series(1,20) as x(x);
┌─[ RECORD 1 ]─────┐
│ x↵│ x ↵│
│ y↵│ xx ↵│
│ z │ xxx ↵│
│ │ xxxx ↵│
│ │ xxxxx ↵│
│ │ xxxxxx ↵│
│ │ xxxxxxx ↵│
│ │ xxxxxxxx ↵│
│ │ xxxxxxxxx ↵│
│ │ xxxxxxxxxx ↵│
│ │ xxxxxxxxxxx ↵│
│ │ xxxxxxxxxxxx↵│
│ │ xxxxxxxxxxxx…│
│ │…x ↵│
│ │ xxxxxxxxxxxx…│
│ │…xx ↵│
│ │ xxxxxxxxxxxx…│
│ │…xxx ↵│
│ │ xxxxxxxxxxxx…│
│ │…xxxx ↵│
│ │ xxxxxxxxxxxx…│
│ │…xxxxx ↵│
│ │ xxxxxxxxxxxx…│
│ │…xxxxxx ↵│
│ │ xxxxxxxxxxxx…│
│ │…xxxxxxx ↵│
│ │ xxxxxxxxxxxx…│
│ │…xxxxxxxx │
└───┴──────────────┘
stark=# \pset linestyle ascii
Line style (linestyle) is ascii.
stark=# select array_to_string(array_agg(repeat('x',x)),E'\n') as "x
y
z"
from generate_series(1,20) as x(x);
stark"***# stark"***# stark-***# +-[ RECORD 1 ]-----+
| x+| x +|
| y+| xx +|
| z | xxx +|
| | xxxx +|
| | xxxxx +|
| | xxxxxx +|
| | xxxxxxx +|
| | xxxxxxxx +|
| | xxxxxxxxx +|
| | xxxxxxxxxx +|
| | xxxxxxxxxxx +|
| | xxxxxxxxxxxx+|
| | xxxxxxxxxxxx.|
| |.x +|
| | xxxxxxxxxxxx.|
| |.xx +|
| | xxxxxxxxxxxx.|
| |.xxx +|
| | xxxxxxxxxxxx.|
| |.xxxx +|
| | xxxxxxxxxxxx.|
| |.xxxxx +|
| | xxxxxxxxxxxx.|
| |.xxxxxx +|
| | xxxxxxxxxxxx.|
| |.xxxxxxx +|
| | xxxxxxxxxxxx.|
| |.xxxxxxxx |
+---+--------------+
stark=# \pset linestyle old-ascii
Line style (linestyle) is old-ascii.
stark=# select array_to_string(array_agg(repeat('x',x)),E'\n') as "x
y
z"
from generate_series(1,20) as x(x);
stark"# stark"# stark-#
+-[ RECORD 1 ]-----+
| x | x |
| y | xx |
| z | xxx |
| | xxxx |
| | xxxxx |
| | xxxxxx |
| | xxxxxxx |
| | xxxxxxxx |
| | xxxxxxxxx |
| | xxxxxxxxxx |
| | xxxxxxxxxxx |
| | xxxxxxxxxxxx |
| | xxxxxxxxxxxx |
| | x |
| | xxxxxxxxxxxx |
| | xx |
| | xxxxxxxxxxxx |
| | xxx |
| | xxxxxxxxxxxx |
| | xxxx |
| | xxxxxxxxxxxx |
| | xxxxx |
| | xxxxxxxxxxxx |
| | xxxxxx |
| | xxxxxxxxxxxx |
| | xxxxxxx |
| | xxxxxxxxxxxx |
| | xxxxxxxx |
+---+--------------+
stark=# \pset expanded off
Expanded display (expanded) is off.
stark=# \pset columns 40
Target width (columns) is 40.
stark=# select array_to_string(array_agg(repeat('x',x)),E'\n') as "x
y
z",array_to_string(array_agg(repeat('x',20-x)),E'\n') as "x
y
z"
from generate_series(1,25) as x(x);
+--------------------+-----------------+
| x | x |
|+ y |+ y |
|+ z |+ z |
+--------------------+-----------------+
| x | xxxxxxxxxxxxxxx |
| xx ; xxxx |
| xxx : xxxxxxxxxxxxxxx |
| xxxx ; xxx |
| xxxxx : xxxxxxxxxxxxxxx |
| xxxxxx ; xx |
| xxxxxxx : xxxxxxxxxxxxxxx |
| xxxxxxxx ; x |
| xxxxxxxxx : xxxxxxxxxxxxxxx |
| xxxxxxxxxx : xxxxxxxxxxxxxx |
| xxxxxxxxxxx : xxxxxxxxxxxxx |
| xxxxxxxxxxxx : xxxxxxxxxxxx |
| xxxxxxxxxxxxx : xxxxxxxxxxx |
| xxxxxxxxxxxxxx : xxxxxxxxxx |
| xxxxxxxxxxxxxxx : xxxxxxxxx |
| xxxxxxxxxxxxxxxx : xxxxxxxx |
| xxxxxxxxxxxxxxxxx : xxxxxxx |
| xxxxxxxxxxxxxxxxxx : xxxxxx |
| xxxxxxxxxxxxxxxxxx : xxxxx |
| x : xxxx |
| xxxxxxxxxxxxxxxxxx : xxx |
| xx : xx |
| xxxxxxxxxxxxxxxxxx : x |
| xxx : |
| xxxxxxxxxxxxxxxxxx : |
| xxxx : |
| xxxxxxxxxxxxxxxxxx : |
| xxxxx : |
| xxxxxxxxxxxxxxxxxx : |
| xxxxxx |
| xxxxxxxxxxxxxxxxxx |
| xxxxxxx |
+--------------------+-----------------+
(1 row)
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers