Automated commit for upstream build of version 6.7.0
[clsql.git] / sql / base-classes.lisp
index 7ebbc5c..344e11c 100644 (file)
@@ -2,15 +2,13 @@
 ;;;; *************************************************************************
 ;;;; FILE IDENTIFICATION
 ;;;;
-;;;; Name:          classes.lisp
-;;;; Purpose:       Classes for High-level SQL interface
+;;;; Name:          base-classes.lisp
+;;;; Purpose:       Base classes for high-level SQL interface
 ;;;; Programmers:   Kevin M. Rosenberg based on
-;;;;                 original code by Pierre R. Mai 
+;;;;                 original code by Pierre R. Mai
 ;;;; Date Started:  Feb 2002
 ;;;;
-;;;; $Id$
-;;;;
-;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 by Kevin M. Rosenberg
+;;;; This file, part of CLSQL, is Copyright (c) 2002-2010 by Kevin M. Rosenberg
 ;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
 ;;;;
 ;;;; CLSQL users are granted the rights to distribute and use this software
   ((name :initform nil :initarg :name :reader database-name)
    (connection-spec :initform nil :initarg :connection-spec
                     :reader connection-spec
-                   :documentation "Require to use connection pool")
+                    :documentation "Required to use connection pool.")
    (database-type :initarg :database-type :initform :unknown
-                 :reader database-type)
+                  :reader database-type)
+   (encoding :initarg :encoding :initform nil
+             :documentation "External format character encoding.")
    (state :initform :closed :reader database-state)
+   (autocommit :initform t :accessor database-autocommit)
    (command-recording-stream :accessor command-recording-stream :initform nil)
    (result-recording-stream :accessor result-recording-stream :initform nil)
    (record-caches :accessor record-caches :initform nil)
@@ -36,9 +37,9 @@
    (transaction-level :initform 0 :accessor transaction-level)
    (transaction :initform nil :accessor transaction)
    (conn-pool :initform nil :initarg :conn-pool :accessor conn-pool)
-   (attribute-cache :initform (make-hash-table :size 100 :test 'equal) 
-                   :accessor attribute-cache
-                   :documentation "Internal cache of table attributes. It is keyed by table-name. Values
+   (attribute-cache :initform (make-hash-table :size 100 :test 'equal)
+                    :accessor attribute-cache
+                    :documentation "Internal cache of table attributes. It is keyed by table-name. Values
 are a list of ACTION specified for table and any cached value of list-attributes-types."))
   (:documentation
    "This class is the supertype of all databases handled by CLSQL."))
@@ -46,9 +47,11 @@ are a list of ACTION specified for table and any cached value of list-attributes
 (defmethod print-object ((object database) stream)
   (print-unreadable-object (object stream :type t :identity t)
     (format stream "~A ~A"
-           (if (slot-boundp object 'name)
-               (database-name object)
-             "<unbound>")
-           (database-state object))))
-
+            (if (slot-boundp object 'name)
+                (database-name object)
+              "<unbound>")
+            (database-state object)))
+  object)
 
+(setf (documentation 'database-name 'function)
+      "Returns the name of a database.")