On Mon, Sep 26, 2011 at 5:03 PM, Andreas Karlsson <andr...@proxel.se> wrote: > Magnus's patch for adding tab completion of views to the TABLE statement > reminded me of a minor annoyance of mine -- that EXECUTE always completes > with "PROCEDURE" as if it would have been part of CREATE TRIGGER ... EXECUTE > even when it is the first word of the line.
+1 > Attached is a simple patch which adds completion of prepared statement names > to the EXECUTE statement. > > What could perhaps be added is that if you press tab again after completing > the prepared statement name you might want to see a single "(" appear. Did > not add that though since "EXECUTE foo();" is not valid syntax (while > "EXECUTE foo(1);" is) and I did not feel the extra lines of code to add a > query to check if the number of expected parameters is greater than 0 were > worth it. Yeah, that doesn't seem worth the trouble. The patch looks fine to me; it doesn't break the existing EXECUTE completion intended for CREATE TRIGGER and seems to work OK on a few examples I tried. I guess the only quibble I can see is that the two comment lines might be better written together, to mimic the neighboring comment styles, as in: /* EXECUTE */ /* must not match CREATE TRIGGER ... EXECUTE PROCEDURE */ else if ... Incidentally, I was wondering what the heck was up with a clause like this: else if (pg_strcasecmp(prev_wd, "EXECUTE") == 0 && pg_strcasecmp(prev2_wd, "EXECUTE") == 0) though that looks to be some strange quirk of previous_word()'s behavior. Josh -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers