From: | "Ideriha, Takeshi" <ideriha(dot)takeshi(at)jp(dot)fujitsu(dot)com> |
---|---|
To: | Jan Michálek <godzilalalala(at)gmail(dot)com> |
Cc: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Other formats in pset like markdown, rst, mediawiki |
Date: | 2017-03-21 08:59:25 |
Message-ID: | 4E72940DA2BF16479384A86D54D0988A565AB648@G01JPEXMBKW04 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
I like your suggestion and took a look at your patch though I’m not the expert about psql.
I like the idea taking advantage of linestyle utilities
to implement rst and markdown format efficiently instead of newly developing pset format things.
But I'm thinking two comments below needs change to something about not focusing only linestyle.
That's because they really take care of both '\pset linestyle and \pset format' and it may lead to misunderstanding to readers.
---
/* Line style control structures */
const printTextFormat pg_markdown =
/* get selected or default line style */
const printTextFormat *
get_line_style(const printTableOpt *opt)
---
The rest things are about code style convention.
- there are some indents with white spaces around skip_leading_spaces_print()
but Postgresql conventions says indents should be with 4 column tab.
https://www.postgresql.org/docs/devel/static/source-format.html
- On the other hand, in docs there are some tab indent
but white space indenet is preferable. Looking around sgml files, white space is used.
- some multi-line comment style also needs fix according to the above documentation (link)
- And I also found patch cannot be applied to current master.
Regards,
Ideriha, Takeshi
From: pgsql-hackers-owner(at)postgresql(dot)org [mailto:pgsql-hackers-owner(at)postgresql(dot)org] On Behalf Of Jan Michalek
Sent: Sunday, March 19, 2017 5:10 AM
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>; PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] Other formats in pset like markdown, rst, mediawiki
2017-03-12 19:21 GMT+01:00 Jan Michálek <godzilalalala(at)gmail(dot)com<mailto:godzilalalala(at)gmail(dot)com>>:
2017-03-10 9:43 GMT+01:00 Jan Michálek <godzilalalala(at)gmail(dot)com<mailto:godzilalalala(at)gmail(dot)com>>:
2017-03-09 20:10 GMT+01:00 Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com<mailto:peter(dot)eisentraut(at)2ndquadrant(dot)com>>:
This is looking pretty neat. I played around with it a bit. There are
a couple of edge cases that you need to address, I think.
Thanks, original code is very synoptical and and well prepared for adding new formats.
- Does not support \x
I know, i dnot`t know, if \x make sense in this case. I will look, how it is done in other formats like html. I think, that it should work in sense, that table generated to rst should give similar output after processing like output of html format.
I prepared something like this (i have no prepared diff, i need do some another changes)
There a few things I need to do. First problem is bold column names, i should do it in sme fashin as "RECORD", but i need to do some research about length of column.
Bigger problem is with tab indent, rst processor doesn`t work with this in this case.
In new diff is added \x for rst and skipping leading spaces in rst in both. make check passed
Jan
jelen=# execute q \g | xclip
+---------+------------------------------------------------------------------------+
| **RECORD 1** |
+---------+------------------------------------------------------------------------+
| column1 | Elephant, kangaroo, |
| | squirrel, gorilla |
+---------+------------------------------------------------------------------------+
| column2 | 121 |
+---------+------------------------------------------------------------------------+
| column3 | 1.0035971223021583 |
+---------+------------------------------------------------------------------------+
| column4 | 0.1111 |
+---------+------------------------------------------------------------------------+
| column5 | Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello |
+---------+------------------------------------------------------------------------+
| **RECORD 2** |
+---------+------------------------------------------------------------------------+
| column1 | goat, rhinoceros, |
| | monkey, ape |
+---------+------------------------------------------------------------------------+
| column2 | 11121 |
+---------+------------------------------------------------------------------------+
| column3 | 1.0007824726134585 |
+---------+------------------------------------------------------------------------+
| column4 | 5.1111 |
+---------+------------------------------------------------------------------------+
| column5 | xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx |
+---------+------------------------------------------------------------------------+
| **RECORD 3** |
+---------+------------------------------------------------------------------------+
| column1 | donkey, cow, horse, tit, |
| | eagle, whale, |
| | aligator, |
| | pelican, |
| | grasshoper |
| | pig |
| | bat |
+---------+------------------------------------------------------------------------+
| column2 | 14351 |
+---------+------------------------------------------------------------------------+
| column3 | 50.3877551020408163 |
+---------+------------------------------------------------------------------------+
| column4 | 345.11 |
+---------+------------------------------------------------------------------------+
| column5 | yyyyyy yyyyyy yyyyyy yyyyyy yyyyyy yyyyyy yyyyyy yyyyyy yyyyyy yyyyyy |
+---------+------------------------------------------------------------------------+
- When \pset format is rst, then \pset linestyle also shows up as
"rst". That is wrong. Same for markdown.
I will look on this.
- Broken output in tuples_only (\t) mode. (rst and markdown)
Similar to \x, im not certain, what it should return. I will look, what returns html format. Or i can use it in markdown for nice vs expanded format.
- rst: Do something about \pset title; the way it currently shows up
appears to be invalid; could use ".. table:: title" directive
OK, it shouldn`t be problem alter this.
- markdown: Extra blank line between table and footer.
It is because markdown needs empty line after table, if is row count presented.
- markdown: We should document or comment somewhere exactly which of the
various markdown table formats this is supposed to produce. (Pandoc
pipe_tables?)
I use format that was similar to aligned format and ascii linestyle, because it allows me to use existing features. I should look over more table styles in markdown.
- markdown: Table title needs to be after the table, like
Table: title
I will change this.
- markdown: Needs to escape | characters in cell contents. (Not
needed for rst.) More escaping might be needed.
This can be problem because of aligning, i will look on this, this same problem as replace newline with </br> for markdown.
Have Nice day
Jan
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
--
Jelen
Starší čeledín datovýho chlíva
--
Jelen
Starší čeledín datovýho chlíva
--
Jelen
Starší čeledín datovýho chlíva
From | Date | Subject | |
---|---|---|---|
Next Message | Kyotaro HORIGUCHI | 2017-03-21 09:00:24 | Re: extended statistics: n-distinct |
Previous Message | Amit Langote | 2017-03-21 08:49:14 | Re: Asymmetry between parent and child wrt "false" quals |