Re: [PATCH] Tab completion for ALTER DATABASE … SET TABLESPACE

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Thomas Munro <thomas.munro@enterprisedb.com>, Arthur Zakirov <a.zakirov@postgrespro.ru>, Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-09-20T22:46:24Z
Lists: pgsql-hackers
On 2018-09-20 18:38:36 -0400, Tom Lane wrote:
> Thomas Munro <thomas.munro@enterprisedb.com> writes:
> > . o O ( hmm, we now have variadic macros )
> 
> hmmm ... but even with variadic, C's macro facility is so weak that
> I'm not sure we can reimplement these with it.  What would the
> expansion look like?

There's a dirty hack to count arguments in vararg macros:
https://groups.google.com/d/msg/comp.std.c/d-6Mj5Lko_s/5fW1bP6T3RIJ

Afaict that ought to be enough to implement something like the current
macros? Whether that's too ugly or not, I don't know.


> It constantly annoys me that C's so weak here.

Yea. Weak and fragile, both.


Greetings,

Andres Freund


Commits

  1. Get rid of explicit argument-count markings in tab-complete.c.

  2. Fix psql's tab completion for ALTER DATABASE ... SET TABLESPACE.