removed a bit of debugging code from database-list-tables
[clsql.git] / db-postgresql-socket3 / sql.lisp
index e2515005cb5cda828bd910484cb89d7d94e8dba2..7f545c80ee63eb4124ed9eb07ff9a53199286e8d 100644 (file)
 
 (defmethod read-sql-value (val (type (eql 'generalized-boolean)) (database postgresql-socket3-database) db-type)
   (declare (ignore database db-type))
-  val)
\ No newline at end of file
+  val)
+
+(defmethod clsql-sys::%table-exists-p (name (database postgresql-socket3-database) &key owner )
+  (unless database (setf database *default-database*))
+  (when (clsql:query (command-object "SELECT 1 FROM information_schema.tables WHERE table_name=$1 and ($2::text IS NULL or table_schema = $2::text)"
+                                    (list name owner))
+                    :flatp T
+                    :database database)
+    T))
+
+(defmethod database-list-tables ((database postgresql-socket3-database) &key owner)
+  (clsql:query (command-object "
+SELECT table_name FROM information_schema.tables
+                                WHERE ($1::Text IS NULL or table_schema = $1::text)"
+                              (list (or owner :null)))
+              :flatp T
+              :database database))