(format nil "CHAR(~A)" (car args))
"VARCHAR"))
+(defmethod database-get-type-specifier ((type (eql 'tinyint)) args database
+ (db-type (eql :postgresql)))
+ (declare (ignore args database))
+ "INT2")
+
(defmethod database-get-type-specifier ((type (eql 'smallint)) args database
(db-type (eql :postgresql)))
(declare (ignore args database))
(declare (ignore args database))
"TIMESTAMP WITHOUT TIME ZONE")
+(defmethod database-get-type-specifier ((type (eql 'number)) args database
+ (db-type (eql :postgresql)))
+ (declare (ignore database db-type))
+ (cond
+ ((and (consp args) (= (length args) 2))
+ (format nil "NUMERIC(~D,~D)" (first args) (second args)))
+ ((and (consp args) (= (length args) 1))
+ (format nil "NUMERIC(~D)" (first args)))
+ (t
+ "NUMERIC")))
;;; Backend functions
(result
(mapcar #'car
(database-query
- (format nil "SELECT attname FROM pg_class,pg_attribute WHERE pg_class.oid=attrelid AND relname='~A'~A"
+ (format nil "SELECT attname FROM pg_class,pg_attribute WHERE pg_class.oid=attrelid AND attisdropped = FALSE AND relname='~A'~A"
(string-downcase table)
owner-clause)
database nil nil))))