From 3bb62c6fae0930cfae98cf924d5f74df2d71be1a Mon Sep 17 00:00:00 2001 From: Kodai Doki <52027276+KodaiD@users.noreply.github.com> Date: Fri, 25 Jul 2025 09:45:00 +0000 Subject: [PATCH 1/2] Empty commit [skip ci] From b8624e5cb5d2bccaad1fa1fb1a7d72e709374fe8 Mon Sep 17 00:00:00 2001 From: Kodai Doki <52027276+KodaiD@users.noreply.github.com> Date: Fri, 25 Jul 2025 18:44:31 +0900 Subject: [PATCH 2/2] Resolve conflicts --- .../db/storage/cassandra/CassandraAdmin.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/scalar/db/storage/cassandra/CassandraAdmin.java b/core/src/main/java/com/scalar/db/storage/cassandra/CassandraAdmin.java index ca9f4c4264..851fb0ce33 100644 --- a/core/src/main/java/com/scalar/db/storage/cassandra/CassandraAdmin.java +++ b/core/src/main/java/com/scalar/db/storage/cassandra/CassandraAdmin.java @@ -226,7 +226,9 @@ private TableMetadata createTableMetadata(com.datastax.driver.core.TableMetadata ClusteringOrder clusteringOrder = metadata.getClusteringOrder().get(i); builder.addClusteringKey(clusteringColumnName, convertOrder(clusteringOrder)); } - metadata.getIndexes().forEach(i -> builder.addSecondaryIndex(i.getTarget())); + metadata + .getIndexes() + .forEach(i -> builder.addSecondaryIndex(unquoteIfNecessary(i.getTarget()))); return builder.build(); } @@ -326,8 +328,8 @@ public void addNewColumnToTable( } try { String alterTableQuery = - SchemaBuilder.alterTable(namespace, table) - .addColumn(columnName) + SchemaBuilder.alterTable(quoteIfNecessary(namespace), quoteIfNecessary(table)) + .addColumn(quoteIfNecessary(columnName)) .type(toCassandraDataType(columnType)) .getQueryString(); @@ -537,4 +539,14 @@ public String toString() { return strategyName; } } + + private String unquoteIfNecessary(String identifier) { + if (identifier == null) { + return null; + } + if (identifier.length() >= 2 && identifier.startsWith("\"") && identifier.endsWith("\"")) { + return identifier.substring(1, identifier.length() - 1).replace("\"\"", "\""); + } + return identifier; + } }