r11016: * sql/generic-postgresql.lisp: Revert patch from Joel Reymont since
authorKevin M. Rosenberg <kevin@rosenberg.net>
Sat, 12 Aug 2006 20:07:34 +0000 (20:07 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Sat, 12 Aug 2006 20:07:34 +0000 (20:07 +0000)
        it fails on versions of postgresql that lack the pg_role table

ChangeLog
sql/generic-postgresql.lisp

index 65d2952689463b4e996649168b2156c2ecf3de33..c7394da352976a4e822863479565178675269097 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,8 @@
        as name candidates.
        * db-odbc/odbc-api.lisp: Work-around Allegro/Windows FFI bug
        that generates incorrect integer return type
        as name candidates.
        * db-odbc/odbc-api.lisp: Work-around Allegro/Windows FFI bug
        that generates incorrect integer return type
+       * sql/generic-postgresql.lisp: Revert patch from Joel Reymont since
+       it fails on versions of postgresql that lack the pg_role table
        
 07 Jul 2006  Kevin Rosenberg <kevin@rosenberg.net>
        * Version 3.6.3
        
 07 Jul 2006  Kevin Rosenberg <kevin@rosenberg.net>
        * Version 3.6.3
index 5e3e177fb9add4f5f2323b14030bf791d30bab11..4958eaa72b74eb9effd8e3bd693850efdacccf3b 100644 (file)
   (mapcar #'car
          (database-query
           (format nil
   (mapcar #'car
          (database-query
           (format nil
+                  "SELECT relname FROM pg_class WHERE (relkind = '~A')~A"
+                   #+nil
                    (if (not (eq owner :all))
                    (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
  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"
        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))
 '~A')~A")
                   type
                   (owner-clause owner))