Обсуждение: system info functions
(1) The docs claim that pg_get_viewdef() returns the "CREATE VIEW
command for view", but that is clearly not the case:
postgres=# create view v1 as select 1;
CREATE VIEW
postgres=# select pg_get_viewdef('v1'::regclass::oid);pg_get_viewdef
----------------SELECT 1;
(1 row)
Should we change the documentation, or the implementation of
pg_get_viewdef()?
(2) pg_get_indexdef() and pg_get_triggerdef() don't include a
terminating semi-colon, but pg_get_ruledef() does (as does the SELECT
statement returned by pg_get_viewdef()). Is there a good reason for this
inconsistency?
-Neil
> -----Original Message-----
> From: pgsql-hackers-owner@postgresql.org
> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Neil Conway
> Sent: 04 July 2006 05:53
> To: pgsql-hackers@postgresql.org
> Subject: [HACKERS] system info functions
>
> (1) The docs claim that pg_get_viewdef() returns the "CREATE VIEW
> command for view", but that is clearly not the case:
>
> postgres=# create view v1 as select 1;
> CREATE VIEW
> postgres=# select pg_get_viewdef('v1'::regclass::oid);
> pg_get_viewdef
> ----------------
> SELECT 1;
> (1 row)
>
> Should we change the documentation, or the implementation of
> pg_get_viewdef()?
Documentation, unless we want to break apps that use the function.
Regards, Dave.
"Dave Page" <dpage@vale-housing.co.uk> writes:
>> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Neil Conway
>> Should we change the documentation, or the implementation of
>> pg_get_viewdef()?
> Documentation, unless we want to break apps that use the function.
... such as pg_dump.
regards, tom lane
On Jul 4, 2006, at 3:35 AM, Dave Page wrote:
>> -----Original Message-----
>> From: pgsql-hackers-owner@postgresql.org
>> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Neil Conway
>> Sent: 04 July 2006 05:53
>> To: pgsql-hackers@postgresql.org
>> Subject: [HACKERS] system info functions
>>
>> (1) The docs claim that pg_get_viewdef() returns the "CREATE VIEW
>> command for view", but that is clearly not the case:
>>
>> postgres=# create view v1 as select 1;
>> CREATE VIEW
>> postgres=# select pg_get_viewdef('v1'::regclass::oid);
>> pg_get_viewdef
>> ----------------
>> SELECT 1;
>> (1 row)
>>
>> Should we change the documentation, or the implementation of
>> pg_get_viewdef()?
>
> Documentation, unless we want to break apps that use the function.
Though, it would be nice to get everything into a consistent state.
Since some get_*def commands have to return the create statements, we
should probably move everything in that direction (or have two sets
of functions, but that seems rather overblown...).
--
Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461