Thread

Commits

  1. psql: Add some completion support for CREATE TABLE .. AS

  1. Tab completion for CREATE TABLE ... AS

    Gilles DAROLD <gilles@darold.net> — 2023-11-02T16:27:02Z

    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/
    
  2. Re: Tab completion for CREATE TABLE ... AS

    Jim Jones <jim.jones@uni-muenster.de> — 2023-11-10T07:53:31Z

    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
    
    
    
    
    
  3. Re: Tab completion for CREATE TABLE ... AS

    Michael Paquier <michael@paquier.xyz> — 2023-11-15T00:58:10Z

    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
    
  4. Re: Tab completion for CREATE TABLE ... AS

    Gilles DAROLD <gilles@darold.net> — 2023-11-15T14:26:58Z

    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/
    
  5. Re: Tab completion for CREATE TABLE ... AS

    Michael Paquier <michael@paquier.xyz> — 2023-11-16T00:46:08Z

    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