Re: psql - factor out echo code
От | Fabien COELHO |
---|---|
Тема | Re: psql - factor out echo code |
Дата | |
Msg-id | alpine.DEB.2.22.394.2107022143380.2359988@pseudo обсуждение исходный текст |
Ответ на | Re: psql - factor out echo code (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: psql - factor out echo code
Re: psql - factor out echo code |
Список | pgsql-hackers |
Hello Tom, > I went to commit this, figuring that it was a trivial bit of code > consolidation, but as I looked around in common.c I got rather > unhappy with the inconsistent behavior of things. Examining > the various places that implement "echo"-related logic, we have > the three places this patch proposes to unify, which log queries > using > > fprintf(out, > _("********* QUERY **********\n" > "%s\n" > "**************************\n\n"), query); > > and then we have two more that just do > > puts(query); > > plus this: > > if (!OK && pset.echo == PSQL_ECHO_ERRORS) > pg_log_info("STATEMENT: %s", query); > > So it's exactly fifty-fifty as to whether we add all that decoration > or none at all. I think if we're going to touch this logic, we > ought to try to unify the behavior. +1. I did not go this way because I wanted it to be a simple restructuring patch so that it could go through without much ado, but I agree with improving the current status. I'm not sure we want too much ascii-art. > My vote would be to drop the decoration everywhere, but perhaps there > are votes not to? No, I'd be ok with removing the decoration, or at least simplify them, or as you suggest below make the have a useful semantics. > A different angle is that the identical decoration is used for both > psql-generated queries that are logged because of ECHO_HIDDEN, and > user-entered queries. This seems at best rather unhelpful. Indeed. > If we keep the decoration, should we make it different for those two > cases? (Maybe "INTERNAL QUERY" vs "QUERY", for example.) The cases > with no decoration likewise fall into multiple categories, both > user-entered and generated-by-gexec; if we were going with a decorated > approach I'd think it useful to make a distinction between those, too. > > Thoughts? Yes. Maybe decorations should be SQL comments, and the purpose/origin of the query could be made clear as you suggest, eg something like markdown in a comment: "-- # <whatever> QUERY\n%s\n\n" with <whatever> in USER DESCRIPTION COMPLETION GEXEC… -- Fabien.
В списке pgsql-hackers по дате отправления: