[Cl-perec-devel] Troubles with cl-perec

Attila Lendvai attila.lendvai at gmail.com
Mon Jan 7 15:48:37 UTC 2008


> There is no applicable method for the generic function
>   #<STANDARD-GENERIC-FUNCTION CL-PEREC::CREATED-INSTANCES-OF (1)>
> when called with arguments
>   (#<#<STANDARD-CLASS NIL {146769C1}> :begin-executed-p #t {14663BF9}>).
>    [Condition of type SIMPLE-ERROR]

az some background information: the actual transaction class is
calculated using the database object (which is stored in *database*)
by CL-RDBMS:MAKE-TRANSACTION and the shared-initialize of database.
this missing method should be added by perec's transaction mixin.

you can find an example of this in the file cl-perec-test.postgresql.asd

(defmethod perform ((o load-op) (c (eql (find-system
:cl-perec-test.postgresql))))
  (eval (read-from-string
         "(progn
            (setf *database*
                  (make-instance 'postgresql-postmodern
                                 :generated-transaction-class-name 'transaction
                                 :default-result-type 'vector
                                 :muffle-warnings t
                                 :transaction-mixin 'transaction-mixin
                                 :connection-specification
cl-perec-system::*test-database-connection-specification*)))")))

:generated-transaction-class-name is the name of the generated transaction class
:transaction-mixin is the missing mixin that adds some perec specific features
:default-result-type tells what should cl-rdbms return in transactions
created in connections to this database
...

hth,

-- 
 attila



More information about the cl-perec-devel mailing list