]> gitweb.factorcode.org Git - factor.git/commitdiff
gdbm: add shorthands for common cases
authorDmitry Shubin <dmitry.sh@gmail.com>
Sat, 3 Jul 2010 22:12:07 +0000 (02:12 +0400)
committerDmitry Shubin <dmitry.sh@gmail.com>
Sat, 3 Jul 2010 22:12:07 +0000 (02:12 +0400)
extra/gdbm/gdbm-tests.factor
extra/gdbm/gdbm.factor

index 9d233c89493bdd9833eb4e0359329c0c35896562..4a102deeb1561d583a00bb8bc17bd9ced721ad29 100644 (file)
@@ -25,7 +25,7 @@ CLEANUP
 [ ] [ [ "foo" 41 insert ] with-test.db ] unit-test
 
 [
-    [ "foo" 42 insert ] with-test.db
+    db-path [ "foo" 42 insert ] with-gdbm-writer
 ] [ gdbm-cannot-replace = ] must-fail-with
 
 [ ]
@@ -37,7 +37,7 @@ CLEANUP
     ] with-test.db
 ] unit-test
 
-[ 42 t ] [ [ "foo" fetch* ] with-test.db ] unit-test
+[ 42 t ] [ db-path [ "foo" fetch* ] with-gdbm-reader ] unit-test
 
 [ f f ] [ [ "unknown" fetch* ] with-test.db ] unit-test
 
index 54980cb309b4f49a10d72d3c0143ea6b391b162a..2fe758f539c4c35a92e7018cd5d433492ab1ef9a 100644 (file)
@@ -148,3 +148,13 @@ PRIVATE>
 : with-gdbm ( gdbm quot -- )
     [ gdbm-open &gdbm-close current-dbf set ] prepose curry
     [ with-scope ] curry with-destructors ; inline
+
+:: with-gdbm-role ( name role quot -- )
+    <gdbm> name >>name role >>role quot with-gdbm ; inline
+
+: with-gdbm-reader ( name quot -- )
+    reader swap with-gdbm-role ; inline
+
+: with-gdbm-writer ( name quot -- )
+    writer swap with-gdbm-role ; inline
+