Re: deparsing utility commands - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: deparsing utility commands
Date
Msg-id 20150409161419.GC4369@alvh.no-ip.org
Whole thread Raw
In response to Re: deparsing utility commands  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: deparsing utility commands
Re: deparsing utility commands
Re: deparsing utility commands
List pgsql-hackers
Alvaro Herrera wrote:
> Executive summary:
>
> There is now a CommandDeparse_hook;
> deparse_utility_command is provided as an extension, intended for 9.6;
> rest of patch would be pushed to 9.5.

Actually here's another approach I like better: use a new pseudotype,
pg_ddl_command, which internally is just a pointer to a CollectedCommand
struct.  We cannot give access to the pointer directly in SQL, so much
like type internal or pg_node_tree the in/out functions should just
error out.  But the type can be returned as a column in
pg_event_trigger_ddl_command.  An extension can create a function that
receives that type as argument, and return a different representation of
the command; the third patch creates a function ddl_deparse_to_json()
which does that.

You can have as many extensions as you want, and your event triggers can
use the column as many times as necessary.  This removes the limitation
of the previous approach that you could only have a single extension
providing a CommandDeparse_hook function.

This patch applies cleanly on top of current master.  You need to
install the extension with "CREATE EXTENSION ddl_deparse" after building
it in contrib.

Note: the extension is NOT to be committed to core, only the first two
patches; that will give us more room to revisit the JSON representation
more promptly.  My intention is that the extension will be published
elsewhere.

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment

pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: FPW compression leaks information
Next
From: Sawada Masahiko
Date:
Subject: Re: Proposal : REINDEX xxx VERBOSE