--- a/pgtoolkit/pgbrowser.py Mon Mar 05 18:36:46 2012 +0100
+++ b/pgtoolkit/pgbrowser.py Fri Mar 23 14:54:04 2012 +0100
@@ -260,7 +260,9 @@
def list_column_usage(self, table, column, schema='public'):
'''List objects using the column.
- These objects may block alteration of column. Currently only views are listed.
+ Currently shows views and constraints which use the column.
+
+ This is useful to find which views block alteration of column type etc.
'''
return self._query('''
@@ -268,5 +270,12 @@
'view' AS type, view_schema AS schema, view_name AS name
FROM information_schema.view_column_usage
WHERE table_schema=%(schema)s AND table_name=%(table)s AND column_name=%(column)s
+
+ UNION
+
+ SELECT
+ 'constraint' AS type, constraint_schema AS schema, constraint_name AS name
+ FROM information_schema.constraint_column_usage
+ WHERE table_schema=%(schema)s AND table_name=%(table)s AND column_name=%(column)s
''', {'schema':schema, 'table':table, 'column':column})