2014-08-11 14:59 GMT+02:00 Fujii Masao <masao.fu...@gmail.com>: > On Sat, Aug 9, 2014 at 4:16 AM, Pavel Stehule <pavel.steh...@gmail.com> > wrote: > > Hi > > > > > > 2014-08-08 13:58 GMT+02:00 Fujii Masao <masao.fu...@gmail.com>: > > > >> On Fri, Aug 8, 2014 at 4:31 AM, Pavel Stehule <pavel.steh...@gmail.com> > >> wrote: > >> > > >> > > >> > > >> > 2014-08-07 7:10 GMT+02:00 Fujii Masao <masao.fu...@gmail.com>: > >> > > >> >> On Thu, Aug 7, 2014 at 6:26 AM, Pavel Stehule < > pavel.steh...@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. >
yes, It is looking well regards Pavel > > Regards, > > -- > Fujii Masao >