Skip to content

Commit 4afcf2c

Browse files
committed
Fix token awareness for case-sensitive keyspaces (JAVA-526).
1 parent 8ecb7ad commit 4afcf2c

3 files changed

Lines changed: 30 additions & 1 deletion

File tree

driver-core/CHANGELOG.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
CHANGELOG
22
=========
33

4+
2.0.8:
5+
------
6+
- [bug] Fix token awareness for case-sensitive keyspaces (JAVA-526)
7+
8+
49
2.0.7:
510
------
611

driver-core/src/main/java/com/datastax/driver/core/DefaultPreparedStatement.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ static DefaultPreparedStatement fromMessage(Responses.Result.Prepared msg, Metad
5050

5151
List<ColumnMetadata> partitionKeyColumns = null;
5252
int[] pkIndexes = null;
53-
KeyspaceMetadata km = clusterMetadata.getKeyspace(defs.getKeyspace(0));
53+
KeyspaceMetadata km = clusterMetadata.getKeyspace(Metadata.quote(defs.getKeyspace(0)));
5454
if (km != null) {
5555
TableMetadata tm = km.getTable(defs.getTable(0));
5656
if (tm != null) {

driver-core/src/test/java/com/datastax/driver/core/PreparedStatementTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import java.util.*;
1919

2020
import org.testng.annotations.Test;
21+
22+
import static org.assertj.core.api.Assertions.assertThat;
2123
import static org.testng.Assert.assertEquals;
2224
import static org.testng.Assert.assertTrue;
2325

@@ -408,4 +410,26 @@ public void batchTest() throws Exception {
408410
throw e;
409411
}
410412
}
413+
414+
@Test(groups="short")
415+
public void should_set_routing_key_on_case_insensitive_keyspace() {
416+
session.execute("CREATE TABLE ks.foo (i int PRIMARY KEY)");
417+
418+
PreparedStatement ps = session.prepare("INSERT INTO ks.foo (i) VALUES (?)");
419+
BoundStatement bs = ps.bind(1);
420+
assertThat(bs.getRoutingKey()).isNotNull();
421+
}
422+
423+
@Test(groups="short")
424+
public void should_set_routing_key_on_case_sensitive_keyspace() {
425+
session.execute("CREATE KEYSPACE \"Test\" WITH replication = { "
426+
+ " 'class': 'SimpleStrategy',"
427+
+ " 'replication_factor': '1'"
428+
+ "}");
429+
session.execute("CREATE TABLE \"Test\".foo (i int PRIMARY KEY)");
430+
431+
PreparedStatement ps = session.prepare("INSERT INTO \"Test\".foo (i) VALUES (?)");
432+
BoundStatement bs = ps.bind(1);
433+
assertThat(bs.getRoutingKey()).isNotNull();
434+
}
411435
}

0 commit comments

Comments
 (0)