mirror of
https://github.com/postgres/postgres.git
synced 2025-07-23 03:21:12 +03:00
psql: Improve psql tab completion for GRANT/REVOKE on large objects.
This commit enhances psql's tab completion to support TO/FROM after "GRANT/REVOKE ... ON LARGE OBJECT ...". Additionally, since "ALTER DEFAULT PRIVILEGES" now supports large objects, tab completion is also updated for "GRANT/REVOKE ... ON LARGE OBJECTS" with TO/FROM. Author: Fujii Masao <masao.fujii@gmail.com> Reviewed-by: Yugo Nagata <nagata@sraoss.co.jp> Discussion: https://postgr.es/m/ade0ab29-777f-47f6-9d0d-1af67728a86e@oss.nttdata.com
This commit is contained in:
@ -4624,6 +4624,26 @@ match_previous_words(int pattern_id,
|
|||||||
COMPLETE_WITH("FROM");
|
COMPLETE_WITH("FROM");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Complete "GRANT/REVOKE * ON LARGE OBJECT *" with TO/FROM */
|
||||||
|
else if (TailMatches("GRANT|REVOKE", MatchAny, "ON", "LARGE", "OBJECT", MatchAny) ||
|
||||||
|
TailMatches("REVOKE", "GRANT", "OPTION", "FOR", MatchAny, "ON", "LARGE", "OBJECT", MatchAny))
|
||||||
|
{
|
||||||
|
if (TailMatches("GRANT", MatchAny, MatchAny, MatchAny, MatchAny, MatchAny))
|
||||||
|
COMPLETE_WITH("TO");
|
||||||
|
else
|
||||||
|
COMPLETE_WITH("FROM");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Complete "GRANT/REVOKE * ON LARGE OBJECTS" with TO/FROM */
|
||||||
|
else if (TailMatches("GRANT|REVOKE", MatchAny, "ON", "LARGE", "OBJECTS") ||
|
||||||
|
TailMatches("REVOKE", "GRANT", "OPTION", "FOR", MatchAny, "ON", "LARGE", "OBJECTS"))
|
||||||
|
{
|
||||||
|
if (TailMatches("GRANT", MatchAny, MatchAny, MatchAny, MatchAny))
|
||||||
|
COMPLETE_WITH("TO");
|
||||||
|
else
|
||||||
|
COMPLETE_WITH("FROM");
|
||||||
|
}
|
||||||
|
|
||||||
/* GROUP BY */
|
/* GROUP BY */
|
||||||
else if (TailMatches("FROM", MatchAny, "GROUP"))
|
else if (TailMatches("FROM", MatchAny, "GROUP"))
|
||||||
COMPLETE_WITH("BY");
|
COMPLETE_WITH("BY");
|
||||||
|
Reference in New Issue
Block a user