def alter_keyspace(self, keyspace, replication_strategy=None, strategy_options=None, durable_writes=None): """ Alters an existing keyspace. .. warning:: Don't use this unless you know what you are doing. Parameters are the same as for :meth:`create_keyspace()`. """ old_ksdef = self._conn.describe_keyspace(keyspace) old_durable = getattr(old_ksdef, 'durable_writes', True) ksdef = KsDef(name=old_ksdef.name, strategy_class=old_ksdef.strategy_class, strategy_options=old_ksdef.strategy_options, cf_defs=[], durable_writes=old_durable) if replication_strategy is not None: if replication_strategy.find('.') == -1: ksdef.strategy_class = 'org.apache.cassandra.locator.%s' % replication_strategy else: ksdef.strategy_class = replication_strategy if strategy_options is not None: ksdef.strategy_options = strategy_options if durable_writes is not None: ksdef.durable_writes = durable_writes self._system_update_keyspace(ksdef)
def alter_keyspace(self, keyspace, replication_factor=None, replication_strategy=None, strategy_options=None): """ Alters an existing keyspace. .. warning:: Don't use this unless you know what you are doing. Parameters are the same as for :meth:`create_keyspace()`. """ old_ksdef = self._conn.describe_keyspace(keyspace) ksdef = KsDef(name=old_ksdef.name, strategy_class=old_ksdef.strategy_class, strategy_options=old_ksdef.strategy_options, replication_factor=old_ksdef.replication_factor, cf_defs=[]) if replication_strategy is not None: if replication_strategy.find('.') == -1: ksdef.strategy_class = 'org.apache.cassandra.locator.%s' % replication_strategy else: ksdef.strategy_class = replication_strategy if strategy_options is not None: ksdef.strategy_options = strategy_options if replication_factor is not None: ksdef.replication_factor = replication_factor if self._conn.version == CASSANDRA_08: ksdef = ksdef.to08() else: ksdef = ksdef.to07() self._system_update_keyspace(ksdef)
def alter_keyspace(self, keyspace, replication_strategy=None, strategy_options=None, durable_writes=None, **ks_kwargs): """ Alters an existing keyspace. .. warning:: Don't use this unless you know what you are doing. Parameters are the same as for :meth:`create_keyspace()`. """ old_ksdef = self._conn.describe_keyspace(keyspace) old_durable = getattr(old_ksdef, 'durable_writes', True) ksdef = KsDef(name=old_ksdef.name, strategy_class=old_ksdef.strategy_class, strategy_options=old_ksdef.strategy_options, cf_defs=[], durable_writes=old_durable) if replication_strategy is not None: if replication_strategy.find('.') == -1: ksdef.strategy_class = 'org.apache.cassandra.locator.%s' % replication_strategy else: ksdef.strategy_class = replication_strategy if strategy_options is not None: ksdef.strategy_options = strategy_options if durable_writes is not None: ksdef.durable_writes = durable_writes for k, v in ks_kwargs.iteritems(): setattr(ksdef, k, v) self._system_update_keyspace(ksdef)