Re: [PATCH] Tab completion for ALTER DATABASE … SET TABLESPACE
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
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-20T23:03:16Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes: > On 2018-09-20 18:38:36 -0400, Tom Lane wrote: >> 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 Doesn't seem to help for this case. What we really want is to expand a given pattern once for each variadic argument, and I don't see how to get there from here. Although maybe I'm thinking too much inside-the-box. The expansion doesn't necessarily have to be identical to the code the macros generate today. In fact, that code is kinda bulky. I wonder if we could go over to something involving a variadic function, or maybe an array of string-pointer constants? regards, tom lane
Commits
-
Get rid of explicit argument-count markings in tab-complete.c.
- 4f3b38fe2bde 12.0 landed
-
Fix psql's tab completion for ALTER DATABASE ... SET TABLESPACE.
- a7c4dad1a770 12.0 landed