Re: Command Triggers - Mailing list pgsql-hackers
From | Greg Smith |
---|---|
Subject | Re: Command Triggers |
Date | |
Msg-id | 4EEF4AB5.6030902@2ndQuadrant.com Whole thread Raw |
In response to | Re: Command Triggers (Robert Haas <robertmhaas@gmail.com>) |
Responses |
Re: Command Triggers
|
List | pgsql-hackers |
On 12/18/2011 09:02 PM, Robert Haas wrote: > If we're actually going to expose the parse tree, I think JSON > (or even XML) would be a far better way to expose that than the > existing nodeToString() output. Sure, you could make due with the > nodeToString() output for some things, especially in PL/perl or > PL/python. But JSON would be far better, since it's a standard format > rather than something we just made up, and could be used in PL/pgsql > as well, given proper support functions. That seems pretty sensible; I wouldn't want to make it a hard requirement though. There are three major ways this could go for 9.2: 1) Nothing is changed in core, the best that can be done is whatever you can cram into an extension. 2) 9.2 is released with Command Triggers using nodeToString() output as the detailed description. That part is labeled "experimental and the API is expected to change completely in the next release" 3) 9.2 gets enough JSON support to also have an early nodeToJSON API instead. Now it's labeled "early release and some API changes may be needed in future releases". From the perspective of enabling a developer community to spring up around working in this area, I don't see a huge difference between (2) and (3). We're going in a direction I don't think is very well explored yet, by anyone. The idea that we're going to learn enough to accumulate a comprehensive, stable API before release is rather optimistic. There's something to be said for Dimitri's suggested approach from the perspective of "ship it knowing it works for features A, B, then let's see what else the users think to do with it". We can't determine what feature complete looks like from what other people are doing anymore; only way to find out is to see what the world at large thinks of after release. Think of it as being like the EXPLAIN plan output. That shipped as just text, programs popped up to parse it anyway, they suffered some breaks with each new release. That was still a major win. Then, new easier to parse formats appeared, making the bar to entry for writing new such tool much lower. And the construction of a better API for output benefited from seeing what people had actually been struggling with before then. -- Greg Smith 2ndQuadrant US greg@2ndQuadrant.com Baltimore, MD PostgreSQL Training, Services, and 24x7 Support www.2ndQuadrant.us
pgsql-hackers by date: