DB connection pooling in HTTPd
parent
c6e91eb009
commit
df9277c4ca
|
@ -0,0 +1,4 @@
|
||||||
|
IN: http.server.db.tests
|
||||||
|
USING: tools.test http.server.db ;
|
||||||
|
|
||||||
|
\ <db-persistence> must-infer
|
|
@ -1,16 +1,17 @@
|
||||||
! Copyright (C) 2008 Slava Pestov.
|
! Copyright (C) 2008 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: db http.server http.server.sessions kernel accessors
|
USING: db db.pooling http.server http.server.sessions kernel
|
||||||
continuations namespaces destructors ;
|
accessors continuations namespaces destructors ;
|
||||||
IN: http.server.db
|
IN: http.server.db
|
||||||
|
|
||||||
TUPLE: db-persistence < filter-responder db params ;
|
TUPLE: db-persistence < filter-responder pool ;
|
||||||
|
|
||||||
C: <db-persistence> db-persistence
|
: <db-persistence> ( responder db params -- responder' )
|
||||||
|
<pool> db-persistence boa ;
|
||||||
: connect-db ( db-persistence -- )
|
|
||||||
[ db>> ] [ params>> ] bi make-db db-open
|
|
||||||
[ db set ] [ add-always-destructor ] bi ;
|
|
||||||
|
|
||||||
M: db-persistence call-responder*
|
M: db-persistence call-responder*
|
||||||
[ connect-db ] [ call-next-method ] bi ;
|
[
|
||||||
|
pool>> [ acquire-connection ] keep
|
||||||
|
[ return-connection-later ] [ drop db set ] 2bi
|
||||||
|
]
|
||||||
|
[ call-next-method ] bi ;
|
||||||
|
|
Loading…
Reference in New Issue