📄 bklyindex.java
字号:
package com.pub.berkeleydb;
import org.apache.log4j.*;
import com.sleepycat.je.*;
/**
*
*/
public class BklyIndex {
private static Logger log = Logger.getLogger(BklyIndex.class);
private BklyDatabase _db = null;
private IIndexCreator _ic = null;
private SecondaryDatabase _idx = null;
public BklyIndex(IIndexCreator ic) {
_ic = ic;
}
public int open(String name, BklyDatabase db) {
return open(name, db, true);
}
public int open(String name, BklyDatabase db, boolean trans) {
if (_ic == null) {
return -1;
}
if (db == null) {
return -2;
}
try {
if (db.getOriginDB().getConfig().getSortedDuplicates()) {
return -3;
}
}
catch (Throwable err) {
return -4;
}
_db = db;
SecondaryConfig idxCfg = new SecondaryConfig();
try {
idxCfg.setReadOnly(_db.getOriginDB().getConfig().getReadOnly());
idxCfg.setAllowCreate(_db.getOriginDB().getConfig().getAllowCreate());
idxCfg.setSortedDuplicates(true);
idxCfg.setAllowPopulate(true);
idxCfg.setTransactional(trans);
idxCfg.setKeyCreator(_ic);
_idx = db.getOriginEnv().openSecondaryDatabase(null, name, db.getOriginDB(),
idxCfg);
}
catch (Throwable err) {
log.error(null, err);
return -5;
}
return 0;
}
public void close() {
try {
_idx.close();
}
catch (Throwable err) {
log.error(null, err);
}
_idx = null;
}
public Database getOriginDB() {
return _db.getOriginDB();
}
public BklyDatabase getBklyDB() {
return _db;
}
public Environment getOriginEnv() {
return _db.getOriginEnv();
}
public BklyEnv getBklyEnv() {
return _db.getBklyEnv();
}
public SecondaryDatabase getOriginIndex() {
return _idx;
}
public IIndexCreator getIndexCreator() {
return _ic;
}
protected void finalize()
{
if(_idx != null) close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -