Обсуждение: pgAdmin 4 commit: Add classid filter to queries on pg_depend. Fixes #17
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 constrainthe query on classid. In particular, if for example a constraint and a sequence exists with the same oid (which is perfectly valid, as they arein 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(-)
Re: pgAdmin 4 commit: Add classid filter to queries on pg_depend. Fixes #17
От
Magnus Hagander
Дата:
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= ce20dbc25a393004c5249d946f9a85 a691cacd48
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