On 2022-09-09 11:18, bt22kawamotok wrote:
I created a patch for improving MARGE tab completion.
Currently there is a problem with "MERGE INTO dst as d Using src as s
ON d.key = s.key WHEN <tab>" is typed, "MATCHED" and "NOT MATCHED" is
not completed.
There is also a problem that typing "MERGE INTO a AS <tab>" completes
"USING".
This patch solves the above problems.
Thanks for the patch!
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?
--
Regards,
--
Shinya Kato
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION