;;;; Programmers: Kevin M. Rosenberg and onShore Development Inc
;;;; Date Started: Mar 2002
;;;;
-;;;; $Id: postgresql-usql.cl,v 1.1 2002/04/01 05:27:55 kevin Exp $
+;;;; $Id: postgresql-usql.cl,v 1.5 2002/06/12 17:47:13 kevin Exp $
;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;; and by onShore Development Inc.
-(defmethod database-list-attributes (table (database postgresql-database))
- (let* ((relname (etypecase table
- (clsql::sql-ident
- (string-downcase
- (symbol-name (slot-value table 'clsql::name))))
- (string table)))
- (result
+(defmethod database-list-attributes ((table string)
+ (database postgresql-database))
+ (let* ((result
(mapcar #'car
(database-query
(format nil
- "SELECT attname FROM pg_class,pg_attribute WHERE pg_class.oid=attrelid AND relname='~A'" relname)
+ "SELECT attname FROM pg_class,pg_attribute WHERE pg_class.oid=attrelid AND relname='~A'" table)
database nil))))
(if result
(reverse
"tableoid") :test #'equal))
result)))))
-(defmethod database-attribute-type (attribute table
+(defmethod database-attribute-type (attribute (table string)
(database postgresql-database))
(let ((result
(mapcar #'car
(concatenate 'string "SELECT NEXTVAL ('" (sql-escape sequence-name) "')")
database nil))))
+;; Functions depending upon high-level USQL classes/functions
+
+#|
(defmethod database-output-sql ((expr clsql-sys::sql-typecast-exp)
(database postgresql-database))
(with-slots (clsql-sys::modifier clsql-sys::components)
(defmethod database-output-sql-as-type ((type (eql 'integer)) val
(database postgresql-database))
- ;; typecast it so it uses the indexes
- (when val
+ (when val ;; typecast it so it uses the indexes
(make-instance 'clsql-sys::sql-typecast-exp
:modifier 'int8
:components val)))
+|#