-;;; with-db-from-pool is the macro you should use if you want to use pooled connections.
-;;; You can use it with a connection spec and database type or directly with a conn-pool.
-;;; When you give a conn-pool the connection spec and database type are ignored
-
-(defmacro with-db-from-pool ((db-var connection-spec database-type &optional conn-pool) &body body)
- "Evaluate the body in an environment, where `db-var' is bound to a
-database connection acquired from the connection pool
-The connection is automatically released to the connection pool on exit from the body.
-If a pool is given then the connection-spec database-type are ignored."
- `(let ((,db-var (acquire-from-pool ,connection-spec ,database-type ,conn-pool)))
- (unwind-protect
- (let ((,db-var ,db-var)) ,@body)
- (release-to-pool ,db-var))))