diff options
author | Bernard Normier <bernard@zeroc.com> | 2007-10-12 15:48:24 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2007-10-12 15:48:24 -0400 |
commit | f038c925c49876569efcaf28c185b20bc4a939d2 (patch) | |
tree | f6e2874b9a0c8014ab81df05360658535838ec19 /java/src/Freeze/Map.java | |
parent | Further fix for bug 2502. (diff) | |
download | ice-f038c925c49876569efcaf28c185b20bc4a939d2.tar.bz2 ice-f038c925c49876569efcaf28c185b20bc4a939d2.tar.xz ice-f038c925c49876569efcaf28c185b20bc4a939d2.zip |
Fixed bug #702
Diffstat (limited to 'java/src/Freeze/Map.java')
-rw-r--r-- | java/src/Freeze/Map.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/java/src/Freeze/Map.java b/java/src/Freeze/Map.java index 0e614d25bc3..b6b2cd2b40e 100644 --- a/java/src/Freeze/Map.java +++ b/java/src/Freeze/Map.java @@ -1084,6 +1084,43 @@ public abstract class Map extends java.util.AbstractMap } config.setKeyCreator(this); + Ice.Properties properties = _connection.communicator().getProperties(); + String propPrefix = "Freeze.Map." + _dbName + "."; + + int btreeMinKey = properties.getPropertyAsInt(propPrefix + "BtreeMinKey"); + if(btreeMinKey > 2) + { + if(_trace >= 1) + { + _connection.communicator().getLogger().trace( + "Freeze.Map", "Setting \"" + _dbName + "\"'s btree minkey to " + btreeMinKey); + } + config.setBtreeMinKey(btreeMinKey); + } + + boolean checksum = properties.getPropertyAsInt(propPrefix + "Checksum") > 0; + if(checksum) + { + if(_trace >= 1) + { + _connection.communicator().getLogger().trace( + "Freeze.Map", "Turning checksum on for \"" + _dbName + "\""); + } + + config.setChecksum(true); + } + + int pageSize = properties.getPropertyAsInt(propPrefix + "PageSize"); + if(pageSize > 0) + { + if(_trace >= 1) + { + _connection.communicator().getLogger().trace( + "Freeze.Map", "Setting \"" + _dbName + "\"'s pagesize to " + pageSize); + } + config.setPageSize(pageSize); + } + _db = _connection.dbEnv().getEnv().openSecondaryDatabase(txn, _dbName, null, db, config); } |