On 2025/07/10 10:30, Yugo Nagata wrote:
> You're right. I must have overlooked something. I think I saw "TO" being
> suggested after "FOREIGN SERVER" when no foreign servers were defined.
>
> The attached patch still prevents "TO/FROM" from being suggested after
> "FOREIGN SERVER" in such cases.
Thanks for updating the patch!
Based on your patch, I'm thinking of simplifying the code like this:
- else if (Matches("GRANT", MatchAnyN, "ON", MatchAny, MatchAny))
- COMPLETE_WITH("TO");
- else if (Matches("REVOKE", MatchAnyN, "ON", MatchAny, MatchAny))
- COMPLETE_WITH("FROM");
+ else if (Matches("GRANT|REVOKE", MatchAnyN, "ON", MatchAny, MatchAny) &&
+ !TailMatches("FOREIGN", "SERVER") && !TailMatches("LARGE", "OBJECT"))
+ {
+ if (Matches("GRANT", MatchAnyN, "ON", MatchAny, MatchAny))
+ COMPLETE_WITH("TO");
+ else
+ COMPLETE_WITH("FROM");
+ }
> But perhaps this corner case doesn't really
> need to be handled?
Probably I failed to get your point here. Could you clarify what you meant?
Regards,
--
Fujii Masao
NTT DATA Japan Corporation