Re: [HACKERS] a proposal for an extendable deparser

2009-03-02 Thread Tom Lane
Heikki Linnakangas writes: > Dave Gudeman wrote: >> I don't need to add new node types or add any syntax; it is the output that >> I'm concerned with. What I want is a way to print a tree according to some >> pretty strict rules. For example, I want a special syntax for function RTEs >> and I don'

Re: [HACKERS] a proposal for an extendable deparser

2009-03-02 Thread Heikki Linnakangas
Dave Gudeman wrote: I don't need to add new node types or add any syntax; it is the output that I'm concerned with. What I want is a way to print a tree according to some pretty strict rules. For example, I want a special syntax for function RTEs and I don't want the v::type notation to be output

Re: [HACKERS] a proposal for an extendable deparser

2009-02-26 Thread Dave Gudeman
I don't need to add new node types or add any syntax; it is the output that I'm concerned with. What I want is a way to print a tree according to some pretty strict rules. For example, I want a special syntax for function RTEs and I don't want the v::type notation to be output (the flag to turn it

Re: [HACKERS] a proposal for an extendable deparser

2009-02-26 Thread Tom Lane
Dave Gudeman writes: > I would replace this with a table-driven deparser: > deparse_table[nodeTag(node)](node, context); I don't actually see what this is going to buy for you. You didn't say exactly why ruleutils doesn't work for you, but reading between the lines suggests that you want

[HACKERS] a proposal for an extendable deparser

2009-02-26 Thread Dave Gudeman
While writing a shared-library extension for Postgres, I needed to output SQL expressions from trees. The only facility for doing that seems to be the deparse code in ruleutils.c, which is really intended for outputing rules and constraints, not for producing general SQL, so it didn't do quite what