X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=base%2Fclasses.lisp;h=acae96b8c61640be1a67064802869f2f60f19afd;hp=7281f552b430458f73a31fa7c8b122b7477bdb54;hb=09f07ac9d914a83f9426609f3264f4e66b5a6d97;hpb=3ec4277531c7c19b1cffade823d3e2e3f928ceb3 diff --git a/base/classes.lisp b/base/classes.lisp index 7281f55..acae96b 100644 --- a/base/classes.lisp +++ b/base/classes.lisp @@ -18,7 +18,7 @@ ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. ;;;; ************************************************************************* -(in-package #:clsql-base-sys) +(in-package #:clsql-base) (defclass database () @@ -31,12 +31,16 @@ (state :initform :closed :reader database-state) (command-recording-stream :accessor command-recording-stream :initform nil) (result-recording-stream :accessor result-recording-stream :initform nil) - (query-recording-stream :accessor query-recording-stream :initform nil) + (record-caches :accessor record-caches :initform nil) (view-classes :accessor database-view-classes :initform nil) (schema :accessor database-schema :initform nil) (transaction-level :initform 0 :accessor transaction-level) (transaction :initform nil :accessor transaction) - (conn-pool :initform nil :initarg :conn-pool :accessor conn-pool)) + (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 +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.")) @@ -48,3 +52,4 @@ "") (database-state object)))) +