Skip site navigation (1) Skip section navigation (2)

Re: EXPLAIN doesn't show the actual function expression for FunctionScan

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: EXPLAIN doesn't show the actual function expression for FunctionScan
Date: 2010-08-24 16:06:34
Message-ID: 619.1282665994@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackers
I wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> If you try to put all that on the same line, I think it might get
>> awkwardly long.  Perhaps something like:

>> Function Scan on function_name
>> Expression: function_name(function_arg1, function_arg2, ...)

> Yeah, that's what I had in mind, but I'm still fumbling for the right
> label.  "Expression" seems a bit too generic.

How about "Function Call"?

A moment's hacking later:

regression=# explain verbose SELECT lv|| op|| rv FROM unnest(ARRAY[
        ROW('1.2.2'::semver,  '='::text, '1.2.2'::semver),
        ROW('1.2.23', '=', '1.2.23')
    ]) AS f(lv semver, op text, rv semver);
                                                           QUERY PLAN                                                           
--------------------------------------------------------------------------------------------------------------------------------
 Function Scan on pg_catalog.unnest f  (cost=0.00..1.50 rows=100 width=96)
   Output: (((lv)::text || op) || (rv)::text)
   Function Call: unnest(ARRAY[ROW(('1.2.2'::text)::semver, '='::text, ('1.2.2'::text)::semver), ROW('1.2.23', '=', '1.2.23')])
(3 rows)

Look reasonable?

			regards, tom lane

In response to

Responses

pgsql-hackers by date

Next:From: Tom LaneDate: 2010-08-24 16:27:20
Subject: Re: Typing Records
Previous:From: Alvaro HerreraDate: 2010-08-24 16:02:03
Subject: Re: EXPLAIN doesn't show the actual function expression for FunctionScan

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group