Re: pgadmin Bogus Varno: 3

Поиск
Список
Период
Сортировка
От Andreas Pflug
Тема Re: pgadmin Bogus Varno: 3
Дата
Msg-id 41E66711.9030009@pse-consulting.de
обсуждение исходный текст
Ответ на Re: pgadmin Bogus Varno: 3  (laurie.burrow@powerconv.alstom.com)
Список pgadmin-support
laurie.burrow@powerconv.alstom.com wrote:
> pgadmin@pse-consulting.de wrote
> 
> 
>>>SELECT c.oid, c.relname, pg_get_userbyid(c.relowner)
>>>AS viewowner, c.relacl, description, pg_get_viewdef(c.oid, true) AS
>>>definition
>>>  FROM pg_class c
>>>  LEFT OUTER JOIN pg_description des ON (des.objoid=c.oid and
>>>des.objsubid=0)
>>> WHERE ((c.relhasrules AND (EXISTS (
>>>           SELECT r.rulename FROM pg_rewrite r
>>>            WHERE ((r.ev_class = c.oid)
>>>              AND (bpchar(r.ev_type) = '1'::bpchar)) ))) OR (c.relkind
>>>= 'v'::char))
>>>   AND relnamespace = 2200::oid
>>> ORDER BY relname
>>> offset 0 limit 1
>>
>>Check this query again without OFFSET 0 LIMIT 1.
>>Use .... WHERE c.OID = 17391 instead.
>>I suspect that this will work, and you'll have to try which oid is the
>>offending one (binary search using WHERE c.OID BETWEEN ....).
> 
> 
> This did identify one view that caused the problem. When this view is
> dropped pgadmin works fine.
> 
> The view definition (as generated by Pgadmin 1.2.0 from Postgres 7.4.2)  is
> 
> CREATE OR REPLACE VIEW full_product_view AS
>  SELECT slimprdmgrrspperid AS _prd_slimprdmgrrspperid_,
> ( SELECT (rspper.lstnme::text || ' '::text) || rspper.frstnme::text
>            FROM rspper
>           WHERE rspper.rspperid = slimprdmgrrspperid) AS
> _prd_slimprdmgrrspperid_d,
> prdid AS _prd_prdid_, slimprdnmgnnmeid AS _prd_slimprdnmgnnmeid_,
> actvle AS _slimprdnmgnnmeid_gennme_actvle_, catnmeclssid AS
> _slimprdnmgnnmeid_gennme_catnmeclssid_
>    FROM prd
>    JOIN gennme ON gennme.gennmeid = prd.slimprdnmgnnmeid;
> 
> This SQL creates the view ok on both Postgres 7 and Postgres 8 in that it
> does not return an error and the resulting view seems to operate correctly
> on both versions of Postgres. Pgadmin 1.2.0 works fine with the Postgres 7
> but fails with Postgres 8.0.0.rc4.
> 
> The cause appears to be  the call to pg_get_viewdef(c.oid, false) which
> works correctly on Postgres 7 but generates the error Bogus Varno: 3 in
> Postgres 8. AFAICT the function is objecting to the scalar select.
> 
> Is this one for a pgsql-bugs or pgadmin-support?

This is one for pgsql-bugs. Apparently you can pinpoint the problem, 
please post a summary of it immediately to pgsql-bugs so it gets 
reviewed; maybe it can be fixed for pgsql8.0-gold.

Regards,
Andreas


В списке pgadmin-support по дате отправления:

Предыдущее
От: laurie.burrow@powerconv.alstom.com
Дата:
Сообщение: Re: pgadmin Bogus Varno: 3
Следующее
От: KÖPFERL Robert
Дата:
Сообщение: Bugs in PgadminIII 1.3.0 beta (7.1.05)