parent
0826d8468c
commit
df1b9dffe0
|
@ -14,9 +14,10 @@ LIBRARY: forestdb
|
|||
CONSTANT: FDB_MAX_KEYLEN 3840
|
||||
CONSTANT: FDB_MAX_METALEN 65535
|
||||
CONSTANT: FDB_MAX_BODYLEN 4294967295
|
||||
TYPEDEF: uint64_t fdb_seqnum_t
|
||||
CONSTANT: FDB_SNAPSHOT_INMEM -1
|
||||
|
||||
TYPEDEF: uint64_t fdb_seqnum_t
|
||||
|
||||
TYPEDEF: void* fdb_custom_cmp_fixed
|
||||
TYPEDEF: void* fdb_custom_cmp_variable
|
||||
TYPEDEF: void* fdb_log_callback
|
||||
|
@ -135,7 +136,7 @@ STRUCT: fdb_doc
|
|||
! filename is a pointer to the handle's filename
|
||||
! new_filename is a pointer to the handle's new_file
|
||||
|
||||
STRUCT: fdb_info
|
||||
STRUCT: fdb_file_info
|
||||
{ filename char* }
|
||||
{ new_filename char* }
|
||||
{ doc_count uint64_t }
|
||||
|
@ -144,7 +145,14 @@ STRUCT: fdb_info
|
|||
|
||||
STRUCT: fdb_kvs_info
|
||||
{ name char* }
|
||||
{ last_seqnum fdb_seqnum_t } ;
|
||||
{ last_seqnum fdb_seqnum_t }
|
||||
{ doc_count uint64_t }
|
||||
{ space_used uint64_t }
|
||||
{ file fdb_file_handle* } ;
|
||||
|
||||
STRUCT: fdb_kvs_name_list
|
||||
{ num_kvs_names size_t }
|
||||
{ kvs_names char** } ;
|
||||
|
||||
FUNCTION: fdb_status fdb_init ( fdb_config* config ) ;
|
||||
FUNCTION: fdb_config fdb_get_default_config ( ) ;
|
||||
|
@ -188,11 +196,14 @@ FUNCTION: fdb_status fdb_iterator_close ( fdb_iterator* iterator ) ;
|
|||
|
||||
FUNCTION: fdb_status fdb_compact ( fdb_file_handle* handle, c-string new_filename ) ;
|
||||
FUNCTION: size_t fdb_estimate_space_used ( fdb_file_handle* fhandle ) ;
|
||||
FUNCTION: fdb_status fdb_get_dbinfo ( fdb_file_handle* handle, fdb_info* info ) ;
|
||||
FUNCTION: fdb_status fdb_get_file_info ( fdb_file_handle* handle, fdb_file_info* info ) ;
|
||||
FUNCTION: fdb_status fdb_get_kvs_info ( fdb_handle* handle, fdb_kvs_info* info ) ;
|
||||
FUNCTION: fdb_status fdb_get_seqnum ( fdb_handle* handle, fdb_seqnum_t* seqnum ) ;
|
||||
FUNCTION: fdb_status fdb_get_kvs_seqnum ( fdb_handle* handle, fdb_seqnum_t* seqnum ) ;
|
||||
FUNCTION: fdb_status fdb_switch_compaction_mode ( fdb_file_handle* fhandle, fdb_compaction_mode_t mode, size_t new_threshold ) ;
|
||||
|
||||
FUNCTION: fdb_status fdb_get_kvs_name_list ( fdb_file_handle *fhandle, fdb_kvs_name_list *kvs_name_list ) ;
|
||||
FUNCTION: fdb_status fdb_free_kvs_name_list ( fdb_kvs_name_list *kvs_name_list ) ;
|
||||
|
||||
FUNCTION: fdb_status fdb_close ( fdb_file_handle* fhandle ) ;
|
||||
FUNCTION: fdb_status fdb_destroy ( c-string filename, fdb_config* fconfig ) ;
|
||||
FUNCTION: fdb_status fdb_shutdown ( ) ;
|
||||
|
@ -213,3 +224,4 @@ FUNCTION: fdb_status fdb_kvs_open_default ( fdb_file_handle* fhandle,
|
|||
FUNCTION: fdb_status fdb_kvs_close ( fdb_handle* handle ) ;
|
||||
|
||||
FUNCTION: fdb_status fdb_kvs_remove ( fdb_file_handle* fhandle, char* kvs_name ) ;
|
||||
FUNCTION: char* fdb_error_msg ( fdb_status err_code ) ;
|
||||
|
|
|
@ -117,8 +117,7 @@ IN: forestdb.lib
|
|||
test-db-1 [
|
||||
1 set-kv-n
|
||||
fdb-commit-normal
|
||||
fdb-get-seqnum
|
||||
fdb-get-info doc_count>>
|
||||
fdb-get-kvs-info [ last_seqnum>> ] [ doc_count>> ] bi
|
||||
] with-forestdb-path
|
||||
] unit-test
|
||||
|
||||
|
@ -128,8 +127,7 @@ IN: forestdb.lib
|
|||
5 set-kv-n
|
||||
5 set-kv-nth
|
||||
fdb-commit-normal
|
||||
fdb-get-seqnum
|
||||
fdb-get-info doc_count>>
|
||||
fdb-get-kvs-info [ last_seqnum>> ] [ doc_count>> ] bi
|
||||
] with-forestdb-path
|
||||
] unit-test
|
||||
|
||||
|
@ -138,8 +136,7 @@ IN: forestdb.lib
|
|||
test-db-1 [
|
||||
5 set-kv-n
|
||||
fdb-commit-normal
|
||||
fdb-get-seqnum
|
||||
fdb-get-info doc_count>>
|
||||
fdb-get-kvs-info [ last_seqnum>> ] [ doc_count>> ] bi
|
||||
] with-forestdb-path
|
||||
] unit-test
|
||||
|
||||
|
@ -149,9 +146,8 @@ IN: forestdb.lib
|
|||
test-db-1 [
|
||||
5 set-kv-n
|
||||
fdb-commit-normal
|
||||
5 [
|
||||
fdb-get-seqnum
|
||||
fdb-get-info doc_count>>
|
||||
FDB_SNAPSHOT_INMEM [
|
||||
fdb-get-kvs-info [ last_seqnum>> ] [ doc_count>> ] bi
|
||||
] with-forestdb-snapshot
|
||||
] with-forestdb-path
|
||||
] unit-test
|
||||
|
@ -166,9 +162,8 @@ IN: forestdb.lib
|
|||
test-db-1 [
|
||||
5 set-kv-n
|
||||
fdb-commit-normal
|
||||
2 [
|
||||
fdb-get-seqnum
|
||||
fdb-get-info doc_count>>
|
||||
FDB_SNAPSHOT_INMEM [
|
||||
fdb-get-kvs-info [ last_seqnum>> ] [ doc_count>> ] bi
|
||||
] with-forestdb-snapshot
|
||||
] with-forestdb-path
|
||||
] [
|
||||
|
@ -179,7 +174,7 @@ IN: forestdb.lib
|
|||
! Test that we take two snapshots and their seqnums/doc counts are right.
|
||||
! XXX: Buggy, want to see the first snapshot's document count at 5 too
|
||||
{
|
||||
{ 5 7 }
|
||||
{ 7 7 }
|
||||
{ 7 7 }
|
||||
} [
|
||||
delete-test-db-1
|
||||
|
@ -190,21 +185,19 @@ IN: forestdb.lib
|
|||
6 7 set-kv-range
|
||||
fdb-commit-normal
|
||||
|
||||
5 [
|
||||
fdb-get-seqnum
|
||||
fdb-get-info doc_count>> 2array
|
||||
FDB_SNAPSHOT_INMEM [
|
||||
fdb-get-kvs-info [ last_seqnum>> ] [ doc_count>> ] bi 2array
|
||||
] with-forestdb-snapshot
|
||||
|
||||
7 [
|
||||
fdb-get-seqnum
|
||||
fdb-get-info doc_count>> 2array
|
||||
FDB_SNAPSHOT_INMEM [
|
||||
fdb-get-kvs-info [ last_seqnum>> ] [ doc_count>> ] bi 2array
|
||||
] with-forestdb-snapshot
|
||||
] with-forestdb-path
|
||||
] unit-test
|
||||
|
||||
! Same test as above, but with buggy behavior for now so it passes
|
||||
{
|
||||
5
|
||||
7
|
||||
7
|
||||
} [
|
||||
delete-test-db-1
|
||||
|
@ -215,12 +208,12 @@ IN: forestdb.lib
|
|||
6 7 set-kv-range
|
||||
fdb-commit-normal
|
||||
|
||||
5 [
|
||||
fdb-get-seqnum
|
||||
FDB_SNAPSHOT_INMEM [
|
||||
fdb-get-kvs-info last_seqnum>>
|
||||
] with-forestdb-snapshot
|
||||
|
||||
7 [
|
||||
fdb-get-seqnum
|
||||
FDB_SNAPSHOT_INMEM [
|
||||
fdb-get-kvs-info last_seqnum>>
|
||||
] with-forestdb-snapshot
|
||||
] with-forestdb-path
|
||||
] unit-test
|
||||
|
@ -228,11 +221,9 @@ IN: forestdb.lib
|
|||
|
||||
! Rollback test
|
||||
! Make sure the doc_count is correct after a rollback
|
||||
! XXX: doc_count is wrong after rollback
|
||||
{
|
||||
7
|
||||
{ 5 12 }
|
||||
! { 5 5 } ! expected
|
||||
{ 5 5 }
|
||||
} [
|
||||
delete-test-db-1
|
||||
test-db-1 [
|
||||
|
@ -242,15 +233,14 @@ IN: forestdb.lib
|
|||
6 7 set-kv-range
|
||||
fdb-commit-normal
|
||||
|
||||
7 [
|
||||
fdb-get-seqnum
|
||||
FDB_SNAPSHOT_INMEM [
|
||||
fdb-get-kvs-info last_seqnum>>
|
||||
] with-forestdb-snapshot
|
||||
|
||||
5 fdb-rollback
|
||||
|
||||
5 [
|
||||
fdb-get-seqnum
|
||||
fdb-get-info doc_count>> 2array
|
||||
FDB_SNAPSHOT_INMEM [
|
||||
fdb-get-kvs-info [ last_seqnum>> ] [ doc_count>> ] bi 2array
|
||||
] with-forestdb-snapshot
|
||||
] with-forestdb-path
|
||||
] unit-test
|
||||
|
|
|
@ -151,14 +151,9 @@ SYMBOL: current-fdb-handle
|
|||
: with-create-doc ( key meta body quot: ( doc -- ) -- )
|
||||
[ fdb-doc-create ] dip with-doc ; inline
|
||||
|
||||
: fdb-get-info ( -- fdb_info )
|
||||
: fdb-get-info ( -- fdb_file_info )
|
||||
get-file-handle
|
||||
fdb_info <struct> [ fdb_get_dbinfo fdb-check-error ] keep ;
|
||||
|
||||
: fdb-get-seqnum ( -- fdb_info )
|
||||
get-handle
|
||||
1020 fdb_seqnum_t <ref> [ fdb_get_seqnum fdb-check-error ] keep
|
||||
fdb_seqnum_t deref ;
|
||||
fdb_file_info <struct> [ fdb_get_file_info fdb-check-error ] keep ;
|
||||
|
||||
: fdb-get-kvs-info ( -- fdb_kvs_info )
|
||||
get-handle
|
||||
|
@ -301,7 +296,7 @@ T{ doc
|
|||
[ size_ondisk>> ]
|
||||
} cleave <fdb-doc> ;
|
||||
|
||||
: fdb_info>info ( fdb_doc -- doc )
|
||||
: fdb_file_info>info ( fdb_doc -- doc )
|
||||
{
|
||||
[ filename>> alien>native-string ]
|
||||
[ new_filename>> alien>native-string ]
|
||||
|
|
Loading…
Reference in New Issue