Re: Fix command completion for CREATE TABEL ... AS - Mailing list pgsql-patches

From Tom Lane
Subject Re: Fix command completion for CREATE TABEL ... AS
Date
Msg-id 26860.1014499166@sss.pgh.pa.us
Whole thread Raw
In response to Re: Fix command completion for CREATE TABEL ... AS  (Fernando Nasser <fnasser@redhat.com>)
List pgsql-patches
Fernando Nasser <fnasser@redhat.com> writes:
> I have no problem with that.  I will be pleased to make SELECT...INTO
> generate a CreateAsStmt and it will also print CREATE.

Well, if you want to do that then there should be actual revisions to
the parsetree representation (viz, get rid of INTO), so as to make this
stuff cleaner instead of dirtier.  INTO is really quite messy right now,
since we have to cope with pulling what ought to be a top-level
construct out of a nested SelectStmt.  I would like to see CreateAs
be a separate statement construct having three fields: target table
name, optional column name list, and source SelectStmt (pointer to
a SELECT parsetree).  Then we could remove the INTO field from
SelectStmt and make the parsetree and parse analysis work cleaner.

However, right now this transformation is (effectively) done in
analyze.c, and I'm not sure whether it can be done as cleanly in
gram.y.  But do take a look at it ...

The alternative is to stick with the existing parsetree representation
and just tweak the command-tag-extraction code to look for an into
clause and print CREATE if so.

            regards, tom lane

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: stupid patch of pg_dumplo
Next
From: Bruce Momjian
Date:
Subject: Re: Makefile.aix patch for shlib's