Thread
-
psql tab-completion for new syntax
Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp> — 2010-02-10T02:07:53Z
We've added some new syntax in HEAD, but psql tab-completion is out of sync. Here is a patch to support the following syntax in tab-completion: - top-level DO - ALTER TABLE/INDEX/TABLESPACE SET/RESET with options - ALTER TABLE ALTER COLUMN SET/RESET with options - CREATE TRIGGER with events The fix is not a stopper to alpha release, but I'd like to add it before beta release. Comments welcome. Regards, --- Takahiro Itagaki NTT Open Source Software Center -
Re: psql tab-completion for new syntax
Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp> — 2010-02-16T05:24:41Z
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