aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interfaces/python/pg.py6
-rwxr-xr-xsrc/interfaces/python/tutorial/syscat.py3
2 files changed, 6 insertions, 3 deletions
diff --git a/src/interfaces/python/pg.py b/src/interfaces/python/pg.py
index d9d34d872c8..6a8d8ac78a2 100644
--- a/src/interfaces/python/pg.py
+++ b/src/interfaces/python/pg.py
@@ -69,7 +69,8 @@ class DB:
WHERE pg_class.oid = pg_attribute.attrelid AND
pg_class.oid = pg_index.indrelid AND
pg_index.indkey[0] = pg_attribute.attnum AND
- pg_index.indisprimary = 't'""").getresult():
+ pg_index.indisprimary = 't' AND
+ pg_attribute.attisdropped = 'f'""").getresult():
self.__pkeys__[rel] = att
# wrap query for debugging
@@ -111,7 +112,8 @@ class DB:
WHERE pg_class.relname = '%s' AND
pg_attribute.attnum > 0 AND
pg_attribute.attrelid = pg_class.oid AND
- pg_attribute.atttypid = pg_type.oid"""
+ pg_attribute.atttypid = pg_type.oid AND
+ pg_attribute.attisdropped = 'f'"""
l = {}
for attname, typname in self.db.query(query % cl).getresult():
diff --git a/src/interfaces/python/tutorial/syscat.py b/src/interfaces/python/tutorial/syscat.py
index f45d62470d0..1ab1d5840c2 100755
--- a/src/interfaces/python/tutorial/syscat.py
+++ b/src/interfaces/python/tutorial/syscat.py
@@ -37,7 +37,7 @@ def list_simple_ind(pgcnx):
FROM pg_class bc, pg_class ic, pg_index i, pg_attribute a
WHERE i.indrelid = bc.oid AND i.indexrelid = bc.oid
AND i.indkey[0] = a.attnum AND a.attrelid = bc.oid
- AND i.indproc = '0'::oid
+ AND i.indproc = '0'::oid AND a.attisdropped = 'f'
ORDER BY class_name, index_name, attname""")
return result
@@ -48,6 +48,7 @@ def list_all_attr(pgcnx):
WHERE c.relkind = 'r' and c.relname !~ '^pg_'
AND c.relname !~ '^Inv' and a.attnum > 0
AND a.attrelid = c.oid and a.atttypid = t.oid
+ AND a.attisdropped = 'f'
ORDER BY relname, attname""")
return result