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_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)