private Set<String> createOrGetKeySet( String value ) { String collectionName = collectionName(value); if (logger.isDebugEnabled()) { if (db.exists(collectionName)) { logger.debug("Reopening enum storage '{0}' for '{1}' index in workspace '{2}'", collectionName, name, workspace); } else { logger.debug("Creating enum storage '{0}' for '{1}' index in workspace '{2}'", collectionName, name, workspace); } } // Try to create the set ... Set<String> keySet = db.createHashSet(collectionName).counterEnable().makeOrGet(); // make sure this is ATOMIC ! Set<String> previous = nodeKeySetsByValue.putIfAbsent(value, keySet); if (previous != null) keySet = previous; return keySet; }
private Set<String> createOrGetKeySet( String value ) { String collectionName = collectionName(value); if (logger.isDebugEnabled()) { if (db.exists(collectionName)) { logger.debug("Reopening enum storage '{0}' for '{1}' index in workspace '{2}'", collectionName, name, workspace); } else { logger.debug("Creating enum storage '{0}' for '{1}' index in workspace '{2}'", collectionName, name, workspace); } } // Try to create the set ... Set<String> keySet = db.createHashSet(collectionName).counterEnable().makeOrGet(); // make sure this is ATOMIC ! Set<String> previous = nodeKeySetsByValue.putIfAbsent(value, keySet); if (previous != null) keySet = previous; return keySet; }
@Override public DistinctBuffer<T> make() { HTreeSetMaker maker = db(useHeap).createHashSet(name).serializer(serializer); if (keepsize) maker = maker.counterEnable(); Set<T> buffer = maker.make(); return new CloseableDistinctBuffer<T>(name, useHeap, buffer); } }
@Override public DistinctBuffer<T> make() { HTreeSetMaker maker = db(useHeap).createHashSet(name).serializer(serializer); if (keepsize) maker = maker.counterEnable(); Set<T> buffer = maker.make(); return new CloseableDistinctBuffer<T>(name, useHeap, buffer); } }