Re: psql: show only failed queries - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: psql: show only failed queries
Date
Msg-id CAHGQGwGxosd5kqk2td3RPrG+VLULbrgohY1h2AWsTNA9MYQQzQ@mail.gmail.com
Whole thread Raw
In response to Re: psql: show only failed queries  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: psql: show only failed queries
List pgsql-hackers
On Sat, Aug 9, 2014 at 4:16 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> Hi
>
>
> 2014-08-08 13:58 GMT+02:00 Fujii Masao <masao.fujii@gmail.com>:
>
>> On Fri, Aug 8, 2014 at 4:31 AM, Pavel Stehule <pavel.stehule@gmail.com>
>> wrote:
>> >
>> >
>> >
>> > 2014-08-07 7:10 GMT+02:00 Fujii Masao <masao.fujii@gmail.com>:
>> >
>> >> On Thu, Aug 7, 2014 at 6:26 AM, Pavel Stehule <pavel.stehule@gmail.com>
>> >> wrote:
>> >> > Hello
>> >> >
>> >> > updated version patch in attachment
>> >>
>> >> Thanks! But ISTM you forgot to attached the patch.
>> >
>> >
>> > grr .. I am sorry
>>
>> No problem. Thanks for the patch! Attached is the revised version of the
>> patch.
>>
>> >> >> +    /* all psql known variables are included in list by default */
>> >> >> +    for (known_varname = known_varnames; *known_varname;
>> >> >> known_varname++)
>> >> >> +        varnames[nvars++] = pg_strdup(*known_varname);
>> >> >>
>> >> >> Don't we need to append both prefix and suffix to even known
>> >> >> variables?
>> >> >
>> >> >
>> >> > ??? I am not sure if I understand well - probably system "read only"
>> >> > variables as DBNAME, USER, VERSION should not be there
>> >>
>> >> I had that question because complete_from_variables() is also called by
>> >> the
>> >> tab-completion of "\echo :" and it shows half-baked variables list. So
>> >> I thought probably we need to change complete_from_variables() more to
>> >> fix the problem.
>> >
>> >
>> > I understand now.
>> >
>> > I fixed it.
>> >
>> > I have a question.\echo probably should not to show empty known
>> > variable.
>> >
>> > data for autocomplete for \echo should be same as result of "\set"
>>
>> Agreed. I think that only the variables having the set values should be
>> displayed in "\echo :" case. So I modified complete_from_variables()
>> so that the unset variables are not shown in that case but all the
>> variables
>> are shown in the tab-completion of "\set".
>>
>> >> >> +    else if (strcmp(prev2_wd, "\\set") == 0)
>> >> >> +    {
>> >> >> +        if (strcmp(prev_wd, "AUTOCOMMIT") == 0)
>> >> >>
>> >> >> ISTM that some psql variables like IGNOREEOF are not there. Why not?
>> >> >
>> >> >
>> >> > yes, there are not complete for DBNAME, ENCODING, FETCH_COUNT,
>> >> > HISTCONTROL,
>> >> > HISTFILE, HISTSIZE, HOST, IGNOREEOFF, PROMPT*,USER,  VERSION
>> >> >
>> >> > There are more reasons:
>> >> >
>> >> > * paremeter is not a enum (string, number or both): FETCH_COUNT,
>> >> > PROMPT,
>> >> > HISTSIZE, ..
>> >> >
>> >> > * variable is pseudo read only  - change has not any effect: DBNAME,
>> >> > ENCODING, VERSION
>> >>
>> >> So HISTCONTROL should be there because it doesn't have such reasons at
>> >> all?
>> >>
>> >
>> > yes
>>
>> ISTM that you forgot to add HISTCONTROL to your patch. So I just added
>> that.
>>
>> I added the tab-completion for "\unset" command. Like "\echo :", only
>> the variables having the set values should be displayed in "\unset" case.
>
>
> perfect
>
>>
>>
>> I changed complete_from_variables() so that it checks the memory size of
>> the variable array even when appending the known variables. If the memory
>> size is not enough, it's dynamically increased. Practically this check
>> would
>> not be required because the initial size of the array is enough larger
>> than
>> the number of the known variables. I added this as the safe-guard.
>>
>> Typo: IGNOREEOFF -> IGNOREEOF
>>
>> I removed the value "none" from the value list of "ECHO" because it's not
>> documented and a user might get confused when he or she sees the
>> undocumented
>> value "none". Thought?
>
>
> isn't better to fix doc? I don't know any reason why we should not to
> support "none"

I'm OK with this. The attached patch adds the support of "none" value both
in ECHO and HISTCONTROL variables (because HISTCONTROL had the same
problem as ECHO had), and also adds the description of that value into
the document.

> I looked to code, you removed a check against duplicate varname in list. Is
> it ok?

Oh, just revived that code.

Regards,

--
Fujii Masao

Attachment

pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: [REVIEW] pg_last_xact_insert_timestamp
Next
From: geohas
Date:
Subject: ProcessUtilityHook DropStmt RenameStmt