X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=interfaces%2Fpostgresql%2Fpostgresql-usql.cl;h=3919dde261c560276b5349348b71bb7b198002dd;hb=42a951e9f7152e7c145958f4dfed41d4e865c9fd;hp=25eb696aaf10c8292313773812be87032eca7ffe;hpb=2359c743fa126e65514454a7996e025f139a8241;p=clsql.git diff --git a/interfaces/postgresql/postgresql-usql.cl b/interfaces/postgresql/postgresql-usql.cl index 25eb696..3919dde 100644 --- a/interfaces/postgresql/postgresql-usql.cl +++ b/interfaces/postgresql/postgresql-usql.cl @@ -7,7 +7,7 @@ ;;;; 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. @@ -33,17 +33,13 @@ -(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 @@ -57,7 +53,7 @@ "tableoid") :test #'equal)) result))))) -(defmethod database-attribute-type (attribute table +(defmethod database-attribute-type (attribute (table string) (database postgresql-database)) (let ((result (mapcar #'car @@ -88,6 +84,9 @@ (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) @@ -102,8 +101,8 @@ (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))) +|#