X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fgeneric-postgresql.lisp;fp=sql%2Fgeneric-postgresql.lisp;h=5e3e177fb9add4f5f2323b14030bf791d30bab11;hp=aac16ddc85acad1727bca12b56ce0028ce44c056;hb=e8c000a120f978e464441838fe1576e6afc94d9d;hpb=7bf3b7c953c25ecd050257f0fb90cb8d3b145889 diff --git a/sql/generic-postgresql.lisp b/sql/generic-postgresql.lisp index aac16dd..5e3e177 100644 --- a/sql/generic-postgresql.lisp +++ b/sql/generic-postgresql.lisp @@ -77,7 +77,18 @@ (mapcar #'car (database-query (format nil - "SELECT relname FROM pg_class WHERE (relkind = '~A')~A" + (if (not (eq owner :all)) + " + SELECT c.relname + FROM pg_catalog.pg_class c + LEFT JOIN pg_catalog.pg_roles r ON r.oid = c.relowner + LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace + WHERE c.relkind IN ('~A','') + 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 = +'~A')~A") type (owner-clause owner)) database nil nil)))