X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql%2Fmetaclasses.lisp;h=d6d92b85ce3595aef251d63779212c3fe69753b1;hb=9698f9b6d0f6439b7547d198bb9db95f61b20c5d;hp=b7b2e50b98f979927b5b6986ec4d760e5072905f;hpb=270e7b5d19d51c1a19d30b54996d89576c63d358;p=clsql.git diff --git a/sql/metaclasses.lisp b/sql/metaclasses.lisp index b7b2e50..d6d92b8 100644 --- a/sql/metaclasses.lisp +++ b/sql/metaclasses.lisp @@ -56,8 +56,8 @@ ;;; Lispworks 4.2 and before requires special processing of extra slot and class options -(defvar +extra-slot-options+ '(:column :db-kind :db-reader :nulls-ok :db-constraints - :db-writer :db-type :db-info)) +(defvar +extra-slot-options+ '(:column :db-kind :db-reader :void-value :db-constraints + :db-writer :db-info)) (defvar +extra-class-options+ '(:base-table)) (dolist (slot-option +extra-slot-options+) @@ -287,13 +287,12 @@ column definition in the database.") :initform nil :documentation "A single constraint or list of constraints for this column") - (nulls-ok - :accessor view-class-slot-nulls-ok - :initarg :nulls-ok + (void-value + :accessor view-class-slot-void-value + :initarg :void-value :initform nil :documentation - "If t, all sql NULL values retrieved from the database become nil; if nil, -all NULL values retrieved are converted by DATABASE-NULL-VALUE") + "Value to store is the SQL value is NULL. Default is NIL.") (db-info :accessor view-class-slot-db-info :initarg :db-info @@ -443,8 +442,8 @@ which does type checking before storing a value in a slot." (when (slot-boundp sd 'db-type) (view-class-slot-db-type sd))) - (setf (slot-value slotd 'nulls-ok) - (view-class-slot-nulls-ok sd)) + (setf (slot-value slotd 'void-value) + (view-class-slot-void-value sd)) ;; :db-kind slot value defaults to :base (store slot value in ;; database)