X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fdb-interface.lisp;fp=sql%2Fdb-interface.lisp;h=9c17b544dd0268993a6022e13b3677fadb107959;hp=8bcc42e964902f388ff840733b49239bb1d36ced;hb=96cc4dd98e77b8a1f83fa850e3348219c957b7ef;hpb=2b2bbca189075b6dfc9533f41dcf64a572d20550 diff --git a/sql/db-interface.lisp b/sql/db-interface.lisp index 8bcc42e..9c17b54 100644 --- a/sql/db-interface.lisp +++ b/sql/db-interface.lisp @@ -425,6 +425,20 @@ of TYPE_NAME (keyword) PRECISION SCALE NULLABLE.") nil) (:documentation "Free the resources of a prepared statement.")) +(defgeneric database-acquire-from-conn-pool (database) + (:documentation "Acquire a database connection from the pool. This +is a chance to test the connection for validity before returning it to +the user. If this function returns NIL or throws an error that +database connection is considered bad and we make a new one. + +Database objects have a chance to specialize, otherwise the default +method uses the database-underlying-type and tries to do something +appropriate.")) + +(defgeneric database-release-to-conn-pool (database) + (:documentation "Chance for the database to cleanup before it is + returned to the connection pool.")) + ;; Checks for closed database (defmethod database-disconnect :before ((database database))