On Mon, 2011-12-12 at 14:01 -0500, Rick Dicaire wrote:
> Hi folks, I'm generating a dependents report on a db user, I highlight
> the user as shown in Login Roles, right click -> reports -> Dependents
> Report,
> but I see the "Include the SQL in the report" checkbox greyed out (a
> checkmark shows in it) in the dialog box.
> 
> Resultant report doesn't have the sql statement in it. I've tried both
> xhtml and xml output.
> 
> I'm trying to see what sql statement is used to generate this report.
> 

It's something like the SQL in the file I attached. I hope I didn't
change by mistake while cleaning it. If it doesn't work, take a look at
the file pgadmin/schema/pgObject.cpp (two functions ShowDependents, and
ShowDependencies).


-- 
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, ad.adsrc,
       CASE WHEN cl.relkind IS NOT NULL THEN cl.relkind || COALESCE(dep.objsubid::text, '')
            WHEN tg.oid IS NOT NULL THEN 'T'::text
            WHEN ty.oid IS NOT NULL THEN 'y'::text
            WHEN ns.oid IS NOT NULL THEN 'n'::text
            WHEN pr.oid IS NOT NULL THEN 'p'::text
            WHEN la.oid IS NOT NULL THEN 'l'::text
            WHEN rw.oid IS NOT NULL THEN 'R'::text
            WHEN co.oid IS NOT NULL THEN 'C'::text || contype
            WHEN ad.oid IS NOT NULL THEN 'A'::text
            ELSE '' END AS type,
       COALESCE(coc.relname, clrw.relname) AS ownertable,
       CASE WHEN cl.relname IS NOT NULL
             AND att.attname IS NOT NULL
            THEN cl.relname || '.' || att.attname
            ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname,
                          ty.typname, la.lanname, rw.rulename, ns.nspname)
       END AS refname,
       COALESCE(nsc.nspname, nso.nspname, nsp.nspname,
                nst.nspname, nsrw.nspname) AS nspname
  FROM pg_depend dep
  LEFT JOIN pg_class cl ON dep.objid=cl.oid
  LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
  LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
  LEFT JOIN pg_proc pr ON dep.objid=pr.oid
  LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
  LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
  LEFT JOIN pg_type ty ON dep.objid=ty.oid
  LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
  LEFT JOIN pg_constraint co ON dep.objid=co.oid
  LEFT JOIN pg_class coc ON co.conrelid=coc.oid
  LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
  LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
  LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
  LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
  LEFT JOIN pg_language la ON dep.objid=la.oid
  LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
  LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
WHERE dep.refobjid=
AND classid IN (
  SELECT oid
  FROM pg_class
  WHERE relname IN ('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language',
                    'pg_proc', 'pg_rewrite', 'pg_namespace', 'pg_trigger',
                    'pg_type', 'pg_attrdef'))
ORDER BY classid, cl.relkind

-- 
Sent via pgadmin-support mailing list (pgadmin-support@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-support

Reply via email to