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

Attachment: v1-0001-psql-Fix-tab-completion-for-COMMENT-SECURITY-LABE.patch
Description: Binary data

Reply via email to