Author: cito
Date: Tue Jan 12 07:27:13 2016
New Revision: 719
Log:
Better checks for system catalogs
Modified:
branches/4.x/pg.py
trunk/pg.py
Modified: branches/4.x/pg.py
==============================================================================
--- branches/4.x/pg.py Tue Jan 12 03:08:40 2016 (r718)
+++ branches/4.x/pg.py Tue Jan 12 07:27:13 2016 (r719)
@@ -590,7 +590,8 @@
" pg_attribute.attname FROM pg_class"
" JOIN pg_namespace"
" ON pg_namespace.oid = pg_class.relnamespace"
- " AND pg_namespace.nspname NOT LIKE 'pg_%'"
+ " AND pg_namespace.nspname"
+ " NOT SIMILAR TO 'pg/_%|information/_schema' ESCAPE '/'"
" JOIN pg_attribute ON pg_attribute.attrelid = pg_class.oid"
" AND pg_attribute.attisdropped = 'f'"
" JOIN pg_index ON pg_index.indrelid = pg_class.oid"
@@ -625,8 +626,8 @@
"SELECT pg_namespace.nspname, pg_class.relname"
" FROM pg_class "
" JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace "
- " WHERE %s pg_namespace.nspname != 'information_schema'"
- " AND pg_namespace.nspname !~ '^pg_' "
+ " WHERE %s pg_namespace.nspname"
+ " NOT SIMILAR TO 'pg/_%%|information/_schema' ESCAPE '/'"
" ORDER BY 1, 2" % where).getresult()]
def get_tables(self):
Modified: trunk/pg.py
==============================================================================
--- trunk/pg.py Tue Jan 12 03:08:40 2016 (r718)
+++ trunk/pg.py Tue Jan 12 07:27:13 2016 (r719)
@@ -591,7 +591,8 @@
" pg_attribute.attname FROM pg_class"
" JOIN pg_namespace"
" ON pg_namespace.oid = pg_class.relnamespace"
- " AND pg_namespace.nspname NOT LIKE 'pg_%'"
+ " AND pg_namespace.nspname"
+ " NOT SIMILAR TO 'pg/_%|information/_schema' ESCAPE '/'"
" JOIN pg_attribute ON pg_attribute.attrelid = pg_class.oid"
" AND NOT pg_attribute.attisdropped"
" JOIN pg_index ON pg_index.indrelid = pg_class.oid"
@@ -627,8 +628,8 @@
"SELECT pg_namespace.nspname, pg_class.relname"
" FROM pg_class "
" JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace "
- " WHERE %s pg_namespace.nspname != 'information_schema'"
- " AND pg_namespace.nspname !~ '^pg_' "
+ " WHERE %s pg_namespace.nspname"
+ " NOT SIMILAR TO 'pg/_%%|information/_schema' ESCAPE '/'"
" ORDER BY 1, 2" % where).getresult()]
def get_tables(self):
_______________________________________________
PyGreSQL mailing list
[email protected]
https://mail.vex.net/mailman/listinfo.cgi/pygresql