Re: ProjectSet

2018-08-02 Thread Oliver Kohll
Of course! Doh. On 2 August 2018 at 14:27:02, David Rowley (david.row...@2ndquadrant.com) wrote: postgres=# select proretset from pg_proc where proname = 'regexp_matches'; proretset --- t t (2 rows)

Re: ProjectSet

2018-08-02 Thread David Rowley
On 3 August 2018 at 01:16, Oliver Kohll wrote: > Ah thanks David, at least I know what it is now. I don't think I have any > set returning functions though will double check in case there's a joined > view that has one. Perhaps it could be the something to do with cross > product which similarly c

Re: ProjectSet

2018-08-02 Thread Oliver Kohll
iver Kohll wrote: > Is there an explanation of ProjectSet anywhere? Plan node types and what they each do are not very well documented outside of the source code. ProjectSet appears when the SELECT or ORDER BY clause of the query. They basically just execute the set-returning function(s) for eac

Re: ProjectSet

2018-08-02 Thread David Rowley
On 2 August 2018 at 21:17, Oliver Kohll wrote: > Is there an explanation of ProjectSet anywhere? Plan node types and what they each do are not very well documented outside of the source code. ProjectSet appears when the SELECT or ORDER BY clause of the query. They basically just execute the

ProjectSet

2018-08-02 Thread Oliver Kohll
Hi, I've just been running explain analyze on a slow query and came across something new to me - a node type of ProjectSet in the plan. What is that? The plan is here: https://explain.depesz.com/s/4rqA The query does a cross join of two tables to get every row in one combined with every r