Re: [PATCH]Feature improvement for MERGE tab completion

Shinya Kato <shinya11.kato@oss.nttdata.com>

From: Shinya Kato <Shinya11.Kato@oss.nttdata.com>
To: bt22kawamotok <bt22kawamotok@oss.nttdata.com>
Cc: pgsql-hackers@postgresql.org
Date: 2022-09-12T08:03:25Z
Lists: pgsql-hackers
On 2022-09-12 15:53, bt22kawamotok wrote:
>> 	else if (TailMatches("USING", MatchAny, "ON", MatchAny, "WHEN"))
>> 		COMPLETE_WITH("MATCHED", "NOT MATCHED");
>> 	else if (TailMatches("USING", MatchAny, "AS", MatchAny, "ON",
>> MatchAny, "WHEN"))
>> 		COMPLETE_WITH("MATCHED", "NOT MATCHED");
>> 	else if (TailMatches("USING", MatchAny, MatchAny, "ON", MatchAny, 
>> "WHEN"))
>> 		COMPLETE_WITH("MATCHED", "NOT MATCHED");
>> 
>> I thought it would be better to describe this section as follows,
>> summarizing the conditions
>> 
>> 	else if (TailMatches("USING", MatchAny, "ON", MatchAny, "WHEN") ||
>> 			 TailMatches("USING", MatchAny, "AS", MatchAny, "ON", MatchAny, 
>> "WHEN") ||
>> 			 TailMatches("USING", MatchAny, MatchAny, "ON", MatchAny, "WHEN"))
>> 		COMPLETE_WITH("MATCHED", "NOT MATCHED");
>> 
>> There are similar redundancies in the tab completion of MERGE
>> statement, so why not fix that as well?
> 
> Thanks for your review.
> 
> A new patch has been created to reflect the changes you indicated.

Thanks for updating!

Compile errors have occurred, so can you fix them?
And I think we can eliminate similar redundancies in MERGE tab 
completion and I would like you to fix them.

For example,

	else if (TailMatches("WHEN", "MATCHED"))
		COMPLETE_WITH("THEN", "AND");
	else if (TailMatches("WHEN", "NOT", "MATCHED"))
		COMPLETE_WITH("THEN", "AND");

above statement can be converted to the statement below.

	else if (TailMatches("WHEN", "MATCHED") ||
			 TailMatches("WHEN", "NOT", "MATCHED"))
		COMPLETE_WITH("THEN", "AND");


-- 
Regards,

--
Shinya Kato
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION



Commits

  1. Push lpp variable closer to usage in heapgetpage()

  2. psql: Improve tab-completion for MERGE.