Re: pgAdmin 4 commit: Add classid filter to queries on pg_depend. Fixes #17 - Mailing list pgadmin-hackers

From Magnus Hagander
Subject Re: pgAdmin 4 commit: Add classid filter to queries on pg_depend. Fixes #17
Date
Msg-id CABUevEw+OG5-4mkt1YZ4GqoGRiJrT0Nm_m4XKWKqdzyYEg0dGQ@mail.gmail.com
Whole thread Raw
In response to pgAdmin 4 commit: Add classid filter to queries on pg_depend. Fixes #17  (Dave Page <dpage@pgadmin.org>)
List pgadmin-hackers
Thanks!

I'll push a backpatch of this to pgadmin3 as well, just in case somebody wants to build their own version even if there are no more official releases.

In working on this I also noticed that we fairly often use the construct of "(select oid from pg_class where relname=xxx)" instead of using "::regclass". This could cause issues if somebody creates a table with the same name in a different schema, for example. While not the highest priority, it might be a good idea to go over the queries and replace those patterns (and if we're doing that, it's probably not a bad idea to fully qualify them as well, as we don in psql). There's also a couple of cases where oid's are hardcoded, which is probably also a bad practice that needs to be taken care of.

//Magnus


On Fri, Sep 16, 2016 at 5:24 AM, Dave Page <dpage@pgadmin.org> wrote:
Add classid filter to queries on pg_depend. Fixes #1705

There are a number of cases where queries in both pgadmin4 and pgadmin3 are done against pg_depend but falis to constrain the query on classid.

In particular, if for example a constraint and a sequence exists with the same oid (which is perfectly valid, as they are in different tables), a column will suddenly refer sequences that are completely incorrect. When we look up sequences, we have to make sure we only match dependencies against pg_class.

Branch
------
master

Details
-------
http://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=ce20dbc25a393004c5249d946f9a85a691cacd48
Author: Magnus Hagander <magnus@hagander.net>

Modified Files
--------------
.../columns/templates/catalog_object_column/sql/9.1_plus/properties.sql | 2 +-
.../schemas/tables/templates/column/sql/9.1_plus/is_referenced.sql      | 1 +
.../databases/schemas/tables/templates/column/sql/9.1_plus/nodes.sql    | 2 +-
.../schemas/tables/templates/column/sql/9.1_plus/properties.sql         | 2 +-
.../schemas/tables/templates/column/sql/9.2_plus/is_referenced.sql      | 1 +
.../databases/schemas/tables/templates/column/sql/9.2_plus/nodes.sql    | 2 +-
.../schemas/tables/templates/column/sql/9.2_plus/properties.sql         | 2 +-
7 files changed, 7 insertions(+), 5 deletions(-)


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


pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: [pgAdmin4][Patch]: RM1592 - Download as CSV should be supported for DDL
Next
From: Magnus Hagander
Date:
Subject: pgAdmin III commit: Add classid filter to queries on pg_depend