HI! I noticed an issue on tab completion with LARGE OBJECT support. I am aware that tab complete support need not to be always-correct, but this cases are simple, so decided to fix.
The psql tab completion for COMMENT ON and SECURITY LABEL ON suggests
"IS" immediately after "LARGE OBJECT", this produces invalid SQL:
=# COMMENT ON LARGE OBJECT <TAB>
-- now COMMENT ON LARGE OBJECT IS
The same bug exists for SECURITY LABEL. SEC LABEL also missed EVENT
TRIGGER/ FOREIGN TABLE/MATERIALIZED VIEW cases.
Same bug was fixed for GRANT/REVOKE in ff0bcb248e6.
Quick sum up:
Before:
COMMENT ON LARGE OBJECT <TAB> → IS (invalid SQL)
SECURITY LABEL ON LARGE OBJECT <TAB> → IS (invalid SQL)
SECURITY LABEL ON EVENT TRIGGER <TAB> → IS (invalid SQL)
SECURITY LABEL ON FOREIGN TABLE <TAB> → IS (invalid SQL)
SECURITY LABEL ON MATERIALIZED VIEW <TAB> → IS (invalid SQL)
After:
COMMENT ON LARGE OBJECT <TAB> → OID list (correct)
SECURITY LABEL ON LARGE OBJECT <TAB> → OID list (correct)
SECURITY LABEL ON EVENT TRIGGER <TAB> → trigger name list (correct)
SECURITY LABEL ON FOREIGN TABLE <TAB> → foreign table list (correct)
SECURITY LABEL ON MATERIALIZED VIEW <TAB> → matview list (correct)
--
Best regards,
Kirill Reshke
v1-0001-psql-Fix-tab-completion-for-COMMENT-SECURITY-LABE.patch
Description: Binary data
