pgtoolkit/pgbrowser.py
changeset 32 d59c473c9ad7
parent 31 c2e6e24b83d9
child 35 e7f79c4a27ce
--- 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})