Thread: Feature improvement for FETCH tab completion
Hello! I’d like to improve the FETCH tab completion. The FETCH tab completion . Therefore, this patch fixes the problem. Previous function completed one of FORWARD, BACKWARD, RELATIVE, ABSOLUTE, but now it completes one of FORWARD, BACKWARD, RELATIVE, ABSOLUTE, ALL, NEXT, PRIOR, FIRST, LAST and Corresponded to later IN and FROM clauses. Regards, Naoki Nakamichi
Attachment
On 2020/09/25 14:24, btnakamichin wrote: > Hello! > > I’d like to improve the FETCH tab completion. > > The FETCH tab completion . Therefore, this patch fixes the problem. > > Previous function completed one of FORWARD, BACKWARD, RELATIVE, ABSOLUTE, but now it completes one of FORWARD, BACKWARD,RELATIVE, ABSOLUTE, ALL, NEXT, PRIOR, FIRST, LAST and Corresponded to later IN and FROM clauses. Thanks for the patch! Here are review comments. + /* Complete FETCH BACKWARD or FORWARD with one of ALL */ + else if (Matches("FETCH|MOVE", "BACKWARD|FORWARD")) + COMPLETE_WITH("ALL"); Not only "ALL" but also "FROM" and "IN" should be displayed here because they also can follow "BACKWARD" and "FORWARD"? else if (Matches("FETCH|MOVE", MatchAny, MatchAny)) + else if (Matches("FETCH|MOVE", "ABSOLUTE|BACKWARD|FORWARD|RELATIVE", MatchAny)) + COMPLETE_WITH("FROM", "IN"); This change seems to cause "FETCH FORWARD FROM <tab>" to display "FROM" and "IN". To avoid this confusing tab-completion, we should use something like MatchAnyExcept("FROM|IN") here, instead? Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION
2020-09-25 15:38 に Fujii Masao さんは書きました: > On 2020/09/25 14:24, btnakamichin wrote: >> Hello! >> >> I’d like to improve the FETCH tab completion. >> >> The FETCH tab completion . Therefore, this patch fixes the problem. >> >> Previous function completed one of FORWARD, BACKWARD, RELATIVE, >> ABSOLUTE, but now it completes one of FORWARD, BACKWARD, RELATIVE, >> ABSOLUTE, ALL, NEXT, PRIOR, FIRST, LAST and Corresponded to later IN >> and FROM clauses. > > Thanks for the patch! Here are review comments. > > + /* Complete FETCH BACKWARD or FORWARD with one of ALL */ > + else if (Matches("FETCH|MOVE", "BACKWARD|FORWARD")) > + COMPLETE_WITH("ALL"); > > Not only "ALL" but also "FROM" and "IN" should be displayed here > because they also can follow "BACKWARD" and "FORWARD"? > > else if (Matches("FETCH|MOVE", MatchAny, MatchAny)) > + else if (Matches("FETCH|MOVE", "ABSOLUTE|BACKWARD|FORWARD|RELATIVE", > MatchAny)) > + COMPLETE_WITH("FROM", "IN"); > > This change seems to cause "FETCH FORWARD FROM <tab>" to display "FROM" > and "IN". To avoid this confusing tab-completion, we should use > something like > MatchAnyExcept("FROM|IN") here, instead? > > Regards, I’m Sorry, I forgot to include pgsql_hackers in the cc, so I resend it Thank you, I appreciate your comment. I have attached patch with newline. Regards, NaokiNakamichi
Attachment
On 2020/09/25 17:21, btnakamichin wrote: > 2020-09-25 15:38 に Fujii Masao さんは書きました: >> On 2020/09/25 14:24, btnakamichin wrote: >>> Hello! >>> >>> I’d like to improve the FETCH tab completion. >>> >>> The FETCH tab completion . Therefore, this patch fixes the problem. >>> >>> Previous function completed one of FORWARD, BACKWARD, RELATIVE, ABSOLUTE, but now it completes one of FORWARD, BACKWARD,RELATIVE, ABSOLUTE, ALL, NEXT, PRIOR, FIRST, LAST and Corresponded to later IN and FROM clauses. >> >> Thanks for the patch! Here are review comments. >> >> + /* Complete FETCH BACKWARD or FORWARD with one of ALL */ >> + else if (Matches("FETCH|MOVE", "BACKWARD|FORWARD")) >> + COMPLETE_WITH("ALL"); >> >> Not only "ALL" but also "FROM" and "IN" should be displayed here >> because they also can follow "BACKWARD" and "FORWARD"? >> >> else if (Matches("FETCH|MOVE", MatchAny, MatchAny)) >> + else if (Matches("FETCH|MOVE", "ABSOLUTE|BACKWARD|FORWARD|RELATIVE", >> MatchAny)) >> + COMPLETE_WITH("FROM", "IN"); >> >> This change seems to cause "FETCH FORWARD FROM <tab>" to display "FROM" >> and "IN". To avoid this confusing tab-completion, we should use something like >> MatchAnyExcept("FROM|IN") here, instead? >> >> Regards, > > I’m Sorry, I forgot to include pgsql_hackers in the cc, so I resend it > > Thank you, I appreciate your comment. > > I have attached patch with newline. Thanks for updating the patch! The patch should include only the change of tab-complete for FETCH, but accidentally it also includes DEALLOCATE that's proposed by you in another thread. So I exclude DEALLOCATE part from the patch. Attached is the updated version of the patch. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION
Attachment
On 2020/09/25 21:46, Fujii Masao wrote: > > > On 2020/09/25 17:21, btnakamichin wrote: >> 2020-09-25 15:38 に Fujii Masao さんは書きました: >>> On 2020/09/25 14:24, btnakamichin wrote: >>>> Hello! >>>> >>>> I’d like to improve the FETCH tab completion. >>>> >>>> The FETCH tab completion . Therefore, this patch fixes the problem. >>>> >>>> Previous function completed one of FORWARD, BACKWARD, RELATIVE, ABSOLUTE, but now it completes one of FORWARD, BACKWARD,RELATIVE, ABSOLUTE, ALL, NEXT, PRIOR, FIRST, LAST and Corresponded to later IN and FROM clauses. >>> >>> Thanks for the patch! Here are review comments. >>> >>> + /* Complete FETCH BACKWARD or FORWARD with one of ALL */ >>> + else if (Matches("FETCH|MOVE", "BACKWARD|FORWARD")) >>> + COMPLETE_WITH("ALL"); >>> >>> Not only "ALL" but also "FROM" and "IN" should be displayed here >>> because they also can follow "BACKWARD" and "FORWARD"? >>> >>> else if (Matches("FETCH|MOVE", MatchAny, MatchAny)) >>> + else if (Matches("FETCH|MOVE", "ABSOLUTE|BACKWARD|FORWARD|RELATIVE", >>> MatchAny)) >>> + COMPLETE_WITH("FROM", "IN"); >>> >>> This change seems to cause "FETCH FORWARD FROM <tab>" to display "FROM" >>> and "IN". To avoid this confusing tab-completion, we should use something like >>> MatchAnyExcept("FROM|IN") here, instead? >>> >>> Regards, >> >> I’m Sorry, I forgot to include pgsql_hackers in the cc, so I resend it >> >> Thank you, I appreciate your comment. >> >> I have attached patch with newline. > > Thanks for updating the patch! > > The patch should include only the change of tab-complete for FETCH, > but accidentally it also includes DEALLOCATE that's proposed by you > in another thread. So I exclude DEALLOCATE part from the patch. > Attached is the updated version of the patch. Pushed. Thanks! Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION