From: Pierrick B. <br...@us...> - 2006-01-05 18:26:07
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/storage In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27067/src/org/exist/storage Modified Files: NativeBroker.java Log Message: Reordered methods. Used named constants Index: NativeBroker.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/storage/NativeBroker.java,v retrieving revision 1.234 retrieving revision 1.235 diff -C2 -d -r1.234 -r1.235 *** NativeBroker.java 5 Jan 2006 17:32:00 -0000 1.234 --- NativeBroker.java 5 Jan 2006 18:25:57 -0000 1.235 *************** *** 130,139 **** public static final byte VALUES_QNAME_DBX_ID = 5; ! private static final String ELEMENTS_DBX = "elements.dbx"; ! private static final String VALUES_DBX = "values.dbx"; ! private static final String VALUES_QNAME_DBX = "values-by-qname.dbx"; ! private static final String DOM_DBX = "dom.dbx"; ! private static final String COLLECTIONS_DBX = "collections.dbx"; ! private static final String WORDS_DBX = "words.dbx"; private static final byte[] ALL_STORAGE_FILES = { --- 130,139 ---- public static final byte VALUES_QNAME_DBX_ID = 5; ! public static final String ELEMENTS_DBX = "elements.dbx"; ! public static final String VALUES_DBX = "values.dbx"; ! public static final String VALUES_QNAME_DBX = "values-by-qname.dbx"; ! public static final String DOM_DBX = "dom.dbx"; ! public static final String COLLECTIONS_DBX = "collections.dbx"; ! public static final String WORDS_DBX = "words.dbx"; private static final byte[] ALL_STORAGE_FILES = { *************** *** 143,147 **** private static final String TEMP_FRAGMENT_REMOVE_ERROR = "Could not remove temporary fragment"; - // private static final String TEMP_STORE_ERROR = "An error occurred while storing temporary data: "; private static final String EXCEPTION_DURING_REINDEX = "exception during reindex"; --- 143,146 ---- *************** *** 152,163 **** */ private static final Logger LOG = Logger.getLogger(NativeBroker.class); ! ! private static final long TEMP_FRAGMENT_TIMEOUT = 300000; ! ! /** default buffer size setting */ ! protected final static int BUFFERS = 256; ! ! /** check available memory after storing MEM_LIMIT_CHECK nodes */ ! protected final static int MEM_LIMIT_CHECK = 10000; /** the database files */ --- 151,172 ---- */ private static final Logger LOG = Logger.getLogger(NativeBroker.class); ! ! public final String DEFAULT_DATA_DIR = "data"; ! public final int DEFAULT_PAGE_SIZE = 4096; ! public final int DEFAULT_INDEX_DEPTH = 1; ! public final int DEFAULT_MIN_MEMORY = 5000000; ! public static final long TEMP_FRAGMENT_TIMEOUT = 300000; ! /** default buffer size setting */ ! public final static int BUFFERS = 256; ! /** check available memory after storing DEFAULT_NODES_BEFORE_MEMORY_CHECK nodes */ ! public final static int DEFAULT_NODES_BEFORE_MEMORY_CHECK = 10000; ! public final double DEFAULT_VALUE_CACHE_GROWTH = 1.25; ! public final double DEFAULT_VALUE_KEY_THRESHOLD = 0.01; ! public final double DEFAULT_VALUE_VALUE_THRESHOLD = 0.04; ! public final double DEFAULT_WORD_CACHE_GROWTH = 1.4; ! public final double DEFAULT_WORD_KEY_THRESHOLD = 0.01; ! public final double DEFAULT_WORD_VALUE_THRESHOLD = 0.015; ! ! /** the database files */ *************** *** 175,185 **** protected NativeValueIndexByQName qnameValueIndex; /** switch to activate/deactivate the feature "new index by QName" */ private boolean qnameValueIndexation = true; // false; ! protected Serializer xmlSerializer; ! ! protected int defaultIndexDepth = 1; ! protected IndexSpec idxConf; protected boolean readOnly = false; --- 184,195 ---- protected NativeValueIndexByQName qnameValueIndex; + protected IndexSpec idxConf; + + protected int defaultIndexDepth; + /** switch to activate/deactivate the feature "new index by QName" */ private boolean qnameValueIndexation = true; // false; ! protected Serializer xmlSerializer; protected boolean readOnly = false; *************** *** 204,221 **** dataDir = (String) config.getProperty("db-connection.data-dir"); if (dataDir == null) ! dataDir = "data"; pageSize = config.getInteger("db-connection.page-size"); if (pageSize < 0) ! pageSize = 4096; Paged.setPageSize(pageSize); defaultIndexDepth = config.getInteger("indexer.index-depth"); if (defaultIndexDepth < 0) ! defaultIndexDepth = 1; memMinFree = config.getInteger("db-connection.min_free_memory"); if (memMinFree < 0) ! memMinFree = 5000000; idxConf = (IndexSpec) config.getProperty("indexer.config"); --- 214,231 ---- dataDir = (String) config.getProperty("db-connection.data-dir"); if (dataDir == null) ! dataDir = DEFAULT_DATA_DIR; pageSize = config.getInteger("db-connection.page-size"); if (pageSize < 0) ! pageSize = DEFAULT_PAGE_SIZE; Paged.setPageSize(pageSize); defaultIndexDepth = config.getInteger("indexer.index-depth"); if (defaultIndexDepth < 0) ! defaultIndexDepth = DEFAULT_INDEX_DEPTH; memMinFree = config.getInteger("db-connection.min_free_memory"); if (memMinFree < 0) ! memMinFree = DEFAULT_MIN_MEMORY; idxConf = (IndexSpec) config.getProperty("indexer.config"); *************** *** 228,247 **** domDb = (DOMFile) config.getProperty("db-connection.dom"); if (domDb== null) { ! domDb = new DOMFile(pool, new File(dataDir + File.separatorChar + DOM_DBX), ! pool.getCacheManager()); config.setProperty("db-connection.dom", domDb); } ! if (!readOnly) ! readOnly = domDb.isReadOnly(); // Initialize collections storage collectionsDb = (CollectionStore) config.getProperty("db-connection.collections"); if (collectionsDb == null) { ! collectionsDb =new CollectionStore(pool, new File(dataDir + File.separatorChar + COLLECTIONS_DBX), ! pool.getCacheManager()); config.setProperty("db-connection.collections", collectionsDb); } ! if (!readOnly) ! readOnly = collectionsDb.isReadOnly(); //TODO : is it necessary to create them if we are in read-only mode ? --- 238,257 ---- domDb = (DOMFile) config.getProperty("db-connection.dom"); if (domDb== null) { ! File file= new File(dataDir + File.separatorChar + DOM_DBX); ! LOG.debug("Creating '" + file.getName() + "'..."); ! domDb = new DOMFile(pool, file, pool.getCacheManager()); config.setProperty("db-connection.dom", domDb); } ! readOnly = readOnly & domDb.isReadOnly(); // Initialize collections storage collectionsDb = (CollectionStore) config.getProperty("db-connection.collections"); if (collectionsDb == null) { ! File file = new File(dataDir + File.separatorChar + COLLECTIONS_DBX); ! LOG.debug("Creating '" + file.getName() + "'..."); ! collectionsDb = new CollectionStore(pool, file, pool.getCacheManager()); config.setProperty("db-connection.collections", collectionsDb); } ! readOnly = readOnly & collectionsDb.isReadOnly(); //TODO : is it necessary to create them if we are in read-only mode ? *************** *** 249,253 **** if (readOnly) ! LOG.info("database runs in read-only mode"); } catch (DBException e) { --- 259,263 ---- if (readOnly) ! LOG.info("Database runs in read-only mode"); } catch (DBException e) { *************** *** 265,292 **** */ private void createIndexFiles() throws DBException { ! elementsDb = createValueIndexFile(ELEMENTS_DBX_ID, false, config, dataDir, ELEMENTS_DBX, "db-connection.elements", 0.05 ); ! valuesDb = createValueIndexFile(VALUES_DBX_ID, false, config, dataDir, VALUES_DBX, "db-connection.values", 0.05 ); ! if ( qnameValueIndexation ) { ! valuesDbQname = createValueIndexFile(VALUES_QNAME_DBX_ID, false, config, dataDir, VALUES_QNAME_DBX, ! "db-connection2.values", 0.4 ); ! } ! if ((dbWords = (BFile) config.getProperty("db-connection.words")) == null) { ! LOG.debug("Creating words.dbx ....\n\n"); ! dbWords = new BFile(pool, NativeBroker.WORDS_DBX_ID, false, ! new File(dataDir + File.separatorChar + WORDS_DBX), pool.getCacheManager(), 1.4, 0.01, 0.015); ! config.setProperty("db-connection.words", dbWords); ! } ! textEngine = new NativeTextEngine(this, config, dbWords); valueIndex = new NativeValueIndex(this, valuesDb); ! if ( qnameValueIndexation ) { qnameValueIndex = new NativeValueIndexByQName(this, valuesDbQname); addContentLoadingObserver(qnameValueIndex); } - elementIndex = new NativeElementIndex(this, elementsDb); ! addContentLoadingObserver(textEngine); ! addContentLoadingObserver(valueIndex); ! addContentLoadingObserver(elementIndex); } --- 275,302 ---- */ private void createIndexFiles() throws DBException { ! elementsDb = createValueIndexFile(ELEMENTS_DBX_ID, false, config, dataDir, ELEMENTS_DBX, "db-connection.elements", DEFAULT_VALUE_VALUE_THRESHOLD); ! elementIndex = new NativeElementIndex(this, elementsDb); ! addContentLoadingObserver(elementIndex); ! valuesDb = createValueIndexFile(VALUES_DBX_ID, false, config, dataDir, VALUES_DBX, "db-connection.values", DEFAULT_VALUE_VALUE_THRESHOLD); valueIndex = new NativeValueIndex(this, valuesDb); ! addContentLoadingObserver(valueIndex); ! ! if (qnameValueIndexation) { ! valuesDbQname = createValueIndexFile(VALUES_QNAME_DBX_ID, false, config, dataDir, VALUES_QNAME_DBX, ! "db-connection2.values", DEFAULT_VALUE_VALUE_THRESHOLD); qnameValueIndex = new NativeValueIndexByQName(this, valuesDbQname); addContentLoadingObserver(qnameValueIndex); } ! if ((dbWords = (BFile) config.getProperty("db-connection.words")) == null) { ! File file = new File(dataDir + File.separatorChar + WORDS_DBX); ! LOG.debug("Creating '" + file.getName() + "'..."); ! dbWords = new BFile(pool, NativeBroker.WORDS_DBX_ID, false, file, ! pool.getCacheManager(), DEFAULT_WORD_CACHE_GROWTH, DEFAULT_WORD_KEY_THRESHOLD, DEFAULT_WORD_VALUE_THRESHOLD); ! config.setProperty("db-connection.words", dbWords); ! textEngine = new NativeTextEngine(this, config, dbWords); ! addContentLoadingObserver(textEngine); ! } } *************** *** 300,312 **** private BFile createValueIndexFile(byte id, boolean transactional, Configuration config, String dataDir, String dataFile, String propertyName, double thresholdData ) throws DBException { - BFile db; ! if ((db = (BFile) config.getProperty(propertyName)) ! == null) { ! db = ! new BFile(pool, id, transactional, new File(dataDir + File.separatorChar + dataFile ), pool.getCacheManager(), 1.25, 0.01, thresholdData); ! config.setProperty(propertyName, db); ! readOnly = db.isReadOnly(); } return db; --- 310,321 ---- private BFile createValueIndexFile(byte id, boolean transactional, Configuration config, String dataDir, String dataFile, String propertyName, double thresholdData ) throws DBException { ! BFile db = (BFile) config.getProperty(propertyName); ! if (db == null) { ! File file = new File(dataDir + File.separatorChar + dataFile); ! LOG.debug("Creating '" + file.getName() + "'..."); ! db = new BFile(pool, id, transactional, file, pool.getCacheManager(), DEFAULT_VALUE_CACHE_GROWTH, DEFAULT_VALUE_KEY_THRESHOLD, thresholdData); config.setProperty(propertyName, db); ! readOnly = readOnly & db.isReadOnly(); } return db; *************** *** 1090,1094 **** /** check available memory */ private void checkAvailableMemory() { ! if (nodesCount > MEM_LIMIT_CHECK) { final int percent = (int) (run.freeMemory() / (run.totalMemory() / 100)); --- 1099,1103 ---- /** check available memory */ private void checkAvailableMemory() { ! if (nodesCount > DEFAULT_NODES_BEFORE_MEMORY_CHECK) { final int percent = (int) (run.freeMemory() / (run.totalMemory() / 100)); *************** *** 2769,2773 **** /** check available memory */ private void checkAvailableMemory() { ! if (nodesCount > MEM_LIMIT_CHECK) { final int percent = (int) (run.freeMemory() / (run.totalMemory() / 100)); --- 2778,2782 ---- /** check available memory */ private void checkAvailableMemory() { ! if (nodesCount > DEFAULT_NODES_BEFORE_MEMORY_CHECK) { final int percent = (int) (run.freeMemory() / (run.totalMemory() / 100)); |