|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecttokyocabinet.BDB
public class BDB
B+ tree database is a file containing a B+ tree and is handled with the B+ tree database API. Before operations to store or retrieve records, it is necessary to open a database file and connect the B+ tree database object to it. To avoid data missing or corruption, it is important to close every database file when it is no longer in use. It is forbidden for multible database objects in a process to open the same database at the same time.
Field Summary | |
---|---|
static int |
CMPDECIMAL
comparison function: as decimal strings of real numbers |
static int |
CMPINT32
comparison function: as 32-bit integers in the native byte order |
static int |
CMPINT64
comparison function: as 64-bit integers in the native byte order |
static int |
CMPLEXICAL
comparison function: by lexical order |
static int |
ECLOSE
error code: close error |
static int |
EINVALID
error code: invalid operation |
static int |
EKEEP
error code: existing record |
static int |
ELOCK
error code: lock error |
static int |
EMETA
error code: invalid meta data |
static int |
EMISC
error code: miscellaneous error |
static int |
EMKDIR
error code: mkdir error |
static int |
EMMAP
error code: mmap error |
static int |
ENOFILE
error code: file not found |
static int |
ENOPERM
error code: no permission |
static int |
ENOREC
error code: no record found |
static int |
EOPEN
error code: open error |
static int |
EREAD
error code: read error |
static int |
ERENAME
error code: rename error |
static int |
ERHEAD
error code: invalid record header |
static int |
ERMDIR
error code: rmdir error |
static int |
ESEEK
error code: seek error |
static int |
ESTAT
error code: stat error |
static int |
ESUCCESS
error code: success |
static int |
ESYNC
error code: sync error |
static int |
ETHREAD
error code: threading error |
static int |
ETRUNC
error code: trunc error |
static int |
EUNLINK
error code: unlink error |
static int |
EWRITE
error code: write error |
static int |
OCREAT
open mode: writer creating |
static int |
OLCKNB
open mode: lock without blocking |
static int |
ONOLCK
open mode: open without locking |
static int |
OREADER
open mode: open as a reader |
static int |
OTRUNC
open mode: writer truncating |
static int |
OTSYNC
open mode: synchronize every transaction |
static int |
OWRITER
open mode: open as a writer |
static int |
TBZIP
tuning option: compress each record with BZIP2 |
static int |
TDEFLATE
tuning option: compress each record with Deflate |
static int |
TLARGE
tuning option: use 64-bit bucket array |
static int |
TTCBS
tuning option: compress each record with TCBS |
Constructor Summary | |
---|---|
BDB()
Create a B+ tree database object. |
Method Summary | |
---|---|
double |
adddouble(byte[] key,
double num)
Add a real number to a record. |
double |
adddouble(java.lang.String key,
double num)
Add a real number to a record. |
int |
addint(byte[] key,
int num)
Add an integer to a record. |
int |
addint(java.lang.String key,
int num)
Add an integer to a record. |
boolean |
close()
Close the database file. |
boolean |
copy(java.lang.String path)
Copy the database file. |
int |
ecode()
Get the last happened error code. |
java.lang.String |
errmsg()
Get the message string corresponding to the last happened error code. |
static java.lang.String |
errmsg(int ecode)
Get the message string corresponding to an error code. |
protected void |
finalize()
Release resources. |
long |
fsiz()
Get the size of the database file. |
java.util.List |
fwmkeys(byte[] prefix,
int max)
Get forward matching keys. |
java.util.List |
fwmkeys(java.lang.String prefix,
int max)
Get forward matching keys. |
byte[] |
get(byte[] key)
Retrieve a record. |
java.lang.String |
get(java.lang.String key)
Retrieve a record. |
java.util.List |
getlist(byte[] key)
Retrieve records. |
java.util.List |
getlist(java.lang.String key)
Retrieve records. |
boolean |
iterinit()
Initialize the iterator. |
byte[] |
iternext()
Get the next key of the iterator. |
java.lang.String |
iternext2()
Get the next key of the iterator. |
boolean |
open(java.lang.String name)
Open a database file. |
boolean |
open(java.lang.String path,
int omode)
Open a database file. |
boolean |
optimize()
Optimize the database file. |
boolean |
optimize(int lmemb,
int nmemb,
long bnum,
int apow,
int fpow,
int opts)
Optimize the database file. |
boolean |
out(byte[] key)
Remove a record. |
boolean |
out(java.lang.String key)
Remove a record. |
boolean |
outlist(byte[] key)
Remove records. |
boolean |
outlist(java.lang.String key)
Remove records. |
java.lang.String |
path()
Get the path of the database file. |
boolean |
put(byte[] key,
byte[] value)
Store a record. |
boolean |
put(java.lang.String key,
java.lang.String value)
Store a record. |
boolean |
putcat(byte[] key,
byte[] value)
Concatenate a value at the end of the existing record. |
boolean |
putcat(java.lang.String key,
java.lang.String value)
Concatenate a value at the end of the existing record. |
boolean |
putdup(byte[] key,
byte[] value)
Store a record with allowing duplication of keys. |
boolean |
putdup(java.lang.String key,
java.lang.String value)
Store a record with allowing duplication of keys. |
boolean |
putkeep(byte[] key,
byte[] value)
Store a new record. |
boolean |
putkeep(java.lang.String key,
java.lang.String value)
Store a new record. |
boolean |
putlist(byte[] key,
java.util.List values)
Store records with allowing duplication of keys. |
boolean |
putlist(java.lang.String key,
java.util.List values)
Store records with allowing duplication of keys. |
java.util.List |
range(byte[] bkey,
boolean binc,
byte[] ekey,
boolean einc,
int max)
Get keys of ranged records. |
java.util.List |
range(java.lang.String bkey,
boolean binc,
java.lang.String ekey,
boolean einc,
int max)
Get keys of ranged records. |
long |
rnum()
Get the number of records. |
boolean |
setcache(int lcnum,
int ncnum)
Set the caching parameters. |
boolean |
setcmpfunc(int cmp)
Set the built-in comparison function. |
boolean |
setcomparator(BDBCMP cmp)
Set the custom comparator object. |
boolean |
setdfunit(int dfunit)
Set the unit step number of auto defragmentation. |
boolean |
setxmsiz(long xmsiz)
Set the size of the extra mapped memory. |
boolean |
sync()
Synchronize updated contents with the file and the device. |
boolean |
tranabort()
Abort the transaction. |
boolean |
tranbegin()
Begin the transaction. |
boolean |
trancommit()
Commit the transaction. |
boolean |
tune(int lmemb,
int nmemb,
long bnum,
int apow,
int fpow,
int opts)
Set the tuning parameters. |
boolean |
vanish()
Remove all records. |
int |
vnum(byte[] key)
Get the number of records corresponding a key. |
int |
vnum(java.lang.String key)
Get the number of records corresponding a key. |
int |
vsiz(byte[] key)
Get the size of the value of a record. |
int |
vsiz(java.lang.String key)
Get the size of the value of a record. |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int CMPDECIMAL
public static final int CMPINT32
public static final int CMPINT64
public static final int CMPLEXICAL
public static final int ECLOSE
public static final int EINVALID
public static final int EKEEP
public static final int ELOCK
public static final int EMETA
public static final int EMISC
public static final int EMKDIR
public static final int EMMAP
public static final int ENOFILE
public static final int ENOPERM
public static final int ENOREC
public static final int EOPEN
public static final int EREAD
public static final int ERENAME
public static final int ERHEAD
public static final int ERMDIR
public static final int ESEEK
public static final int ESTAT
public static final int ESUCCESS
public static final int ESYNC
public static final int ETHREAD
public static final int ETRUNC
public static final int EUNLINK
public static final int EWRITE
public static final int OCREAT
public static final int OLCKNB
public static final int ONOLCK
public static final int OREADER
public static final int OTRUNC
public static final int OTSYNC
public static final int OWRITER
public static final int TBZIP
public static final int TDEFLATE
public static final int TLARGE
public static final int TTCBS
Constructor Detail |
---|
public BDB()
Method Detail |
---|
public double adddouble(byte[] key, double num)
adddouble
in interface DBM
key
- the key.num
- the additional value.
public double adddouble(java.lang.String key, double num)
adddouble
in interface DBM
adddouble(byte[], double)
public int addint(byte[] key, int num)
addint
in interface DBM
key
- the key.num
- the additional value.
public int addint(java.lang.String key, int num)
addint
in interface DBM
addint(byte[], int)
public boolean close()
public boolean copy(java.lang.String path)
path
- the path of the destination file. If it begins with `@', the trailing substring
is executed as a command line.
public int ecode()
public java.lang.String errmsg()
public static java.lang.String errmsg(int ecode)
ecode
- the error code.
protected void finalize()
finalize
in class java.lang.Object
public long fsiz()
fsiz
in interface DBM
public java.util.List fwmkeys(byte[] prefix, int max)
fwmkeys
in interface DBM
prefix
- the prefix of the corresponding keys.max
- the maximum number of keys to be fetched. If it is negative, no limit is
specified.
public java.util.List fwmkeys(java.lang.String prefix, int max)
fwmkeys
in interface DBM
fwmkeys(byte[], int)
public byte[] get(byte[] key)
get
in interface DBM
key
- the key.
public java.lang.String get(java.lang.String key)
get
in interface DBM
get(byte[])
public java.util.List getlist(byte[] key)
key
- the key.
public java.util.List getlist(java.lang.String key)
get(byte[])
public boolean iterinit()
iterinit
in interface DBM
public byte[] iternext()
iternext
in interface DBM
public java.lang.String iternext2()
iternext2
in interface DBM
iternext()
public boolean open(java.lang.String name)
open(String, int)
public boolean open(java.lang.String path, int omode)
path
- the path of the database file.omode
- the connection mode: `BDB.OWRITER' as a writer, `BDB.OREADER' as a reader. If
the mode is `BDB.OWRITER', the following may be added by bitwise-or: `BDB.OCREAT', which
means it creates a new database if not exist, `BDB.OTRUNC', which means it creates a new
database regardless if one exists, `BDB.OTSYNC', which means every transaction synchronizes
updated contents with the device. Both of `BDB.OREADER' and `BDB.OWRITER' can be added to
by bitwise-or: `BDB.ONOLCK', which means it opens the database file without file locking, or
`BDB.OLCKNB', which means locking is performed without blocking.
public boolean optimize()
optimize(int, int, long, int, int, int)
public boolean optimize(int lmemb, int nmemb, long bnum, int apow, int fpow, int opts)
lmemb
- the number of members in each leaf page. If it is not more than 0, the current
setting is not changed.nmemb
- the number of members in each non-leaf page. If it is not more than 0, the
current setting is not changed.bnum
- the number of elements of the bucket array. If it is not more than 0, the
default value is specified. The default value is two times of the number of pages.apow
- the size of record alignment by power of 2. If it is negative, the current
setting is not changed.fpow
- the maximum number of elements of the free block pool by power of 2. If it is
negative, the current setting is not changed.opts
- options by bitwise-or: `BDB.TLARGE' specifies that the size of the database can
be larger than 2GB by using 64-bit bucket array, `BDB.TDEFLATE' specifies that each record
is compressed with Deflate encoding, `BDB.TBZIP' specifies that each record is compressed
with BZIP2 encoding, `BDB.TTCBS' specifies that each record is compressed with TCBS
encoding. If it is 0xff, the current setting is not changed.
public boolean out(byte[] key)
out
in interface DBM
key
- the key.
public boolean out(java.lang.String key)
out
in interface DBM
out(byte[])
public boolean outlist(byte[] key)
key
- the key.
public boolean outlist(java.lang.String key)
outlist(byte[])
public java.lang.String path()
public boolean put(byte[] key, byte[] value)
put
in interface DBM
key
- the key.value
- the value.
public boolean put(java.lang.String key, java.lang.String value)
put
in interface DBM
put(byte[], byte[])
public boolean putcat(byte[] key, byte[] value)
key
- the key.value
- the value.
public boolean putcat(java.lang.String key, java.lang.String value)
putcat(byte[], byte[])
public boolean putdup(byte[] key, byte[] value)
key
- the key.value
- the value.
public boolean putdup(java.lang.String key, java.lang.String value)
putdup(byte[], byte[])
public boolean putkeep(byte[] key, byte[] value)
putkeep
in interface DBM
key
- the key.value
- the value.
public boolean putkeep(java.lang.String key, java.lang.String value)
putkeep
in interface DBM
putkeep(byte[], byte[])
public boolean putlist(byte[] key, java.util.List values)
key
- the key.values
- a list of the values. Type of each element should be `byte[]'.
public boolean putlist(java.lang.String key, java.util.List values)
putlist(byte[], List)
public java.util.List range(byte[] bkey, boolean binc, byte[] ekey, boolean einc, int max)
bkey
- the key of the beginning border. If it is `null', the first record is specified.binc
- whether the beginning border is inclusive or not.ekey
- the key of the ending border. If it is `null', the last record is specified.einc
- whether the ending border is inclusive or not.max
- the maximum number of keys to be fetched. If it is negative, no limit is
specified.
public java.util.List range(java.lang.String bkey, boolean binc, java.lang.String ekey, boolean einc, int max)
range(byte[], boolean, byte[], boolean, int)
public long rnum()
rnum
in interface DBM
public boolean setcache(int lcnum, int ncnum)
lcnum
- the maximum number of leaf nodes to be cached. If it is not more than 0, the
default value is specified. The default value is 1024.ncnum
- the maximum number of non-leaf nodes to be cached. If it is not more than 0,
the default value is specified. The default value is 512.
public boolean setcmpfunc(int cmp)
cmp
- the constant of a built-in comparison function.
public boolean setcomparator(BDBCMP cmp)
cmp
- the custom comparator object.
public boolean setdfunit(int dfunit)
dfunit
- the unit step number. If it is not more than 0, the auto defragmentation is
disabled. It is disabled by default.
public boolean setxmsiz(long xmsiz)
xmsiz
- the size of the extra mapped memory. If it is not more than 0, the extra
mapped memory is disabled. It is disabled by default.
public boolean sync()
public boolean tranabort()
public boolean tranbegin()
public boolean trancommit()
public boolean tune(int lmemb, int nmemb, long bnum, int apow, int fpow, int opts)
lmemb
- the number of members in each leaf page. If it is not more than 0, the default
value is specified. The default value is 128.nmemb
- the number of members in each non-leaf page. If it is not more than 0, the
default value is specified. The default value is 256.bnum
- the number of elements of the bucket array. If it is not more than 0, the
default value is specified. The default value is 32749. Suggested size of the bucket array
is about from 1 to 4 times of the number of all pages to be stored.apow
- the size of record alignment by power of 2. If it is negative, the default
value is specified. The default value is 8 standing for 2^8=256.fpow
- the maximum number of elements of the free block pool by power of 2. If it is
negative, the default value is specified. The default value is 10 standing for 2^10=1024.opts
- options by bitwise-or: `BDB.TLARGE' specifies that the size of the database can
be larger than 2GB by using 64-bit bucket array, `BDB.TDEFLATE' specifies that each record
is compressed with Deflate encoding, `BDB.TBZIP' specifies that each record is compressed
with BZIP2 encoding, `BDB.TTCBS' specifies that each record is compressed with TCBS
encoding.
public boolean vanish()
public int vnum(byte[] key)
key
- the key.
public int vnum(java.lang.String key)
vnum(byte[])
public int vsiz(byte[] key)
key
- the key.
public int vsiz(java.lang.String key)
vsiz(byte[])
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |