Prev: [HACKERS] libpq PGresult object and encoding
Next: [HACKERS] ToDo: plpgsql plugin for query and expression verification
From: Takahiro Itagaki on 16 Feb 2010 00:24 Here is a patch to support new syntax in psql tab completion and fix bugs to complete after an open parenthesis. Supported additonal syntax are: - ALTER TABLE/INDEX/TABLESPACE SET/RESET with options - ALTER TABLE ALTER COLUMN SET/RESET with options - ALTER TABLE ALTER COLUMN SET STORAGE - CREATE TRIGGER with events - CREATE INDEX CONCURRENTLY - CREATE INDEX ON (without name) - CREATE INDEX ... USING with pg_am.amname instead of hard-corded names. Fixes bugs are: Bug 1: Double parenthesis =# INSERT INTO pgbench_history VALUES (<TAB> =# INSERT INTO pgbench_history VALUES (( <= wrong Bug 2: We cannot complete words if no whitespaces around a parenthesis. =# CREATE INDEX idx ON pgbench_history( <TAB> ^ no whitespace here Bug 3: should be completed with "(" before columns. =# CREATE INDEX foo ON pgbench_accounts USING BTREE <TAB> abalance aid bid filler <= wrong, should be "(" I adjusted previous_word() to split words not only with spaces but also with non-alphabets, and removed a hack with find_open_parenthesis(). Comments? Regards, --- Takahiro Itagaki NTT Open Source Software Center |