Merge branch 'master' of git://factorcode.org/git/factor
[factor/jcg.git] / basis / db / pools / pools.factor
blob55ff3a383b58a22c1007cb375706126524b6d975
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors kernel arrays namespaces sequences continuations
4 io.pools db fry db.private ;
5 IN: db.pools
7 TUPLE: db-pool < pool db ;
9 : <db-pool> ( db -- pool )
10     db-pool <pool>
11         swap >>db ;
13 : with-db-pool ( db quot -- )
14     [ <db-pool> ] dip with-pool ; inline
16 M: db-pool make-connection ( pool -- )
17     db>> db-open ;
19 : with-pooled-db ( pool quot -- )
20     '[ db-connection _ with-variable ] with-pooled-connection ; inline