summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Database.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/Database.cpp')
-rw-r--r--cpp/src/IceGrid/Database.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp
index 3ac2f85eb3e..f6ec1d0f58c 100644
--- a/cpp/src/IceGrid/Database.cpp
+++ b/cpp/src/IceGrid/Database.cpp
@@ -48,7 +48,8 @@ Database::Database(const Ice::ObjectAdapterPtr& registryAdapter,
const IceStorm::TopicManagerPrx& topicManager,
const string& instanceName,
const TraceLevelsPtr& traceLevels,
- const RegistryInfo& info) :
+ const RegistryInfo& info,
+ bool readonly) :
_communicator(registryAdapter->getCommunicator()),
_internalAdapter(registryAdapter),
_topicManager(topicManager),
@@ -56,8 +57,9 @@ Database::Database(const Ice::ObjectAdapterPtr& registryAdapter,
_instanceName(instanceName),
_traceLevels(traceLevels),
_master(info.name == "Master"),
+ _readonly(readonly || !_master),
_replicaCache(_communicator, topicManager),
- _nodeCache(_communicator, _replicaCache, info.name),
+ _nodeCache(_communicator, _replicaCache, _readonly && _master ? string("Master (read-only)") : info.name),
_adapterCache(_communicator),
_objectCache(_communicator),
_allocatableObjectCache(_communicator),