psql - add SHOW_ALL_RESULTS option
От | Fabien COELHO |
---|---|
Тема | psql - add SHOW_ALL_RESULTS option |
Дата | |
Msg-id | alpine.DEB.2.21.1904132231510.8961@lancre обсуждение исходный текст |
Ответы |
RE: psql - add SHOW_ALL_RESULTS option
|
Список | pgsql-hackers |
Hello devs, The attached patch implements a new SHOW_ALL_RESULTS option for psql, which shows all results of a combined query (\;) instead of only the last one. This solves a frustration that intermediate results were hidden from view for no good reason that I could think of. For that, call PQsendQuery instead of (mostly not documented) PQexec, and rework how results are processed afterwards. Timing is moved to ProcessQueryResults to keep the last result handling out of the measured time. I think it would not be a big deal to include it, but this is the previous behavior. In passing, refactor a little and add comments. Make function names about results plural or singular consistently with the fact the it processes one or several results. Change "PrintQueryResult" to "HandleQueryResult" because it was not always printing something. Also add a HandleCopyResult function, which makes the patch a little bigger by moving things around but clarifies the code. Code in "common.c" is actually a little shorter than the previous version. From my point of view the code is clearer than before because there is only one loop over results, not an implicit one within PQexec and another one afterwards to handle copy. Add a few tests for the new feature. IMHO this new setting should be on by default: few people know about \; so it would not change anything for most, and I do not see why those who use it would not be interested by the results of all the queries they asked for. -- Fabien.
Вложения
В списке pgsql-hackers по дате отправления: