On Friday, December 02, 2011 03:09:55 AM Tom Lane wrote: > Andres Freund <and...@anarazel.de> writes: > > On Thursday, December 01, 2011 07:21:25 PM Tom Lane wrote: > >> Making this work cleanly would be a bigger deal than I think you're > >> thinking. > > > > Obviously that depends on the definition of clean... > > > > Changing the grammar to make that explicit seems to involve a bit too > > many changes on a first glance. The cheap way out seems to be to make > > the decision in analyze.c:transformQuery. > > Would that be an acceptable way forward? > > ITYM transformStmt, but yeah, somewhere around there is probably > reasonable. The way I'm imagining this would work is that IntoClause > disappears from Query altogether: analyze.c would build a utility > statement > CreateTableAs, pull the IntoClause out of the SelectStmt structure and > put it into the utility statement, and then proceed much as we do for > ExplainStmt (and for the same reasons). Ok. Because my book turned out to be boring I started looking at this. I wonder if wouldn't be better to do check in directly in raw_parser(). The advantage would be that that magically would fix the issue of not logging CTAS/select when using log_statement = ddl and we don't need a snapshot or such so that shouldn't be a problem.
Any arguments against doing so? Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers