Обсуждение: Tab completion for CREATE TABLE ... AS
Hi, Look like the tab completion for CREATE TABLE ... AS is not proposed. gilles=# CREATE TABLE test ( OF PARTITION OF The attached patch fix that and also propose the further completion after the AS keyword. gilles=# CREATE TABLE test ( AS OF PARTITION OF gilles=# CREATE TABLE test AS SELECT WITH Adding the patch to current commitfest. Best regards, -- Gilles Darold http://www.darold.net/
Вложения
Hi On 02.11.23 17:27, Gilles Darold wrote: > Hi, > > > Look like the tab completion for CREATE TABLE ... AS is not proposed. > > > gilles=# CREATE TABLE test > ( OF PARTITION OF > > The attached patch fix that and also propose the further completion > after the AS keyword. > > > gilles=# CREATE TABLE test > ( AS OF PARTITION OF > gilles=# CREATE TABLE test AS > SELECT WITH > > Adding the patch to current commitfest. > > > Best regards, > Thanks for the patch! It applies and builds cleanly, and it works as expected "AS" is suggested after "CREATE TABLE t": postgres=# CREATE TABLE t <TAB><TAB> ( AS OF PARTITION OF -- Jim
On Thu, Nov 02, 2023 at 07:27:02PM +0300, Gilles Darold wrote:
> Look like the tab completion for CREATE TABLE ... AS is not
> proposed.
>
> + /* Complete CREATE TABLE <name> AS with list of keywords */
> + else if (TailMatches("CREATE", "TABLE", MatchAny, "AS") ||
> + TailMatches("CREATE", "TEMP|TEMPORARY|UNLOGGED", "TABLE", MatchAny, "AS"))
> + COMPLETE_WITH("SELECT", "WITH");
There is a bit more than SELECT and WITH as possible query for a CTAS.
How about VALUES, TABLE or even EXECUTE (itself able to handle a
SELECT, TABLE or VALUES)?
--
Michael
Вложения
Le 15/11/2023 à 03:58, Michael Paquier a écrit :
> On Thu, Nov 02, 2023 at 07:27:02PM +0300, Gilles Darold wrote:
>> Look like the tab completion for CREATE TABLE ... AS is not
>> proposed.
>>
>> + /* Complete CREATE TABLE <name> AS with list of keywords */
>> + else if (TailMatches("CREATE", "TABLE", MatchAny, "AS") ||
>> + TailMatches("CREATE", "TEMP|TEMPORARY|UNLOGGED", "TABLE", MatchAny, "AS"))
>> + COMPLETE_WITH("SELECT", "WITH");
> There is a bit more than SELECT and WITH as possible query for a CTAS.
> How about VALUES, TABLE or even EXECUTE (itself able to handle a
> SELECT, TABLE or VALUES)?
> --
> Michael
Right, I don't know how I have missed the sql-createtableas page in the
documentation.
Patched v2 fixes the keyword list, I have also sorted by alphabetical
order the CREATE TABLE completion (AS was at the end of the list).
It has also been re-based on current master.
--
Gilles Darold
http://www.darold.net/
Вложения
On Wed, Nov 15, 2023 at 05:26:58PM +0300, Gilles Darold wrote: > Right, I don't know how I have missed the sql-createtableas page in the > documentation. > > Patched v2 fixes the keyword list, I have also sorted by alphabetical order > the CREATE TABLE completion (AS was at the end of the list). > > It has also been re-based on current master. Fun. It has failed to apply here. Anyway, I can see that a comment update has been forgotten. A second thing is that it requires two more lines to add the query keywords for the case where a CTAS has a list of column names. I've added both changes, and applied the patch on HEAD. That's not all the patterns possible, but this covers the most useful ones. -- Michael