X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fgeneric-postgresql.lisp;h=4958eaa72b74eb9effd8e3bd693850efdacccf3b;hp=5e3e177fb9add4f5f2323b14030bf791d30bab11;hb=bc3cb0bc3161a02413f6df8611a60665348a762e;hpb=ba8e1b6858fbb883c69e6c09d37b1945878ccba3 diff --git a/sql/generic-postgresql.lisp b/sql/generic-postgresql.lisp index 5e3e177..4958eaa 100644 --- a/sql/generic-postgresql.lisp +++ b/sql/generic-postgresql.lisp @@ -77,8 +77,12 @@ (mapcar #'car (database-query (format nil + "SELECT relname FROM pg_class WHERE (relkind = '~A')~A" + #+nil (if (not (eq owner :all)) - " + ;; The below query fails on versions of postgresql + ;; (such as 7.4) that lack the pg_roles table + " SELECT c.relname FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_roles r ON r.oid = c.relowner @@ -87,7 +91,7 @@ AND n.nspname NOT IN ('pg_catalog', 'pg_toast') AND pg_catalog.pg_table_is_visible(c.oid) ~A" - "SELECT relname FROM pg_class WHERE (relkind = + "SELECT relname FROM pg_class WHERE (relkind = '~A')~A") type (owner-clause owner))