Re: psql - add SHOW_ALL_RESULTS option

Pavel Stehule <pavel.stehule@gmail.com>

From: Pavel Stehule <pavel.stehule@gmail.com>
To: Fabien COELHO <coelho@cri.ensmp.fr>
Cc: Peter Eisentraut <peter.eisentraut@enterprisedb.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2021-07-22T15:28:58Z
Lists: pgsql-hackers
čt 22. 7. 2021 v 17:23 odesílatel Pavel Stehule <pavel.stehule@gmail.com>
napsal:

>
>
> čt 22. 7. 2021 v 16:58 odesílatel Fabien COELHO <coelho@cri.ensmp.fr>
> napsal:
>
>>
>> >> Ok. I noticed. The patch got significantly broken by the watch pager
>> >> commit. I also have to enhance the added tests (per Peter request).
>> >
>> > I wrote a test to check psql query cancel support.  I checked that it
>> fails
>> > against the patch that was reverted.  Maybe this is useful.
>>
>> Here is the updated version (v8? I'm not sure what the right count is),
>> which works for me and for "make check", including some tests added for
>> uncovered paths.
>>
>> I included your tap test (thanks again!) with some more comments and
>> cleanup.
>>
>> I tested manually for the pager feature, which mostly work, althoug
>> "pspg --stream" does not seem to expect two tables, or maybe there is a
>> way to switch between these that I have not found.
>>
>
> pspg doesn't support this feature. Theoretically it can be implementable
> (I am able to hold two datasets now), but without any help with
> synchronization I don't want to implement any more complex parsing. On the
> pspg side I am not able to detect what is the first result in the batch,
> what is the last result (without some hard heuristics - probably I can read
> some information from timestamps). And if you need two or more results in
> one terminal, then mode without pager is better.
>

but the timestamps are localized, and again I have not enough information
on the pspg side for correct parsing.

So until psql will use some tags that allow more simple detection of start
and end batch or relation, this feature will not be supported by pspg :-/.
There are some invisible ascii codes that can be used for this purpose.


>
>
>> --
>> Fabien.
>
>

Commits

  1. psql: Show all query results by default

  2. psql: Refactor ProcessResult()

  3. psql: Refactor SendQuery()

  4. psql: Add test for psql behavior on server crash

  5. psql: Additional tests

  6. Improve some psql test code

  7. psql: Fix some scan-build warnings

  8. psql: Add test for handling of replication commands

  9. psql: More tests

  10. psql: Add various tests

  11. psql: Add test for query canceling

  12. Revert "psql: Show all query results by default"

  13. Extend a test case a little