2016-07-18 17 views
1

Scheint zu sein, ich kann die richtige Syntax dafür nicht finden.Cassandra Alter Keyspace für Replikation

Version 1.1.4 Snapshot [cqlsh 2.2.0 | Kassandra unbekannt | CQL Spezifikation 3.0.0 | Thrift-Protokoll 19.32.0]

Ich kann einen neuen Schlüsselbereich mit den folgenden erstellen.

create keyspace something_interesting WITH strategie_class = 'NetworkTopologyStrategy' AND strategy_options: "99999" = 3 UND strategy_options: "44444" = 3 UND strategy_options: "66666" = 3;

Jedoch ALTER-TASTATUR "something_interesting" MIT REPLIKATION = {'class': 'NetworkTopologyStrategy', "66666": 1, "44444": 1};

Ergebnis in einem Syntaxfehler.

Antwort

1

Ich glaube, das Problem sind die doppelten Anführungszeichen auf die DC-Namen, die einfache Anführungszeichen sein sollten. Der folgende Befehl funktioniert für mich, wenn auch auf einer anderen CQL-Spezifikation (3.1.1).

ALTER KEYSPACE something_interesting WITH replication = {'class': 'NetworkTopologyStrategy', '66666':1, '44444':2}; 

Mit doppelten Anführungszeichen gibt den Fehler:

cqlsh> ALTER KEYSPACE something_interesting WITH replication = {'class': 'NetworkTopologyStrategy', "66666":1, "44444"2}; 
Bad Request: line 1:104 no viable alternative at input '44444' 
+0

Ungültige Syntax in Zeile 1, char 45, tut es scheint, die geschweifte Klammer zu mögen. es ist sehr merkwürdig –