Alexander Korotkov <aekorotkov@gmail.com> writes:
> The proposed patch is attached. This patch is fixes two points:
> * Adds strategy number and purpose to output of \dAo
> * Renames "Left/right arg type" columns of \dAp to "Registered left/right type"
I think that \dAp should additionally be changed to print the
function via "oid::regprocedure", not just proname. A possible
compromise, if you think that's too wordy, is to do it that
way for "\dAp+" while printing plain proname for "\dAp".
BTW, isn't this:
" format ('%%s (%%s, %%s)',\n"
" CASE\n"
" WHEN pg_catalog.pg_operator_is_visible(op.oid) \n"
" THEN op.oprname::pg_catalog.text \n"
" ELSE o.amopopr::pg_catalog.regoper::pg_catalog.text \n"
" END,\n"
" pg_catalog.format_type(o.amoplefttype, NULL),\n"
" pg_catalog.format_type(o.amoprighttype, NULL)\n"
" ) AS \"%s\"\n,"
just an extremely painful way to duplicate the results of regoperator?
(You could likely remove the joins to pg_proc and pg_operator altogether
if you relied on regprocedure and regoperator casts.)
> I'm not yet convinced we should change the sort key for \dAo.
After playing with this more, I'm less worried about that than
I was. I think I was concerned that the operator name would
sort ahead of amopstrategy, but now I see that the op name isn't
part of the sort key at all.
BTW, these queries seem inadequately schema-qualified, notably
the format() calls.
regards, tom lane